[INFO] fetching crate helixrouter 1.0.2... [INFO] testing helixrouter-1.0.2 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate helixrouter 1.0.2 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate helixrouter 1.0.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate helixrouter 1.0.2 [INFO] tweaked toml for crates.io crate helixrouter 1.0.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate helixrouter 1.0.2 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate helixrouter 1.0.2 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded matchers v0.2.0 [INFO] [stderr] Downloaded tracing-log v0.2.0 [INFO] [stderr] Downloaded nu-ansi-term v0.50.3 [INFO] [stderr] Downloaded thread_local v1.1.9 [INFO] [stderr] Downloaded valuable v0.1.1 [INFO] [stderr] Downloaded tokio-stream v0.1.18 [INFO] [stderr] Downloaded colorchoice v1.0.4 [INFO] [stderr] Downloaded once_cell_polyfill v1.70.2 [INFO] [stderr] Downloaded utf8parse v0.2.2 [INFO] [stderr] Downloaded is-terminal v0.4.17 [INFO] [stderr] Downloaded plotters-backend v0.3.7 [INFO] [stderr] Downloaded quick-error v1.2.3 [INFO] [stderr] Downloaded oorandom v11.1.5 [INFO] [stderr] Downloaded ciborium-ll v0.2.2 [INFO] [stderr] Downloaded ciborium-io v0.2.2 [INFO] [stderr] Downloaded axum-core v0.4.5 [INFO] [stderr] Downloaded anes v0.1.6 [INFO] [stderr] Downloaded axum-macros v0.4.2 [INFO] [stderr] Downloaded ryu v1.0.23 [INFO] [stderr] Downloaded rusty-fork v0.3.1 [INFO] [stderr] Downloaded tower v0.5.3 [INFO] [stderr] Downloaded js-sys v0.3.87 [INFO] [stderr] Downloaded itertools v0.10.5 [INFO] [stderr] Downloaded plotters v0.3.7 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] [stderr] Downloaded proptest v1.10.0 [INFO] [stderr] Downloaded axum v0.7.9 [INFO] [stderr] Downloaded tracing-subscriber v0.3.22 [INFO] [stderr] Downloaded zerocopy-derive v0.8.39 [INFO] [stderr] Downloaded criterion v0.5.1 [INFO] [stderr] Downloaded getrandom v0.4.1 [INFO] [stderr] Downloaded zerocopy v0.8.39 [INFO] [stderr] Downloaded socket2 v0.6.2 [INFO] [stderr] Downloaded half v2.7.1 [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded wasm-bindgen v0.2.110 [INFO] [stderr] Downloaded tempfile v3.25.0 [INFO] [stderr] Downloaded ciborium v0.2.2 [INFO] [stderr] Downloaded rustix v1.1.3 [INFO] [stderr] Downloaded anstream v0.6.21 [INFO] [stderr] Downloaded clap_derive v4.5.55 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.110 [INFO] [stderr] Downloaded rand_core v0.9.5 [INFO] [stderr] Downloaded anstyle-parse v0.2.7 [INFO] [stderr] Downloaded anstyle-wincon v3.0.11 [INFO] [stderr] Downloaded anstyle v1.0.13 [INFO] [stderr] Downloaded criterion-plot v0.5.0 [INFO] [stderr] Downloaded walkdir v2.5.0 [INFO] [stderr] Downloaded plotters-svg v0.3.7 [INFO] [stderr] Downloaded tinytemplate v1.2.1 [INFO] [stderr] Downloaded wait-timeout v0.2.1 [INFO] [stderr] Downloaded anstyle-query v1.1.5 [INFO] [stderr] Downloaded is_terminal_polyfill v1.70.2 [INFO] [stderr] Downloaded web-sys v0.3.87 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.110 [INFO] [stderr] Downloaded libc v0.2.182 [INFO] [stderr] Downloaded same-file v1.0.6 [INFO] [stderr] Downloaded bit-set v0.8.0 [INFO] [stderr] Downloaded bit-vec v0.8.0 [INFO] [stderr] Downloaded tokio v1.49.0 [INFO] [stderr] Downloaded clap_lex v1.0.0 [INFO] [stderr] Downloaded winapi-util v0.1.11 [INFO] [stderr] Downloaded rand_xorshift v0.4.0 [INFO] [stderr] Downloaded unarray v0.1.4 [INFO] [stderr] Downloaded cast v0.3.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.110 [INFO] [stderr] Downloaded sharded-slab v0.1.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6d8b4acf796a9df1e031808fcad7a0016969e97d20dbd00d51872d4df448d9ae [INFO] running `Command { std: "docker" "start" "-a" "6d8b4acf796a9df1e031808fcad7a0016969e97d20dbd00d51872d4df448d9ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d8b4acf796a9df1e031808fcad7a0016969e97d20dbd00d51872d4df448d9ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d8b4acf796a9df1e031808fcad7a0016969e97d20dbd00d51872d4df448d9ae", kill_on_drop: false }` [INFO] [stdout] 6d8b4acf796a9df1e031808fcad7a0016969e97d20dbd00d51872d4df448d9ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f421660c178281d3df5030fdaf2eced736ddb8feb4494aff40f46769ac82a01e [INFO] running `Command { std: "docker" "start" "-a" "f421660c178281d3df5030fdaf2eced736ddb8feb4494aff40f46769ac82a01e", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling axum-macros v0.4.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling helixrouter v1.0.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.58s [INFO] running `Command { std: "docker" "inspect" "f421660c178281d3df5030fdaf2eced736ddb8feb4494aff40f46769ac82a01e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f421660c178281d3df5030fdaf2eced736ddb8feb4494aff40f46769ac82a01e", kill_on_drop: false }` [INFO] [stdout] f421660c178281d3df5030fdaf2eced736ddb8feb4494aff40f46769ac82a01e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10806a55887788bc35a90740f8f67fe5d1b5e08b5ba94e4126180a465ef6d86d [INFO] running `Command { std: "docker" "start" "-a" "10806a55887788bc35a90740f8f67fe5d1b5e08b5ba94e4126180a465ef6d86d", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling helixrouter v1.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/router.rs:2126:13 [INFO] [stdout] | [INFO] [stdout] 2126 | let mut q = buf.lock().await; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `executed_seqs` [INFO] [stdout] --> src/router.rs:2106:13 [INFO] [stdout] | [INFO] [stdout] 2106 | let executed_seqs: Arc>> = Arc::new(StdMutex::new(Vec::new())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executed_seqs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConfigError` [INFO] [stdout] --> tests/coverage_gaps.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | config::{ConfigError, RouterConfig, RouterConfigPatch}, [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: `helixrouter::router::NeuralSnapshot` [INFO] [stdout] --> tests/coverage_gaps.rs:694:5 [INFO] [stdout] | [INFO] [stdout] 694 | use helixrouter::router::NeuralSnapshot; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `clone` is assigned to, but never used [INFO] [stdout] --> tests/autoscaler_tests.rs:408:9 [INFO] [stdout] | [INFO] [stdout] 408 | let mut clone = o.clone(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_clone` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `clone` is never read [INFO] [stdout] --> tests/autoscaler_tests.rs:409:5 [INFO] [stdout] | [INFO] [stdout] 409 | clone.total_jobs = 9999; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expensive_job` is never used [INFO] [stdout] --> tests/production_readiness_tests.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn expensive_job() -> Job { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/router.rs:2126:13 [INFO] [stdout] | [INFO] [stdout] 2126 | let mut q = buf.lock().await; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `executed_seqs` [INFO] [stdout] --> src/router.rs:2106:13 [INFO] [stdout] | [INFO] [stdout] 2106 | let executed_seqs: Arc>> = Arc::new(StdMutex::new(Vec::new())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executed_seqs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 53.79s [INFO] running `Command { std: "docker" "inspect" "10806a55887788bc35a90740f8f67fe5d1b5e08b5ba94e4126180a465ef6d86d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10806a55887788bc35a90740f8f67fe5d1b5e08b5ba94e4126180a465ef6d86d", kill_on_drop: false }` [INFO] [stdout] 10806a55887788bc35a90740f8f67fe5d1b5e08b5ba94e4126180a465ef6d86d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 01999ee42b0297a72b3f66395cf51a9608ba47130afda0304094017700ed5a75 [INFO] running `Command { std: "docker" "start" "-a" "01999ee42b0297a72b3f66395cf51a9608ba47130afda0304094017700ed5a75", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ConfigError` [INFO] [stderr] --> tests/coverage_gaps.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | config::{ConfigError, RouterConfig, RouterConfigPatch}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `helixrouter::router::NeuralSnapshot` [INFO] [stderr] --> tests/coverage_gaps.rs:694:5 [INFO] [stderr] | [INFO] [stderr] 694 | use helixrouter::router::NeuralSnapshot; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/router.rs:2126:13 [INFO] [stderr] | [INFO] [stderr] 2126 | let mut q = buf.lock().await; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `executed_seqs` [INFO] [stderr] --> src/router.rs:2106:13 [INFO] [stderr] | [INFO] [stderr] 2106 | let executed_seqs: Arc>> = Arc::new(StdMutex::new(Vec::new())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executed_seqs` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable `clone` is assigned to, but never used [INFO] [stderr] --> tests/autoscaler_tests.rs:408:9 [INFO] [stderr] | [INFO] [stderr] 408 | let mut clone = o.clone(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_clone` instead [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `clone` is never read [INFO] [stderr] --> tests/autoscaler_tests.rs:409:5 [INFO] [stderr] | [INFO] [stderr] 409 | clone.total_jobs = 9999; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `expensive_job` is never used [INFO] [stderr] --> tests/production_readiness_tests.rs:38:4 [INFO] [stderr] | [INFO] [stderr] 38 | fn expensive_job() -> Job { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `helixrouter` (test "coverage_gaps") generated 2 warnings (run `cargo fix --test "coverage_gaps" -p helixrouter` to apply 2 suggestions) [INFO] [stderr] warning: `helixrouter` (lib test) generated 2 warnings (run `cargo fix --lib -p helixrouter --tests` to apply 2 suggestions) [INFO] [stderr] warning: `helixrouter` (test "autoscaler_tests") generated 2 warnings [INFO] [stderr] warning: `helixrouter` (bin "helixrouter" test) generated 2 warnings (2 duplicates) [INFO] [stderr] warning: `helixrouter` (test "production_readiness_tests") generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/helixrouter-9c724325c4e521cb) [INFO] [stdout] [INFO] [stdout] running 314 tests [INFO] [stdout] test autoscaler::tests::autoscaler_config_defaults ... ok [INFO] [stdout] test autoscaler::tests::effective_horizon_stable_load_uses_full_horizon ... ok [INFO] [stdout] test autoscaler::tests::autoscale_recommendation_has_reason ... ok [INFO] [stdout] test autoscaler::tests::feed_increasing_helper_produces_positive_rate ... ok [INFO] [stdout] test autoscaler::tests::feed_low_load_helper_produces_low_rate ... ok [INFO] [stdout] test autoscaler::tests::autoscale_recommendation_direction_up ... ok [INFO] [stdout] test autoscaler::tests::high_drop_rate_contributes_to_up_recommendation ... ok [INFO] [stdout] test autoscaler::tests::latest_observation_returns_most_recent ... ok [INFO] [stdout] test autoscaler::tests::latest_observation_none_when_empty ... ok [INFO] [stdout] test autoscaler::tests::new_has_zero_observations ... ok [INFO] [stdout] test autoscaler::tests::observe_adds_entry ... ok [INFO] [stdout] test autoscaler::tests::observation_count_matches_observe_calls ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_finite_with_many_observations ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_negative_trend_clamps_to_zero ... ok [INFO] [stdout] test autoscaler::tests::observe_caps_at_ring_buffer_cap ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_positive_for_increasing_load ... ok [INFO] [stdout] test autoscaler::tests::rate_variance_grows_with_bursty_load ... ok [INFO] [stdout] test autoscaler::tests::rate_variance_zero_before_second_observation ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_returns_zero_with_no_observations ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_at_low_pressure_and_load ... ok [INFO] [stdout] test autoscaler::tests::observe_evicts_oldest_not_newest ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_returns_zero_with_one_observation ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_clamps_parallelism_at_min ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_decreases_queue_cap ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_with_two_observations_is_finite ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_skips_zero_dt_pairs_gracefully ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_zero_for_constant_load ... ok [INFO] [stdout] test autoscaler::tests::recommend_hold_at_medium_load ... ok [INFO] [stdout] test autoscaler::tests::recommend_hold_returns_current_values_unchanged ... ok [INFO] [stdout] test autoscaler::tests::recommend_predicted_rate_field_is_non_negative ... ok [INFO] [stdout] test autoscaler::tests::recommend_queue_cap_clamps_at_max ... ok [INFO] [stdout] test autoscaler::tests::recommend_queue_cap_clamps_at_min ... ok [INFO] [stdout] test autoscaler::tests::recommend_reason_string_not_empty ... ok [INFO] [stdout] test autoscaler::tests::recommend_returns_none_below_min_observations ... ok [INFO] [stdout] test autoscaler::tests::recommend_returns_some_at_min_observations ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_at_high_pressure ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_clamps_parallelism_at_max ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_increases_queue_cap ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_reason_contains_pressure_or_load ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_increases_with_load ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_is_finite_and_non_negative ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_is_zero_without_observations ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_down ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_hold ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_up ... ok [INFO] [stdout] test autoscaler::tests::smoothed_rate_positive_after_increasing_observations ... ok [INFO] [stdout] test autoscaler::tests::smoothed_rate_zero_before_any_observations ... ok [INFO] [stdout] test autoscaler::tests::two_autoscalers_independent ... ok [INFO] [stdout] test config::tests::test_adaptive_step_gt_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_adaptive_step_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_batch_max_size_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_batch_max_size_two_is_valid ... ok [INFO] [stdout] test config::tests::test_batch_max_size_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_config_error_debug ... ok [INFO] [stdout] test config::tests::test_config_error_display ... ok [INFO] [stdout] test config::tests::test_config_error_is_std_error ... ok [INFO] [stdout] test config::tests::test_config_error_mentions_fields ... ok [INFO] [stdout] test config::tests::test_config_missing_version_defaults_to_one ... ok [INFO] [stdout] test config::tests::test_config_partial_json_uses_defaults ... ok [INFO] [stdout] test config::tests::test_config_roundtrip_json ... ok [INFO] [stdout] test config::tests::test_config_version_roundtrips_json ... ok [INFO] [stdout] test config::tests::test_default_config_version_is_one ... ok [INFO] [stdout] test config::tests::test_default_field_values ... ok [INFO] [stdout] test config::tests::test_default_is_valid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_gt_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_one_is_valid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_default_is_true ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_false_is_valid ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_roundtrips_json ... ok [INFO] [stdout] test config::tests::test_inline_ge_spawn_is_invalid ... ok [INFO] [stdout] test config::tests::test_inline_gt_spawn_is_invalid ... ok [INFO] [stdout] test config::tests::test_inline_threshold_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_queue_cap_equal_to_parallelism_is_valid ... ok [INFO] [stdout] test config::tests::test_queue_cap_less_than_parallelism_is_invalid ... ok [INFO] [stdout] test config::tests::test_reloader_invalid_update_leaves_value_unchanged ... ok [INFO] [stdout] test config::tests::test_reloader_new_initial_value ... ok [INFO] [stdout] test config::tests::test_reloader_subscriber_sees_update ... ok [INFO] [stdout] test config::tests::test_reloader_update_invalid_err ... ok [INFO] [stdout] test config::tests::test_reloader_update_valid_ok ... ok [INFO] [stdout] test config::tests::test_spawn_threshold_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_validate_accepts_inline_strictly_below_spawn ... ok [INFO] [stdout] test config::tests::test_validate_edge_values ... ok [INFO] [stdout] test config::tests::test_validate_rejects_equal_inline_and_spawn_thresholds ... ok [INFO] [stdout] test config::tests::test_validate_rejects_inline_above_spawn ... ok [INFO] [stdout] test config::tests::test_zero_batch_max_size_is_invalid ... ok [INFO] [stdout] test config::tests::test_zero_cpu_parallelism_is_invalid ... ok [INFO] [stdout] test config::tests::test_zero_cpu_queue_cap_is_invalid ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_empty ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_single ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_sorted_100 ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_unsorted ... ok [INFO] [stdout] test metrics::tests::test_calc_percentile_p50 ... ok [INFO] [stdout] test metrics::tests::test_calc_percentile_p99 ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_empty_is_zero ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_multiple ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_single ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_circular_buffer_overwrites ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_count_increments ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_ema_first_equals_value ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_ema_smooths ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_min_max_multiple ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_min_max_single ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p50_monotone ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p95_multiple_samples ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p95_single_sample ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p99_larger_than_p95 ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p99_single_sample ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_sample_window_capped_at_512 ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_all_zero_is_zero ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_clamped_to_one ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_drop_rate_contributes ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_full_cpu_contributes ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_completed ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_latency ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_routed ... ok [INFO] [stdout] test neural_router::tests::avg_reward_negative_after_drops ... ok [INFO] [stdout] test neural_router::tests::avg_reward_positive_after_good_outcomes ... ok [INFO] [stdout] test neural_router::tests::avg_reward_zero_before_any_outcomes ... ok [INFO] [stdout] test neural_router::tests::choose_after_high_reward_shifts_toward_good_strategy ... ok [INFO] [stdout] test neural_router::tests::choose_consistent_with_score_all_high_weight ... ok [INFO] [stdout] test neural_router::tests::choose_epsilon_zero_always_picks_argmax ... ok [INFO] [stdout] test neural_router::tests::choose_never_drops_at_low_pressure ... ok [INFO] [stdout] test neural_router::tests::choose_returns_valid_strategy ... ok [INFO] [stdout] test neural_router::tests::feature_vector_all_fields_finite ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_clamped_above_max ... ok [INFO] [stdout] test neural_router::tests::choose_may_drop_at_high_pressure ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_one_for_max_budget ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_zero_for_zero_budget ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_clamped_above_max ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_one_for_max_cost ... ok [INFO] [stdout] test neural_router::tests::feature_vector_hashmix_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_montecarlo_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_length_is_seven ... ok [INFO] [stdout] test neural_router::tests::feature_vector_pressure_clamped_to_one ... ok [INFO] [stdout] test neural_router::tests::feature_vector_pressure_clamped_to_zero ... ok [INFO] [stdout] test neural_router::tests::feature_vector_primecount_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_zero_for_zero_cost ... ok [INFO] [stdout] test neural_router::tests::feature_vector_scaling_potential_preserved ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_after_restore_with_zero_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_before_min_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_just_below_threshold ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_above_threshold ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_after_restore_with_sufficient_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_at_exact_threshold ... ok [INFO] [stdout] test neural_router::tests::neural_config_epsilon_stored ... ok [INFO] [stdout] test neural_router::tests::neural_config_learning_rate_stored ... ok [INFO] [stdout] test neural_router::tests::neural_router_config_defaults ... ok [INFO] [stdout] test neural_router::tests::new_initializes_with_zero_samples ... ok [INFO] [stdout] test neural_router::tests::new_weights_are_small_magnitude ... ok [INFO] [stdout] test neural_router::tests::record_many_outcomes_weights_remain_finite ... ok [INFO] [stdout] test neural_router::tests::record_outcome_does_not_update_other_strategies_weights ... ok [INFO] [stdout] test neural_router::tests::record_outcome_dropped_gives_negative_reward ... ok [INFO] [stdout] test neural_router::tests::record_outcome_increments_sample_count ... ok [INFO] [stdout] test neural_router::tests::record_outcome_min_samples_before_learning_skips_update ... ok [INFO] [stdout] test neural_router::tests::record_outcome_over_budget_gives_negative_half_reward ... ok [INFO] [stdout] test neural_router::tests::record_outcome_reward_positive_for_within_budget ... ok [INFO] [stdout] test neural_router::tests::record_outcome_updates_weights_for_chosen_strategy ... ok [INFO] [stdout] test neural_router::tests::restore_loads_weights_into_fresh_router ... ok [INFO] [stdout] test neural_router::tests::restore_then_continue_training_accumulates_correctly ... ok [INFO] [stdout] test neural_router::tests::sample_count_matches_record_outcome_calls ... ok [INFO] [stdout] test neural_router::tests::score_all_after_positive_learning_biases_toward_chosen ... ok [INFO] [stdout] test neural_router::tests::score_all_differs_per_job_kind ... ok [INFO] [stdout] test neural_router::tests::score_all_returns_five_values ... ok [INFO] [stdout] test neural_router::tests::score_all_zero_features_gives_zero_scores_on_zeroed_weights ... ok [INFO] [stdout] test neural_router::tests::snapshot_of_untrained_router_has_zero_samples ... ok [INFO] [stdout] test neural_router::tests::snapshot_captures_weights_and_stats ... ok [INFO] [stdout] test neural_router::tests::snapshot_restore_round_trip_via_json ... ok [INFO] [stdout] test neural_router::tests::test_epsilon_decay_floors_at_0_01 ... ok [INFO] [stdout] test neural_router::tests::test_epsilon_decays_after_100_samples ... ok [INFO] [stdout] test neural_router::tests::test_no_decay_when_epsilon_decay_zero ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_does_not_lower_existing_sample_count ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_prefers_batch_for_high_scaling ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_prefers_inline_for_low_cost_job ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_sample_count_at_least_min_samples ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_sets_is_warmed_up ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_weight_matrix_shape_intact ... ok [INFO] [stdout] test neural_router::tests::test_weight_update_skips_inf_learning_rate ... ok [INFO] [stdout] test neural_router::tests::test_weight_update_skips_nan_reward ... ok [INFO] [stdout] test neural_router::tests::two_separate_routers_do_not_share_state ... ok [INFO] [stdout] test neural_router::tests::weights_returns_matrix_reference ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_does_not_decay_below_config_floor ... ok [INFO] [stdout] test router::tests::test_adaptive_decay_count_increments_on_decay ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_disabled_does_not_change ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_exponential_backoff ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_raises_when_p95_over_budget ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_backoff_resets_on_decay ... ok [INFO] [stdout] test router::tests::test_batch_counters_present_in_stats_snapshot ... ok [INFO] [stdout] test router::tests::test_batch_enqueued_counter_increments ... ok [INFO] [stdout] test router::tests::test_batch_flush_executes_in_seq_order ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_threshold_at_scaling_0_65 ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_under_backpressure_high_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_cpupool_when_high_cost_low_scaling ... ok [INFO] [stdout] test router::tests::test_autoscale_tick_runs_without_panic ... ok [INFO] [stdout] test router::tests::test_choose_strategy_drop_at_scaling_0_64 ... ok [INFO] [stdout] test router::tests::test_choose_strategy_drop_under_backpressure_low_scaling ... ok [INFO] [stdout] test router::tests::test_cpu_oversubscription_warning_does_not_panic ... ok [INFO] [stdout] test router::tests::test_choose_strategy_inline_when_low_cost ... ok [INFO] [stdout] test router::tests::test_cpu_pool_cancellation_flag_is_false_initially ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_when_high_cost_high_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_inline_at_exact_threshold ... ok [INFO] [stdout] test router::tests::test_choose_strategy_spawn_just_above_inline_threshold ... ok [INFO] [stdout] test router::tests::test_cpu_parallelism_at_available_cpus_no_oversubscription ... ok [INFO] [stdout] test router::tests::test_drop_decision_has_source_drop ... ok [INFO] [stdout] test router::tests::test_eot_pressure_blended_into_stats_snapshot ... ok [INFO] [stdout] test router::tests::test_choose_strategy_spawn_when_mid_cost ... ok [INFO] [stdout] test router::tests::test_eot_pressure_max_drops_all_low_scaling_jobs ... ok [INFO] [stdout] test router::tests::test_cpu_pool_job_completes_without_cancellation ... ok [INFO] [stdout] test router::tests::test_concurrent_config_patch_and_submit_no_panic ... ok [INFO] [stdout] test router::tests::test_eot_pressure_overwrite_replaces_previous ... ok [INFO] [stdout] test router::tests::test_eot_pressure_zero_by_default ... ok [INFO] [stdout] test router::tests::test_eot_pressure_included_in_neural_routing_pressure ... ok [INFO] [stdout] test router::tests::test_patch_config_adaptive_p95_threshold_factor ... ok [INFO] [stdout] test router::tests::test_patch_config_all_new_fields_at_once ... ok [INFO] [stdout] test router::tests::test_patch_config_backpressure_busy_threshold ... ok [INFO] [stdout] test router::tests::test_patch_config_batch_max_delay_ms ... ok [INFO] [stdout] test router::tests::test_patch_config_empty_patch_leaves_defaults ... ok [INFO] [stdout] test router::tests::test_patch_config_inline_ge_spawn_returns_err ... ok [INFO] [stdout] test router::tests::test_patch_config_invalid_does_not_mutate_live_config ... ok [INFO] [stdout] test router::tests::test_patch_config_very_large_spawn_threshold_validates ... ok [INFO] [stdout] test router::tests::test_patch_config_zero_cpu_parallelism_rejected ... ok [INFO] [stdout] test router::tests::test_patch_config_ema_alpha_out_of_range_returns_err ... ok [INFO] [stdout] test router::tests::test_router_latency_report_non_empty_after_work ... ok [INFO] [stdout] test router::tests::test_router_neural_is_warmed_up_at_construction ... ok [INFO] [stdout] test router::tests::test_restore_neural_weights_with_warm_snapshot ... ok [INFO] [stdout] test router::tests::test_router_drop_increments_dropped_counter ... ok [INFO] [stdout] test router::tests::test_router_adaptive_threshold_accessible ... ok [INFO] [stdout] test router::tests::test_router_routed_map_includes_inline ... ok [INFO] [stdout] test router::tests::test_restore_neural_weights_can_round_trip_snapshot ... ok [INFO] [stdout] test router::tests::test_router_submit_inline_returns_output ... ok [INFO] [stdout] test router::tests::test_router_submit_spawn_returns_output ... ok [INFO] [stdout] test router::tests::test_router_set_config_updates_inline_threshold ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_clamps_above_one ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_stores_and_reads_back ... ok [INFO] [stdout] test router::tests::test_routing_decision_has_non_empty_source ... ok [INFO] [stdout] test router::tests::test_zero_cost_job_routes_inline ... ok [INFO] [stdout] test simulator::tests::test_pressure_burst_ids_monotonic ... ok [INFO] [stdout] test simulator::tests::test_pressure_burst_total_count ... ok [INFO] [stdout] test simulator::tests::test_heavy_fraction_produces_heavy_jobs ... ok [INFO] [stdout] test simulator::tests::test_simulator_compute_cost_positive ... ok [INFO] [stdout] test router::tests::test_autoscale_tick_after_completed_jobs ... ok [INFO] [stdout] test router::tests::test_batch_seq_increments_per_entry ... ok [INFO] [stdout] test simulator::tests::test_simulator_deterministic ... ok [INFO] [stdout] test simulator::tests::test_simulator_inputs_nonempty ... ok [INFO] [stdout] test simulator::tests::test_simulator_latency_budget_positive ... ok [INFO] [stdout] test simulator::tests::test_simulator_all_job_kinds_represented ... ok [INFO] [stdout] test simulator::tests::test_simulator_ids_are_monotonic ... ok [INFO] [stdout] test simulator::tests::test_simulator_next_job_none_at_end ... ok [INFO] [stdout] test strategies::tests::test_hashmix_deterministic ... ok [INFO] [stdout] test strategies::tests::test_hashmix_different_inputs_differ ... ok [INFO] [stdout] test strategies::tests::test_hashmix_returns_u64 ... ok [INFO] [stdout] test simulator::tests::test_simulator_scaling_potential_in_range ... ok [INFO] [stdout] test simulator::tests::test_simulator_produces_correct_count ... ok [INFO] [stdout] test strategies::tests::test_primecount_known_value ... ok [INFO] [stdout] test strategies::tests::test_primecount_returns_u64 ... ok [INFO] [stdout] test types::tests::test_job_serializes_all_fields ... ok [INFO] [stdout] test types::tests::test_jobkind_display ... ok [INFO] [stdout] test strategies::tests::test_primecount_larger_n_more_primes ... ok [INFO] [stdout] test types::tests::test_jobkind_roundtrip_json ... ok [INFO] [stdout] test types::tests::test_output_f64_roundtrip ... ok [INFO] [stdout] test types::tests::test_output_u64_roundtrip ... ok [INFO] [stdout] test types::tests::test_pressure_snapshot_default_is_zero ... ok [INFO] [stdout] test types::tests::test_routing_decision_serializes ... ok [INFO] [stdout] test types::tests::test_strategy_display ... ok [INFO] [stdout] test types::tests::test_strategy_ord ... ok [INFO] [stdout] test types::tests::test_strategy_roundtrip_json ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_pressure ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_one ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_zero ... ok [INFO] [stdout] test router::tests::test_router_subscribe_decisions_receives_event ... ok [INFO] [stdout] test strategies::tests::test_execute_job_one_output ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_clamps_below_zero ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_returns_f64 ... ok [INFO] [stdout] test router::tests::test_router_concurrent_submits_all_complete ... ok [INFO] [stdout] test web::tests::test_health_response_status_is_ok ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_fails_on_missing_pressure ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_ignores_extra_fields ... ok [INFO] [stdout] test web::tests::test_health_response_uptime_is_non_negative ... ok [INFO] [stdout] test router::tests::test_router_stats_completed_increments ... ok [INFO] [stdout] test router::tests::test_router_submit_batch_returns_output ... ok [INFO] [stdout] test web::tests::test_health_response_serializes_to_json ... ok [INFO] [stdout] test web::tests::test_index_html_has_adaptive_threshold_display ... ok [INFO] [stdout] test web::tests::test_index_html_has_completed_counter ... ok [INFO] [stdout] test web::tests::test_index_html_has_api_stats_link ... ok [INFO] [stdout] test web::tests::test_index_html_has_dark_background ... ok [INFO] [stdout] test web::tests::test_index_html_has_bar_chart_classes ... ok [INFO] [stdout] test web::tests::test_index_html_has_decisions_feed_div ... ok [INFO] [stdout] test web::tests::test_index_html_has_donut_svg ... ok [INFO] [stdout] test web::tests::test_index_html_has_draw_donut_function ... ok [INFO] [stdout] test web::tests::test_index_html_has_dropped_counter ... ok [INFO] [stdout] test web::tests::test_index_html_has_latency_table ... ok [INFO] [stdout] test web::tests::test_index_html_has_legend_div ... ok [INFO] [stdout] test web::tests::test_index_html_has_metrics_link ... ok [INFO] [stdout] test web::tests::test_index_html_has_pressure_gauge ... ok [INFO] [stdout] test web::tests::test_index_html_has_sse_eventsource ... ok [INFO] [stdout] test web::tests::test_index_html_has_stats_polling ... ok [INFO] [stdout] test web::tests::test_index_html_has_strategy_color_map ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_result_in_range ... ok [INFO] [stdout] test web::tests::test_index_html_is_not_empty ... ok [INFO] [stdout] test web::tests::test_index_html_has_strategy_colors_for_all_strategies ... ok [INFO] [stdout] test web::tests::test_index_html_is_valid_utf8 ... ok [INFO] [stdout] test web::tests::test_index_html_no_inline_polling_via_setinterval_only_sse ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_different_ids_differ ... ok [INFO] [stdout] test web::tests::test_index_html_valid_html_structure ... ok [INFO] [stdout] test web::tests::test_neural_snapshot_schema_has_all_eot_fields ... ok [INFO] [stdout] test web::tests::test_neural_snapshot_weights_deserialise_as_nested_vec ... ok [INFO] [stdout] test router::tests::test_weight_snapshot_round_trips_via_router ... ok [INFO] [stdout] test web::tests::test_stats_response_schema_has_all_eot_fields ... ok [INFO] [stdout] test web::tests::test_stats_response_zero_state_serialises ... ok [INFO] [stdout] test web::tests::test_stats_response_strategy_names_are_snake_case ... ok [INFO] [stdout] test router::tests::test_batch_flushed_does_not_exceed_enqueued ... ok [INFO] [stdout] test router::tests::test_neural_warm_start_restore_maintains_routing_quality ... ok [INFO] [stdout] test config::tests::test_watch_config_callback_skips_invalid_config ... ok [INFO] [stdout] test config::tests::test_watch_config_callback_fires_on_valid_change ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 314 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/helixrouter-a37839200340ab61) [INFO] [stdout] [INFO] [stdout] running 314 tests [INFO] [stdout] test autoscaler::tests::autoscaler_config_defaults ... ok [INFO] [stdout] test autoscaler::tests::autoscale_recommendation_direction_up ... ok [INFO] [stdout] test autoscaler::tests::autoscale_recommendation_has_reason ... ok [INFO] [stdout] test autoscaler::tests::effective_horizon_stable_load_uses_full_horizon ... ok [INFO] [stdout] test autoscaler::tests::feed_low_load_helper_produces_low_rate ... ok [INFO] [stdout] test autoscaler::tests::feed_increasing_helper_produces_positive_rate ... ok [INFO] [stdout] test autoscaler::tests::high_drop_rate_contributes_to_up_recommendation ... ok [INFO] [stdout] test autoscaler::tests::latest_observation_none_when_empty ... ok [INFO] [stdout] test autoscaler::tests::latest_observation_returns_most_recent ... ok [INFO] [stdout] test autoscaler::tests::new_has_zero_observations ... ok [INFO] [stdout] test autoscaler::tests::observation_count_matches_observe_calls ... ok [INFO] [stdout] test autoscaler::tests::observe_adds_entry ... ok [INFO] [stdout] test autoscaler::tests::observe_caps_at_ring_buffer_cap ... ok [INFO] [stdout] test autoscaler::tests::observe_evicts_oldest_not_newest ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_finite_with_many_observations ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_negative_trend_clamps_to_zero ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_positive_for_increasing_load ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_returns_zero_with_no_observations ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_returns_zero_with_one_observation ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_skips_zero_dt_pairs_gracefully ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_with_two_observations_is_finite ... ok [INFO] [stdout] test autoscaler::tests::rate_variance_grows_with_bursty_load ... ok [INFO] [stdout] test autoscaler::tests::predict_rate_zero_for_constant_load ... ok [INFO] [stdout] test autoscaler::tests::rate_variance_zero_before_second_observation ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_at_low_pressure_and_load ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_clamps_parallelism_at_min ... ok [INFO] [stdout] test autoscaler::tests::recommend_down_decreases_queue_cap ... ok [INFO] [stdout] test autoscaler::tests::recommend_hold_at_medium_load ... ok [INFO] [stdout] test autoscaler::tests::recommend_hold_returns_current_values_unchanged ... ok [INFO] [stdout] test autoscaler::tests::recommend_predicted_rate_field_is_non_negative ... ok [INFO] [stdout] test autoscaler::tests::recommend_queue_cap_clamps_at_max ... ok [INFO] [stdout] test autoscaler::tests::recommend_queue_cap_clamps_at_min ... ok [INFO] [stdout] test autoscaler::tests::recommend_returns_none_below_min_observations ... ok [INFO] [stdout] test autoscaler::tests::recommend_returns_some_at_min_observations ... ok [INFO] [stdout] test autoscaler::tests::recommend_reason_string_not_empty ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_clamps_parallelism_at_max ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_at_high_pressure ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_increases_queue_cap ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_is_zero_without_observations ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_down ... ok [INFO] [stdout] test autoscaler::tests::recommend_up_reason_contains_pressure_or_load ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_increases_with_load ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_up ... ok [INFO] [stdout] test autoscaler::tests::smoothed_rate_positive_after_increasing_observations ... ok [INFO] [stdout] test autoscaler::tests::recommendation_predicted_rate_is_finite_and_non_negative ... ok [INFO] [stdout] test autoscaler::tests::smoothed_rate_zero_before_any_observations ... ok [INFO] [stdout] test autoscaler::tests::two_autoscalers_independent ... ok [INFO] [stdout] test config::tests::test_adaptive_step_gt_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_batch_max_size_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_batch_max_size_two_is_valid ... ok [INFO] [stdout] test autoscaler::tests::scale_direction_eq_hold ... ok [INFO] [stdout] test config::tests::test_config_error_debug ... ok [INFO] [stdout] test config::tests::test_batch_max_size_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_config_error_display ... ok [INFO] [stdout] test config::tests::test_config_error_is_std_error ... ok [INFO] [stdout] test config::tests::test_adaptive_step_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_config_missing_version_defaults_to_one ... ok [INFO] [stdout] test config::tests::test_config_partial_json_uses_defaults ... ok [INFO] [stdout] test config::tests::test_config_error_mentions_fields ... ok [INFO] [stdout] test config::tests::test_config_roundtrip_json ... ok [INFO] [stdout] test config::tests::test_config_version_roundtrips_json ... ok [INFO] [stdout] test config::tests::test_default_config_version_is_one ... ok [INFO] [stdout] test config::tests::test_default_field_values ... ok [INFO] [stdout] test config::tests::test_default_is_valid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_one_is_valid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_gt_one_is_invalid ... ok [INFO] [stdout] test config::tests::test_ema_alpha_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_default_is_true ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_false_is_valid ... ok [INFO] [stdout] test config::tests::test_inline_ge_spawn_is_invalid ... ok [INFO] [stdout] test config::tests::test_enable_adaptive_threshold_roundtrips_json ... ok [INFO] [stdout] test config::tests::test_inline_gt_spawn_is_invalid ... ok [INFO] [stdout] test config::tests::test_inline_threshold_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_queue_cap_equal_to_parallelism_is_valid ... ok [INFO] [stdout] test config::tests::test_queue_cap_less_than_parallelism_is_invalid ... ok [INFO] [stdout] test config::tests::test_reloader_invalid_update_leaves_value_unchanged ... ok [INFO] [stdout] test config::tests::test_reloader_new_initial_value ... ok [INFO] [stdout] test config::tests::test_reloader_subscriber_sees_update ... ok [INFO] [stdout] test config::tests::test_reloader_update_invalid_err ... ok [INFO] [stdout] test config::tests::test_reloader_update_valid_ok ... ok [INFO] [stdout] test config::tests::test_validate_accepts_inline_strictly_below_spawn ... ok [INFO] [stdout] test config::tests::test_spawn_threshold_zero_is_invalid ... ok [INFO] [stdout] test config::tests::test_validate_edge_values ... ok [INFO] [stdout] test config::tests::test_validate_rejects_equal_inline_and_spawn_thresholds ... ok [INFO] [stdout] test config::tests::test_validate_rejects_inline_above_spawn ... ok [INFO] [stdout] test config::tests::test_zero_batch_max_size_is_invalid ... ok [INFO] [stdout] test config::tests::test_zero_cpu_parallelism_is_invalid ... ok [INFO] [stdout] test config::tests::test_zero_cpu_queue_cap_is_invalid ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_empty ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_single ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_sorted_100 ... ok [INFO] [stdout] test metrics::tests::test_calc_p95_unsorted ... ok [INFO] [stdout] test metrics::tests::test_calc_percentile_p50 ... ok [INFO] [stdout] test metrics::tests::test_calc_percentile_p99 ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_empty_is_zero ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_single ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_circular_buffer_overwrites ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_avg_multiple ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_min_max_multiple ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p50_monotone ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_count_increments ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_ema_smooths ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_ema_first_equals_value ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p95_multiple_samples ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_all_zero_is_zero ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_clamped_to_one ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_min_max_single ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p95_single_sample ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_drop_rate_contributes ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p99_single_sample ... ok [INFO] [stdout] test metrics::tests::test_pressure_score_full_cpu_contributes ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_sample_window_capped_at_512 ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_completed ... ok [INFO] [stdout] test metrics::tests::test_latency_agg_p99_larger_than_p95 ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_latency ... ok [INFO] [stdout] test metrics::tests::test_prometheus_text_contains_routed ... ok [INFO] [stdout] test neural_router::tests::avg_reward_negative_after_drops ... ok [INFO] [stdout] test neural_router::tests::avg_reward_positive_after_good_outcomes ... ok [INFO] [stdout] test neural_router::tests::avg_reward_zero_before_any_outcomes ... ok [INFO] [stdout] test neural_router::tests::choose_after_high_reward_shifts_toward_good_strategy ... ok [INFO] [stdout] test neural_router::tests::choose_consistent_with_score_all_high_weight ... ok [INFO] [stdout] test neural_router::tests::choose_epsilon_zero_always_picks_argmax ... ok [INFO] [stdout] test neural_router::tests::choose_may_drop_at_high_pressure ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_one_for_max_budget ... ok [INFO] [stdout] test neural_router::tests::choose_never_drops_at_low_pressure ... ok [INFO] [stdout] test neural_router::tests::choose_returns_valid_strategy ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_zero_for_zero_budget ... ok [INFO] [stdout] test neural_router::tests::feature_vector_budget_norm_clamped_above_max ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_clamped_above_max ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_one_for_max_cost ... ok [INFO] [stdout] test neural_router::tests::feature_vector_all_fields_finite ... ok [INFO] [stdout] test neural_router::tests::feature_vector_cost_norm_zero_for_zero_cost ... ok [INFO] [stdout] test neural_router::tests::feature_vector_hashmix_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_length_is_seven ... ok [INFO] [stdout] test neural_router::tests::feature_vector_montecarlo_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_pressure_clamped_to_one ... ok [INFO] [stdout] test neural_router::tests::feature_vector_pressure_clamped_to_zero ... ok [INFO] [stdout] test neural_router::tests::feature_vector_primecount_onehot ... ok [INFO] [stdout] test neural_router::tests::feature_vector_scaling_potential_preserved ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_after_restore_with_zero_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_before_min_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_false_just_below_threshold ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_above_threshold ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_after_restore_with_sufficient_samples ... ok [INFO] [stdout] test neural_router::tests::is_warmed_up_true_at_exact_threshold ... ok [INFO] [stdout] test neural_router::tests::neural_router_config_defaults ... ok [INFO] [stdout] test neural_router::tests::neural_config_learning_rate_stored ... ok [INFO] [stdout] test neural_router::tests::neural_config_epsilon_stored ... ok [INFO] [stdout] test neural_router::tests::new_weights_are_small_magnitude ... ok [INFO] [stdout] test neural_router::tests::new_initializes_with_zero_samples ... ok [INFO] [stdout] test neural_router::tests::record_outcome_does_not_update_other_strategies_weights ... ok [INFO] [stdout] test neural_router::tests::record_many_outcomes_weights_remain_finite ... ok [INFO] [stdout] test neural_router::tests::record_outcome_increments_sample_count ... ok [INFO] [stdout] test neural_router::tests::restore_loads_weights_into_fresh_router ... ok [INFO] [stdout] test neural_router::tests::record_outcome_dropped_gives_negative_reward ... ok [INFO] [stdout] test neural_router::tests::record_outcome_min_samples_before_learning_skips_update ... ok [INFO] [stdout] test neural_router::tests::restore_then_continue_training_accumulates_correctly ... ok [INFO] [stdout] test neural_router::tests::record_outcome_over_budget_gives_negative_half_reward ... ok [INFO] [stdout] test neural_router::tests::record_outcome_reward_positive_for_within_budget ... ok [INFO] [stdout] test neural_router::tests::sample_count_matches_record_outcome_calls ... ok [INFO] [stdout] test neural_router::tests::record_outcome_updates_weights_for_chosen_strategy ... ok [INFO] [stdout] test neural_router::tests::score_all_after_positive_learning_biases_toward_chosen ... ok [INFO] [stdout] test neural_router::tests::score_all_differs_per_job_kind ... ok [INFO] [stdout] test neural_router::tests::score_all_returns_five_values ... ok [INFO] [stdout] test neural_router::tests::score_all_zero_features_gives_zero_scores_on_zeroed_weights ... ok [INFO] [stdout] test neural_router::tests::snapshot_captures_weights_and_stats ... ok [INFO] [stdout] test neural_router::tests::snapshot_of_untrained_router_has_zero_samples ... ok [INFO] [stdout] test neural_router::tests::snapshot_restore_round_trip_via_json ... ok [INFO] [stdout] test neural_router::tests::test_epsilon_decay_floors_at_0_01 ... ok [INFO] [stdout] test neural_router::tests::test_epsilon_decays_after_100_samples ... ok [INFO] [stdout] test neural_router::tests::test_no_decay_when_epsilon_decay_zero ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_does_not_lower_existing_sample_count ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_prefers_batch_for_high_scaling ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_prefers_inline_for_low_cost_job ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_sample_count_at_least_min_samples ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_sets_is_warmed_up ... ok [INFO] [stdout] test neural_router::tests::test_warm_start_weight_matrix_shape_intact ... ok [INFO] [stdout] test neural_router::tests::test_weight_update_skips_inf_learning_rate ... ok [INFO] [stdout] test neural_router::tests::test_weight_update_skips_nan_reward ... ok [INFO] [stdout] test neural_router::tests::two_separate_routers_do_not_share_state ... ok [INFO] [stdout] test neural_router::tests::weights_returns_matrix_reference ... ok [INFO] [stdout] test router::tests::test_adaptive_decay_count_increments_on_decay ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_backoff_resets_on_decay ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_disabled_does_not_change ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_exponential_backoff ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_raises_when_p95_over_budget ... ok [INFO] [stdout] test router::tests::test_adaptive_threshold_does_not_decay_below_config_floor ... ok [INFO] [stdout] test router::tests::test_autoscale_tick_runs_without_panic ... ok [INFO] [stdout] test router::tests::test_batch_counters_present_in_stats_snapshot ... ok [INFO] [stdout] test router::tests::test_batch_enqueued_counter_increments ... ok [INFO] [stdout] test router::tests::test_batch_flush_executes_in_seq_order ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_threshold_at_scaling_0_65 ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_under_backpressure_high_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_batch_when_high_cost_high_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_cpupool_when_high_cost_low_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_drop_at_scaling_0_64 ... ok [INFO] [stdout] test router::tests::test_choose_strategy_drop_under_backpressure_low_scaling ... ok [INFO] [stdout] test router::tests::test_choose_strategy_inline_at_exact_threshold ... ok [INFO] [stdout] test router::tests::test_choose_strategy_inline_when_low_cost ... ok [INFO] [stdout] test router::tests::test_choose_strategy_spawn_just_above_inline_threshold ... ok [INFO] [stdout] test router::tests::test_choose_strategy_spawn_when_mid_cost ... ok [INFO] [stdout] test router::tests::test_cpu_oversubscription_warning_does_not_panic ... ok [INFO] [stdout] test router::tests::test_cpu_pool_cancellation_flag_is_false_initially ... ok [INFO] [stdout] test router::tests::test_concurrent_config_patch_and_submit_no_panic ... ok [INFO] [stdout] test router::tests::test_cpu_parallelism_at_available_cpus_no_oversubscription ... ok [INFO] [stdout] test router::tests::test_drop_decision_has_source_drop ... ok [INFO] [stdout] test router::tests::test_cpu_pool_job_completes_without_cancellation ... ok [INFO] [stdout] test router::tests::test_eot_pressure_blended_into_stats_snapshot ... ok [INFO] [stdout] test router::tests::test_eot_pressure_included_in_neural_routing_pressure ... ok [INFO] [stdout] test router::tests::test_eot_pressure_max_drops_all_low_scaling_jobs ... ok [INFO] [stdout] test router::tests::test_eot_pressure_overwrite_replaces_previous ... ok [INFO] [stdout] test router::tests::test_eot_pressure_zero_by_default ... ok [INFO] [stdout] test router::tests::test_patch_config_adaptive_p95_threshold_factor ... ok [INFO] [stdout] test router::tests::test_patch_config_all_new_fields_at_once ... ok [INFO] [stdout] test router::tests::test_patch_config_backpressure_busy_threshold ... ok [INFO] [stdout] test router::tests::test_patch_config_batch_max_delay_ms ... ok [INFO] [stdout] test router::tests::test_patch_config_ema_alpha_out_of_range_returns_err ... ok [INFO] [stdout] test router::tests::test_patch_config_empty_patch_leaves_defaults ... ok [INFO] [stdout] test router::tests::test_patch_config_inline_ge_spawn_returns_err ... ok [INFO] [stdout] test router::tests::test_patch_config_invalid_does_not_mutate_live_config ... ok [INFO] [stdout] test router::tests::test_patch_config_very_large_spawn_threshold_validates ... ok [INFO] [stdout] test router::tests::test_patch_config_zero_cpu_parallelism_rejected ... ok [INFO] [stdout] test router::tests::test_restore_neural_weights_with_warm_snapshot ... ok [INFO] [stdout] test router::tests::test_router_adaptive_threshold_accessible ... ok [INFO] [stdout] test router::tests::test_router_drop_increments_dropped_counter ... ok [INFO] [stdout] test router::tests::test_restore_neural_weights_can_round_trip_snapshot ... ok [INFO] [stdout] test router::tests::test_router_latency_report_non_empty_after_work ... ok [INFO] [stdout] test router::tests::test_router_neural_is_warmed_up_at_construction ... ok [INFO] [stdout] test router::tests::test_router_set_config_updates_inline_threshold ... ok [INFO] [stdout] test router::tests::test_router_submit_inline_returns_output ... ok [INFO] [stdout] test router::tests::test_router_routed_map_includes_inline ... ok [INFO] [stdout] test router::tests::test_router_submit_spawn_returns_output ... ok [INFO] [stdout] test router::tests::test_router_subscribe_decisions_receives_event ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_clamps_above_one ... ok [INFO] [stdout] test router::tests::test_routing_decision_has_non_empty_source ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_stores_and_reads_back ... ok [INFO] [stdout] test router::tests::test_set_eot_pressure_clamps_below_zero ... ok [INFO] [stdout] test router::tests::test_zero_cost_job_routes_inline ... ok [INFO] [stdout] test router::tests::test_autoscale_tick_after_completed_jobs ... ok [INFO] [stdout] test simulator::tests::test_pressure_burst_ids_monotonic ... ok [INFO] [stdout] test simulator::tests::test_pressure_burst_total_count ... ok [INFO] [stdout] test router::tests::test_batch_seq_increments_per_entry ... ok [INFO] [stdout] test simulator::tests::test_simulator_compute_cost_positive ... ok [INFO] [stdout] test simulator::tests::test_simulator_ids_are_monotonic ... ok [INFO] [stdout] test simulator::tests::test_simulator_inputs_nonempty ... ok [INFO] [stdout] test simulator::tests::test_heavy_fraction_produces_heavy_jobs ... ok [INFO] [stdout] test simulator::tests::test_simulator_deterministic ... ok [INFO] [stdout] test simulator::tests::test_simulator_latency_budget_positive ... ok [INFO] [stdout] test simulator::tests::test_simulator_next_job_none_at_end ... ok [INFO] [stdout] test simulator::tests::test_simulator_all_job_kinds_represented ... ok [INFO] [stdout] test simulator::tests::test_simulator_produces_correct_count ... ok [INFO] [stdout] test simulator::tests::test_simulator_scaling_potential_in_range ... ok [INFO] [stdout] test strategies::tests::test_hashmix_deterministic ... ok [INFO] [stdout] test strategies::tests::test_hashmix_different_inputs_differ ... ok [INFO] [stdout] test strategies::tests::test_hashmix_returns_u64 ... ok [INFO] [stdout] test strategies::tests::test_primecount_known_value ... ok [INFO] [stdout] test types::tests::test_job_serializes_all_fields ... ok [INFO] [stdout] test strategies::tests::test_primecount_returns_u64 ... ok [INFO] [stdout] test types::tests::test_jobkind_roundtrip_json ... ok [INFO] [stdout] test types::tests::test_output_f64_roundtrip ... ok [INFO] [stdout] test types::tests::test_output_u64_roundtrip ... ok [INFO] [stdout] test types::tests::test_pressure_snapshot_default_is_zero ... ok [INFO] [stdout] test types::tests::test_routing_decision_serializes ... ok [INFO] [stdout] test strategies::tests::test_primecount_larger_n_more_primes ... ok [INFO] [stdout] test types::tests::test_strategy_display ... ok [INFO] [stdout] test types::tests::test_strategy_ord ... ok [INFO] [stdout] test types::tests::test_strategy_roundtrip_json ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_one ... ok [INFO] [stdout] test types::tests::test_jobkind_display ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_pressure ... ok [INFO] [stdout] test router::tests::test_router_concurrent_submits_all_complete ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_result_in_range ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_returns_f64 ... ok [INFO] [stdout] test strategies::tests::test_execute_job_one_output ... ok [INFO] [stdout] test router::tests::test_router_stats_completed_increments ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_deserializes_zero ... ok [INFO] [stdout] test router::tests::test_router_submit_batch_returns_output ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_fails_on_missing_pressure ... ok [INFO] [stdout] test web::tests::test_eot_telemetry_ignores_extra_fields ... ok [INFO] [stdout] test web::tests::test_health_response_serializes_to_json ... ok [INFO] [stdout] test web::tests::test_health_response_status_is_ok ... ok [INFO] [stdout] test web::tests::test_health_response_uptime_is_non_negative ... ok [INFO] [stdout] test web::tests::test_index_html_has_adaptive_threshold_display ... ok [INFO] [stdout] test web::tests::test_index_html_has_api_stats_link ... ok [INFO] [stdout] test web::tests::test_index_html_has_bar_chart_classes ... ok [INFO] [stdout] test web::tests::test_index_html_has_completed_counter ... ok [INFO] [stdout] test web::tests::test_index_html_has_dark_background ... ok [INFO] [stdout] test router::tests::test_weight_snapshot_round_trips_via_router ... ok [INFO] [stdout] test web::tests::test_index_html_has_decisions_feed_div ... ok [INFO] [stdout] test web::tests::test_index_html_has_donut_svg ... ok [INFO] [stdout] test web::tests::test_index_html_has_draw_donut_function ... ok [INFO] [stdout] test web::tests::test_index_html_has_dropped_counter ... ok [INFO] [stdout] test web::tests::test_index_html_has_latency_table ... ok [INFO] [stdout] test web::tests::test_index_html_has_legend_div ... ok [INFO] [stdout] test web::tests::test_index_html_has_metrics_link ... ok [INFO] [stdout] test web::tests::test_index_html_has_pressure_gauge ... ok [INFO] [stdout] test web::tests::test_index_html_has_sse_eventsource ... ok [INFO] [stdout] test web::tests::test_index_html_has_stats_polling ... ok [INFO] [stdout] test web::tests::test_index_html_has_strategy_color_map ... ok [INFO] [stdout] test web::tests::test_index_html_has_strategy_colors_for_all_strategies ... ok [INFO] [stdout] test web::tests::test_index_html_is_not_empty ... ok [INFO] [stdout] test web::tests::test_index_html_is_valid_utf8 ... ok [INFO] [stdout] test web::tests::test_index_html_no_inline_polling_via_setinterval_only_sse ... ok [INFO] [stdout] test strategies::tests::test_montecarlo_different_ids_differ ... ok [INFO] [stdout] test web::tests::test_index_html_valid_html_structure ... ok [INFO] [stdout] test web::tests::test_neural_snapshot_schema_has_all_eot_fields ... ok [INFO] [stdout] test web::tests::test_neural_snapshot_weights_deserialise_as_nested_vec ... ok [INFO] [stdout] test web::tests::test_stats_response_schema_has_all_eot_fields ... ok [INFO] [stdout] test web::tests::test_stats_response_strategy_names_are_snake_case ... ok [INFO] [stdout] test web::tests::test_stats_response_zero_state_serialises ... ok [INFO] [stdout] test router::tests::test_batch_flushed_does_not_exceed_enqueued ... ok [INFO] [stdout] test router::tests::test_neural_warm_start_restore_maintains_routing_quality ... ok [INFO] [stdout] test config::tests::test_watch_config_callback_skips_invalid_config ... ok [INFO] [stdout] test config::tests::test_watch_config_callback_fires_on_valid_change ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 314 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/autoscaler_tests.rs (/opt/rustwide/target/debug/deps/autoscaler_tests-9c5519509e5f516b) [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test high_then_low_load_eventually_recommends_scale_down ... ok [INFO] [stdout] test load_observation_eq_different_timestamp ... ok [INFO] [stdout] test load_observation_eq_same_values ... ok [INFO] [stdout] test load_observation_clone_is_independent ... ok [INFO] [stdout] test latest_observation_tracks_most_recently_added ... ok [INFO] [stdout] test config_min_one_observation_allows_immediate_recommendation ... ok [INFO] [stdout] test config_max_parallelism_one_never_exceeds_one ... ok [INFO] [stdout] test config_min_queue_cap_floor_respected_when_already_at_min ... ok [INFO] [stdout] test load_observation_fields_accessible ... ok [INFO] [stdout] test predict_rate_matches_known_slope ... ok [INFO] [stdout] test predict_rate_two_observations_positive_slope ... ok [INFO] [stdout] test predict_rate_never_negative ... ok [INFO] [stdout] test predict_rate_with_identical_timestamps_does_not_panic ... ok [INFO] [stdout] test ramp_then_spike_causes_scale_up ... ok [INFO] [stdout] test recommend_hold_reason_non_empty ... ok [INFO] [stdout] test recommend_down_reason_non_empty ... ok [INFO] [stdout] test recommend_idempotent_same_observations ... ok [INFO] [stdout] test recommend_predicted_rate_is_non_negative ... ok [INFO] [stdout] test recommend_returns_none_before_min_observations ... ok [INFO] [stdout] test recommend_up_reason_contains_pressure_when_pressure_high ... ok [INFO] [stdout] test recommend_up_when_drop_rate_high_even_at_low_pressure ... ok [INFO] [stdout] test recommended_queue_cap_never_below_min_queue_cap ... ok [INFO] [stdout] test recommended_parallelism_never_below_min_parallelism ... ok [INFO] [stdout] test recommended_queue_cap_never_exceeds_max_queue_cap ... ok [INFO] [stdout] test ring_buffer_evicts_oldest_observation ... ok [INFO] [stdout] test scale_down_queue_cap_decreases_by_20_percent ... ok [INFO] [stdout] test scale_up_parallelism_increments_by_one ... ok [INFO] [stdout] test scale_up_direction_means_parallelism_increases_or_stays_same ... ok [INFO] [stdout] test scale_up_queue_cap_increases_by_25_percent ... ok [INFO] [stdout] test scale_down_parallelism_decrements_by_one ... ok [INFO] [stdout] test recommended_parallelism_never_exceeds_max_parallelism ... ok [INFO] [stdout] test scale_down_direction_means_parallelism_decreases_or_stays_same ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/config_tests.rs (/opt/rustwide/target/debug/deps/config_tests-7ebf1101132aebfc) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test test_adaptive_step_one_is_valid ... ok [INFO] [stdout] test test_config_clone_equality ... ok [INFO] [stdout] test test_config_debug_not_empty ... ok [INFO] [stdout] test test_batch_max_size_zero_is_invalid ... ok [INFO] [stdout] test test_adaptive_step_zero_is_invalid ... ok [INFO] [stdout] test test_config_json_contains_ema_alpha_field ... ok [INFO] [stdout] test test_adaptive_step_gt_one_is_invalid ... ok [INFO] [stdout] test test_batch_max_size_1_is_rejected_by_validate ... ok [INFO] [stdout] test test_config_json_contains_inline_threshold_field ... ok [INFO] [stdout] test test_cpu_parallelism_zero_is_invalid ... ok [INFO] [stdout] test test_default_field_inline_threshold ... ok [INFO] [stdout] test test_cpu_queue_cap_zero_is_invalid ... ok [INFO] [stdout] test test_default_field_spawn_threshold ... ok [INFO] [stdout] test test_default_cpu_parallelism_positive ... ok [INFO] [stdout] test test_default_ema_alpha_in_range ... ok [INFO] [stdout] test test_default_config_validates_successfully ... ok [INFO] [stdout] test test_config_json_roundtrip_preserves_all_fields ... ok [INFO] [stdout] test test_config_partial_json_uses_serde_defaults ... ok [INFO] [stdout] test test_default_field_cpu_parallelism ... ok [INFO] [stdout] test test_edge_case_cpu_queue_cap_one_valid ... ok [INFO] [stdout] test test_default_inline_threshold_is_reasonable ... ok [INFO] [stdout] test test_inline_equal_spawn_is_invalid ... ok [INFO] [stdout] test test_edge_case_batch_max_size_one_valid ... ok [INFO] [stdout] test test_inline_greater_than_spawn_is_invalid ... ok [INFO] [stdout] test test_edge_case_batch_max_size_two_is_minimum_valid ... ok [INFO] [stdout] test test_modified_config_not_equal_to_default ... ok [INFO] [stdout] test test_ema_alpha_zero_is_invalid ... ok [INFO] [stdout] test test_ema_alpha_gt_one_is_invalid ... ok [INFO] [stdout] test test_inline_threshold_just_below_spawn_is_valid ... ok [INFO] [stdout] test test_default_spawn_threshold_greater_than_inline ... ok [INFO] [stdout] test test_hot_reload_invalid_config_rejected_and_live_config_unchanged ... ok [INFO] [stdout] test test_multiple_invalid_fields_first_error_returned ... ok [INFO] [stdout] test test_ema_alpha_one_is_valid ... ok [INFO] [stdout] test test_validation_error_cpu_parallelism_mentions_field ... ok [INFO] [stdout] test test_validation_error_ema_alpha_mentions_field ... ok [INFO] [stdout] test test_validation_error_mentions_invalid_field ... ok [INFO] [stdout] test test_validation_error_is_string ... ok [INFO] [stdout] test test_batch_max_size_2_minimum_valid_routes_jobs ... ok [INFO] [stdout] test test_hot_reload_while_jobs_in_flight_no_deadlock ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/coverage_gaps.rs (/opt/rustwide/target/debug/deps/coverage_gaps-c2617d5dbc4aada2) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test config_cpu_parallelism_zero_is_invalid ... ok [INFO] [stdout] test config_adaptive_step_exactly_one_is_valid ... ok [INFO] [stdout] test config_batch_max_size_zero_is_invalid ... ok [INFO] [stdout] test config_ema_alpha_exactly_one_is_valid ... ok [INFO] [stdout] test choose_strategy_drops_at_exactly_busy_threshold ... ok [INFO] [stdout] test choose_strategy_routes_normally_one_below_busy_threshold ... ok [INFO] [stdout] test choose_strategy_batches_at_exactly_busy_threshold_with_high_scaling ... ok [INFO] [stdout] test config_adaptive_step_above_one_is_invalid ... ok [INFO] [stdout] test config_inline_threshold_zero_is_invalid ... ok [INFO] [stdout] test config_cpu_queue_cap_less_than_parallelism_is_invalid ... ok [INFO] [stdout] test config_inline_equals_spawn_is_invalid ... ok [INFO] [stdout] test autoscaler_holds_between_high_and_low_water_marks ... ok [INFO] [stdout] test autoscaler_hysteresis_no_immediate_oscillation ... ok [INFO] [stdout] test autoscaler_scales_up_at_exactly_high_water_mark ... ok [INFO] [stdout] test config_negative_like_ema_alpha_zero_is_invalid ... ok [INFO] [stdout] test config_spawn_threshold_zero_is_invalid ... ok [INFO] [stdout] test autoscaler_scales_down_at_exactly_low_water_mark ... ok [INFO] [stdout] test neural_router_all_zero_job_returns_valid_strategy ... ok [INFO] [stdout] test config_missing_inline_threshold_fails_deserialization ... ok [INFO] [stdout] test neural_router_choose_at_exact_drop_pressure_threshold_does_not_panic ... ok [INFO] [stdout] test neural_router_feature_vector_all_zero_job_is_in_range ... ok [INFO] [stdout] test neural_router_feature_vector_saturated_inputs_in_range ... ok [INFO] [stdout] test neural_router_feature_vector_pressure_one_maps_to_one ... ok [INFO] [stdout] test neural_router_feature_vector_pressure_zero_maps_to_zero ... ok [INFO] [stdout] test strategy_all_five_variants_are_reachable ... ok [INFO] [stdout] test strategy_batch_selected_for_heavy_high_scaling_job ... ok [INFO] [stdout] test neural_router_record_outcome_zero_cost_job_does_not_panic ... ok [INFO] [stdout] test strategy_spawn_selected_for_medium_job ... ok [INFO] [stdout] test strategy_inline_selected_for_cheap_job ... ok [INFO] [stdout] test strategy_drop_selected_under_backpressure_low_scaling ... ok [INFO] [stdout] test strategy_cpupool_selected_for_heavy_low_scaling_job ... ok [INFO] [stdout] test router_drops_jobs_when_threshold_zero_and_low_scaling ... ok [INFO] [stdout] test web_config_patch_valid_changes_only_specified_fields ... ok [INFO] [stdout] test web_config_patch_invalid_leaves_config_unchanged ... ok [INFO] [stdout] test web_neural_snapshot_has_all_required_fields ... ok [INFO] [stdout] test web_stats_snapshot_zero_state_is_consistent ... ok [INFO] [stdout] test router_patch_config_rejects_invalid_config ... ok [INFO] [stdout] test router_patch_config_accepts_valid_patch ... ok [INFO] [stdout] test router_drops_all_low_scaling_jobs_at_max_backpressure ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-191f1f8e6f716056) [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test test_eot_pressure_clamped_above_one ... ok [INFO] [stdout] test test_eot_pressure_set_and_read ... ok [INFO] [stdout] test test_adaptive_threshold_exposed_in_stats ... ok [INFO] [stdout] test test_backpressure_high_scaling_does_not_drop ... ok [INFO] [stdout] test test_eot_pressure_clamped_below_zero ... ok [INFO] [stdout] test test_config_reload_affects_routing ... ok [INFO] [stdout] test test_inline_jobs_produce_u64_output ... ok [INFO] [stdout] test test_empty_inputs_job_does_not_panic ... ok [INFO] [stdout] test test_autoscale_tick_does_not_panic_without_observations ... ok [INFO] [stdout] test test_eot_pressure_defaults_to_zero ... ok [INFO] [stdout] test test_eot_pressure_reflected_in_stats_snapshot ... ok [INFO] [stdout] test test_patch_config_inline_ge_spawn_rejected ... ok [INFO] [stdout] test test_patch_config_invalid_ema_alpha_rejected ... ok [INFO] [stdout] test test_neural_snapshot_weights_dimensions ... ok [INFO] [stdout] test test_max_cost_job_is_accounted_for ... ok [INFO] [stdout] test test_neural_snapshot_epsilon_in_range ... ok [INFO] [stdout] test test_decisions_broadcast_on_every_submit ... ok [INFO] [stdout] test test_patch_config_valid_update_applied ... ok [INFO] [stdout] test test_strategy_spawn_returns_correct_output ... ok [INFO] [stdout] test test_strategy_inline_returns_correct_output ... ok [INFO] [stdout] test test_100_concurrent_jobs_all_resolve ... ok [INFO] [stdout] test test_simulator_all_jobs_valid ... ok [INFO] [stdout] test test_zero_cost_job_routes_inline ... ok [INFO] [stdout] test test_uptime_non_decreasing ... ok [INFO] [stdout] test test_backpressure_causes_drops ... ok [INFO] [stdout] test test_primecount_inline_produces_known_count ... ok [INFO] [stdout] test test_full_sim_completes_all_inline_jobs ... ok [INFO] [stdout] test test_latency_report_populated_after_work ... ok [INFO] [stdout] test test_montecarlo_inline_produces_f64 ... ok [INFO] [stdout] test test_full_sim_via_simulator ... ok [INFO] [stdout] test test_autoscale_tick_after_load_keeps_config_valid ... ok [INFO] [stdout] test test_routed_by_strategy_sums_to_total ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s [INFO] [stdout] [INFO] [stderr] Running tests/metrics_tests.rs (/opt/rustwide/target/debug/deps/metrics_tests-4f4b682619aeddbe) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test test_latency_agg_ema_first_equals_value ... ok [INFO] [stdout] test test_latency_agg_avg_two_samples ... ok [INFO] [stdout] test test_latency_agg_ema_smooths_correctly ... ok [INFO] [stdout] test test_latency_agg_sum_accumulates ... ok [INFO] [stdout] test test_latency_agg_p95_even_distribution ... ok [INFO] [stdout] test test_latency_agg_zero_count_avg_is_zero ... ok [INFO] [stdout] test test_latency_agg_single_record_count_1 ... ok [INFO] [stdout] test test_latency_agg_p95_single_element ... ok [INFO] [stdout] test test_latency_agg_sample_window_capped ... ok [INFO] [stdout] test test_latency_summaries_avg_correct ... ok [INFO] [stdout] test test_latency_summaries_count_matches ... ok [INFO] [stdout] test test_latency_summaries_empty_when_no_data ... ok [INFO] [stdout] test test_latency_summaries_sorted_alphabetically ... ok [INFO] [stdout] test test_metrics_store_latency_for_multiple_strategies ... ok [INFO] [stdout] test test_pressure_tracker_no_drop_low_score ... ok [INFO] [stdout] test test_pressure_tracker_score_bounded_above_one ... ok [INFO] [stdout] test test_pressure_tracker_score_non_negative ... ok [INFO] [stdout] test test_prometheus_text_empty_routed_valid ... ok [INFO] [stdout] test test_prometheus_text_has_type_annotations ... ok [INFO] [stdout] test test_metrics_store_same_strategy_accumulates ... ok [INFO] [stdout] test test_prometheus_text_latency_p95_included ... ok [INFO] [stdout] test test_pressure_tracker_full_load_score_approaches_one ... ok [INFO] [stdout] test test_pressure_tracker_drop_affects_score ... ok [INFO] [stdout] test test_pressure_tracker_initial_score_zero ... ok [INFO] [stdout] test test_prometheus_text_multiple_strategies ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/neural_router_tests.rs (/opt/rustwide/target/debug/deps/neural_router_tests-7b2c8d87e93e13f4) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test avg_reward_is_mean_of_individual_rewards ... ok [INFO] [stdout] test avg_reward_improves_after_correct_routing_training ... ok [INFO] [stdout] test cold_start_becomes_warm_after_min_samples ... ok [INFO] [stdout] test cold_start_returns_valid_strategy_with_zero_samples ... ok [INFO] [stdout] test drift_detection_reward_falls_after_strategy_quality_reversal ... ok [INFO] [stdout] test cold_start_is_not_warmed_up_below_min_samples ... ok [INFO] [stdout] test drift_detection_weights_adapt_after_reversal ... ok [INFO] [stdout] test epsilon_zero_deterministic_for_same_job_id ... ok [INFO] [stdout] test greedy_never_picks_drop_below_drop_pressure_threshold ... ok [INFO] [stdout] test greedy_picks_drop_when_pressure_high_and_drop_has_max_weight ... ok [INFO] [stdout] test router_avoids_negatively_reinforced_strategy ... ok [INFO] [stdout] test per_job_kind_routing_diversifies_over_time ... ok [INFO] [stdout] test router_chooses_dominant_strategy_after_training ... ok [INFO] [stdout] test sample_count_increments_on_every_record_outcome ... ok [INFO] [stdout] test epsilon_one_router_visits_all_strategies_over_many_calls ... ok [INFO] [stdout] test training_on_one_job_kind_does_not_change_scores_for_another_kind ... ok [INFO] [stdout] test weights_all_finite_after_many_mixed_outcomes ... ok [INFO] [stdout] test weights_change_after_warm_up_period ... ok [INFO] [stdout] test weights_matrix_has_correct_dimensions ... ok [INFO] [stdout] test weights_unchanged_during_warm_up_period ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/production_readiness_tests.rs (/opt/rustwide/target/debug/deps/production_readiness_tests-0939df2e84f22705) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test autoscaler_parallelism_stays_within_bounds ... ok [INFO] [stdout] test neural_router_avg_reward_tracks_positive_outcomes ... ok [INFO] [stdout] test autoscaler_recommends_scale_up_under_sustained_spike ... ok [INFO] [stdout] test autoscaler_recommends_scale_down_after_spike_subsides ... ok [INFO] [stdout] test autoscaler_returns_none_before_min_observations ... ok [INFO] [stdout] test neural_router_cold_start_does_not_recommend_drop ... ok [INFO] [stdout] test neural_router_does_not_prefer_drop_after_positive_training ... ok [INFO] [stdout] test neural_router_converges_toward_rewarded_strategy ... ok [INFO] [stdout] test backpressure_drops_when_queue_cap_is_zero ... ok [INFO] [stdout] test backpressure_no_drops_when_all_jobs_go_inline ... ok [INFO] [stdout] test backpressure_stats_dropped_count_is_consistent ... ok [INFO] [stdout] test config_hot_reload_propagates_file_change_to_callback ... ok [INFO] [stdout] test config_hot_reload_rejects_invalid_config_silently ... ok [INFO] [stdout] test config_hot_reload_does_not_panic_under_concurrent_access ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s [INFO] [stdout] [INFO] [stderr] Running tests/property_tests.rs (/opt/rustwide/target/debug/deps/property_tests-449636bd40e00289) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test strategy_result_is_deterministic ... ok [INFO] [stdout] test routing_always_produces_valid_strategy ... ok [INFO] [stdout] test cheap_jobs_go_inline_when_no_backpressure ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s [INFO] [stdout] [INFO] [stderr] Running tests/router_api_tests.rs (/opt/rustwide/target/debug/deps/router_api_tests-fae698b166f9bbae) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test test_choose_strategy_batch_under_backpressure_with_high_scaling ... ok [INFO] [stdout] test test_choose_strategy_drop_under_full_backpressure ... ok [INFO] [stdout] test test_pressure_burst_ids_are_monotonic ... ok [INFO] [stdout] test test_choose_strategy_inline_external ... ok [INFO] [stdout] test test_pressure_burst_burst_phase_is_heavy ... ok [INFO] [stdout] test test_pressure_burst_produces_correct_total ... ok [INFO] [stdout] test test_simulator_next_job_on_zero_total_is_none ... ok [INFO] [stdout] test test_pressure_is_zero_on_idle_router ... ok [INFO] [stdout] test test_restore_neural_weights_modifies_snapshot ... ok [INFO] [stdout] test test_pressure_increases_with_eot_signal ... ok [INFO] [stdout] test test_simulator_zero_jobs_returns_empty ... ok [INFO] [stdout] test test_ema_latency_populated_after_inline_submit ... ok [INFO] [stdout] test test_ema_latency_empty_on_fresh_router ... ok [INFO] [stdout] test test_routing_log_empty_on_fresh_router ... ok [INFO] [stdout] test test_restore_neural_weights_survives_submit ... ok [INFO] [stdout] test test_routing_log_populated_after_submit ... ok [INFO] [stdout] test test_update_config_field_cpu_parallelism ... ok [INFO] [stdout] test test_update_config_field_cpu_queue_cap ... ok [INFO] [stdout] test test_update_config_field_inline_threshold ... ok [INFO] [stdout] test test_update_config_field_known_field_returns_true ... ok [INFO] [stdout] test test_update_config_field_spawn_threshold ... ok [INFO] [stdout] test test_update_config_field_unknown_field_returns_false ... ok [INFO] [stdout] test test_routing_log_capped_at_50 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/sse_tests.rs (/opt/rustwide/target/debug/deps/sse_tests-e1e29cc98a192d77) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_sse_multiple_subscribers_independent ... ok [INFO] [stdout] test test_sse_no_subscribers_router_runs_normally ... ok [INFO] [stdout] test test_sse_fast_subscriber_receives_all_events ... ok [INFO] [stdout] test test_sse_late_subscriber_misses_prior_events ... ok [INFO] [stdout] test test_sse_lagged_subscriber_receives_lagged_error ... ok [INFO] [stderr] Running tests/stress_tests.rs (/opt/rustwide/target/debug/deps/stress_tests-fcf486fc62a786fc) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test stress_concurrent_patch_config ... ok [INFO] [stdout] test stress_subscribe_unsubscribe_broadcast ... ok [INFO] [stdout] test stress_submit_concurrent_with_config_reload ... ok [INFO] [stdout] test stress_500_concurrent_all_strategies ... ok [INFO] [stderr] Running tests/types_tests.rs (/opt/rustwide/target/debug/deps/types_tests-fc1d81e900400891) [INFO] [stdout] test stress_concurrent_reads_do_not_race ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test test_jk_clone ... ok [INFO] [stdout] test test_jk_copy ... ok [INFO] [stdout] test test_jk_eq ... ok [INFO] [stdout] test test_jk_hashmix_disp ... ok [INFO] [stdout] test test_jk_hashmap ... ok [INFO] [stdout] test test_jk_montecarlorisk_disp ... ok [INFO] [stdout] test test_jk_montecarlorisk_json ... ok [INFO] [stdout] test test_jk_primecount_disp ... ok [INFO] [stdout] test test_jk_primecount_json ... ok [INFO] [stdout] test test_make_decision_fields ... ok [INFO] [stdout] test test_jk_unique ... ok [INFO] [stdout] test test_make_job_fields ... ok [INFO] [stdout] test test_jk_hashmix_json ... ok [INFO] [stdout] test test_strategy_batch_display ... ok [INFO] [stdout] test test_strategy_batch_json ... ok [INFO] [stdout] test test_strategy_clone ... ok [INFO] [stdout] test test_strategy_copy ... ok [INFO] [stdout] test test_strategy_cpupool_display ... ok [INFO] [stdout] test test_strategy_cpupool_json ... ok [INFO] [stdout] test test_strategy_drop_display ... ok [INFO] [stdout] test test_strategy_drop_json ... ok [INFO] [stdout] test test_strategy_eq ... ok [INFO] [stdout] test test_strategy_hashmap ... ok [INFO] [stdout] test test_strategy_inline_display ... ok [INFO] [stdout] test test_strategy_inline_json ... ok [INFO] [stdout] test test_strategy_ne ... ok [INFO] [stdout] test test_strategy_ord ... ok [INFO] [stdout] test test_strategy_sort ... ok [INFO] [stdout] test test_strategy_spawn_display ... ok [INFO] [stdout] test test_strategy_spawn_json ... ok [INFO] [stderr] Running tests/types_tests_test.rs (/opt/rustwide/target/debug/deps/types_tests_test-f2c48a8469ae64a0) [INFO] [stdout] test test_strategy_unique ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_job_clone ... ok [INFO] [stdout] test test_pressure_snapshot_fields ... ok [INFO] [stdout] test test_routing_decision_strategy_field ... ok [INFO] [stdout] test test_output_variants_distinct ... ok [INFO] [stdout] test test_strategy_all_variants_in_hashset ... ok [INFO] [stdout] test test_strategy_in_hashmap_routed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests helixrouter [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/config.rs - config::watch_config_with_callback (line 378) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 26) - compile ... ok [INFO] [stdout] test src/neural_router.rs - neural_router::WeightSnapshot (line 681) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "01999ee42b0297a72b3f66395cf51a9608ba47130afda0304094017700ed5a75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01999ee42b0297a72b3f66395cf51a9608ba47130afda0304094017700ed5a75", kill_on_drop: false }` [INFO] [stdout] 01999ee42b0297a72b3f66395cf51a9608ba47130afda0304094017700ed5a75