[INFO] fetching crate ruvllm 0.2.3...
[INFO] checking ruvllm-0.2.3 against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097
[INFO] extracting crate ruvllm 0.2.3 into /workspace/builds/worker-6-tc2/source
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate ruvllm 0.2.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ruvllm 0.2.3
[INFO] tweaked toml for crates.io crate ruvllm 0.2.3 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ruvllm 0.2.3 on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ruvllm 0.2.3 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" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fbeb50a4d19e0f3079b73703a407c6d2701ec09d32cbf934219791c42272e072
[INFO] running `Command { std: "docker" "start" "-a" "fbeb50a4d19e0f3079b73703a407c6d2701ec09d32cbf934219791c42272e072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbeb50a4d19e0f3079b73703a407c6d2701ec09d32cbf934219791c42272e072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbeb50a4d19e0f3079b73703a407c6d2701ec09d32cbf934219791c42272e072", kill_on_drop: false }`
[INFO] [stdout] fbeb50a4d19e0f3079b73703a407c6d2701ec09d32cbf934219791c42272e072
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9248f36df3a615795eb49d2bd69461739caa36fff2a50e56e2d5dd284a026034
[INFO] running `Command { std: "docker" "start" "-a" "9248f36df3a615795eb49d2bd69461739caa36fff2a50e56e2d5dd284a026034", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking memoffset v0.7.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking jiff v0.2.16
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking cpu-time v1.0.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling redb v2.6.3
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking roaring v0.10.12
[INFO] [stderr]     Checking rustix v1.1.2
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking nom_locate v4.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling simsimd v5.9.11
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking anndists v0.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ptr_meta_derive v0.3.1
[INFO] [stderr]     Checking ptr_meta v0.3.1
[INFO] [stderr]     Checking rancor v0.1.1
[INFO] [stderr]    Compiling bytecheck_derive v0.8.2
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling munge_macro v0.4.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking bytecheck v0.8.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]    Compiling rkyv_derive v0.8.12
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking sysctl v0.5.5
[INFO] [stderr]     Checking munge v0.4.7
[INFO] [stderr]     Checking rend v0.5.3
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking mmap-rs v0.6.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking moka v0.12.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking hnsw_rs v0.3.3
[INFO] [stderr]     Checking proptest v1.9.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking ruvector-attention v0.1.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking rkyv v0.8.12
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking ruvector-core v0.1.22
[INFO] [stderr]     Checking ruvector-graph v0.1.25
[INFO] [stderr]     Checking ruvector-gnn v0.1.25
[INFO] [stderr]     Checking ruvllm v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/learning.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{Error, Result};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> src/memory.rs:717:7
[INFO] [stdout]     |
[INFO] [stdout] 717 | #[cfg(feature = "simd")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `axum`, `byteorder`, `candle-core`, `candle-nn`, `candle-transformers`, `default`, `dirs`, `full`, `half`, `hf-export`, `hf-hub`, `memmap2`, `metrics`, `napi`, `prometheus`, `real-inference`, `ruvector-sona`, `server`, `storage`, `tokenizers`, `tower`, and `tower-http`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> src/memory.rs:724:11
[INFO] [stdout]     |
[INFO] [stdout] 724 | #[cfg(not(feature = "simd"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `axum`, `byteorder`, `candle-core`, `candle-nn`, `candle-transformers`, `default`, `dirs`, `full`, `half`, `hf-export`, `hf-hub`, `memmap2`, `metrics`, `napi`, `prometheus`, `real-inference`, `ruvector-sona`, `server`, `storage`, `tokenizers`, `tower`, and `tower-http`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeType` and `NodeType`
[INFO] [stdout]  --> src/memory.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{EdgeType, MemoryEdge, MemoryNode, NodeType};
[INFO] [stdout]   |                    ^^^^^^^^                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]   --> src/memory.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::{BinaryHeap, HashMap, HashSet};
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/orchestrator.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::error::{Error, Result};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]   --> src/router.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{Array1, Array2, Axis};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error`, `InferenceError`, and `Result`
[INFO] [stdout]  --> src/simd_inference.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Error, InferenceError, Result};
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::ModelSize`
[INFO] [stdout]  --> src/simd_inference.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::ModelSize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView1`, `ArrayView2`, `Axis`, and `s`
[INFO] [stdout]  --> src/simd_inference.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array2, ArrayView1, ArrayView2, Axis, s};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/simd_inference.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InstantLoopConfig`
[INFO] [stdout]  --> src/sona/loops/coordinator.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::sona::loops::instant::{InstantLoop, InstantLoopConfig};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/sona/loops/coordinator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sona::lora::MicroLoRA`
[INFO] [stdout]  --> src/sona/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sona::lora::MicroLoRA;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> src/sona/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/sona/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KvCache`, `Q4Weights`, `SimdGenerationConfig`, and `TransformerLayer`
[INFO] [stdout]   --> src/training.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     SimdOps, Q4Weights, TransformerLayer, SmallTransformer,
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     SimpleTokenizer, KvCache, SimdGenerationConfig,
[INFO] [stdout]    |                      ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]   --> src/training.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{Array1, Array2};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]   --> src/training.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parking_lot::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/training.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/learning.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{Error, Result};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> src/memory.rs:717:7
[INFO] [stdout]     |
[INFO] [stdout] 717 | #[cfg(feature = "simd")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `axum`, `byteorder`, `candle-core`, `candle-nn`, `candle-transformers`, `default`, `dirs`, `full`, `half`, `hf-export`, `hf-hub`, `memmap2`, `metrics`, `napi`, `prometheus`, `real-inference`, `ruvector-sona`, `server`, `storage`, `tokenizers`, `tower`, and `tower-http`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `simd`
[INFO] [stdout]    --> src/memory.rs:724:11
[INFO] [stdout]     |
[INFO] [stdout] 724 | #[cfg(not(feature = "simd"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `axum`, `byteorder`, `candle-core`, `candle-nn`, `candle-transformers`, `default`, `dirs`, `full`, `half`, `hf-export`, `hf-hub`, `memmap2`, `metrics`, `napi`, `prometheus`, `real-inference`, `ruvector-sona`, `server`, `storage`, `tokenizers`, `tower`, and `tower-http`
[INFO] [stdout]     = help: consider adding `simd` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/orchestrator.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::error::{Error, Result};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/orchestrator.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]   --> src/router.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{Array1, Array2, Axis};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error`, `InferenceError`, and `Result`
[INFO] [stdout]  --> src/simd_inference.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Error, InferenceError, Result};
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::ModelSize`
[INFO] [stdout]  --> src/simd_inference.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::ModelSize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView1`, `ArrayView2`, `Axis`, and `s`
[INFO] [stdout]  --> src/simd_inference.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array2, ArrayView1, ArrayView2, Axis, s};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/simd_inference.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InstantLoopConfig`
[INFO] [stdout]  --> src/sona/loops/coordinator.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::sona::loops::instant::{InstantLoop, InstantLoopConfig};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/sona/loops/coordinator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sona::lora::MicroLoRA`
[INFO] [stdout]  --> src/sona/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sona::lora::MicroLoRA;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> src/sona/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/sona/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sona::types::TrajectoryStep`
[INFO] [stdout]    --> src/sona/engine.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     use crate::sona::types::TrajectoryStep;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KvCache`, `Q4Weights`, `SimdGenerationConfig`, and `TransformerLayer`
[INFO] [stdout]   --> src/training.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     SimdOps, Q4Weights, TransformerLayer, SmallTransformer,
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     SimpleTokenizer, KvCache, SimdGenerationConfig,
[INFO] [stdout]    |                      ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]   --> src/training.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{Array1, Array2};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]   --> src/training.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parking_lot::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/training.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]   --> src/router.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]   --> src/training.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]   --> src/compression.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub async fn detect_clusters(&self, memory: &MemoryService) -> Result<Vec<Cluster>> {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/learning.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (tx, mut rx) = mpsc::channel::<()>(1);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `router`
[INFO] [stdout]   --> src/learning.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let router = self.router.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_size`
[INFO] [stdout]    --> src/router.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let context_size = self.output_heads.w_context.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut max_vec = unsafe { _mm256_set1_ps(f32::NEG_INFINITY) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:156:27
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut max_val = unsafe {
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:170:29
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let max_broadcast = unsafe { _mm256_set1_ps(max_val) };
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:202:27
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let inv_sum_vec = unsafe { _mm256_set1_ps(inv_sum) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut sum_sq_vec = unsafe { _mm256_setzero_ps() };
[INFO] [stdout]     |                              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:277:26
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut sum_sq = unsafe {
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let inv_rms_vec = unsafe { _mm256_set1_ps(inv_rms) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/simd_inference.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 557 |             for (i, (score, v_vec)) in scores.iter().zip(v.iter()).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]   --> src/training.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]   --> src/router.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]   --> src/compression.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub async fn detect_clusters(&self, memory: &MemoryService) -> Result<Vec<Cluster>> {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/learning.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (tx, mut rx) = mpsc::channel::<()>(1);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `router`
[INFO] [stdout]   --> src/learning.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let router = self.router.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_router`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/training.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |     let start = Instant::now();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_size`
[INFO] [stdout]    --> src/router.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let context_size = self.output_heads.w_context.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut max_vec = unsafe { _mm256_set1_ps(f32::NEG_INFINITY) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:156:27
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut max_val = unsafe {
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:170:29
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let max_broadcast = unsafe { _mm256_set1_ps(max_val) };
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:202:27
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let inv_sum_vec = unsafe { _mm256_set1_ps(inv_sum) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut sum_sq_vec = unsafe { _mm256_setzero_ps() };
[INFO] [stdout]     |                              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:277:26
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut sum_sq = unsafe {
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/simd_inference.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let inv_rms_vec = unsafe { _mm256_set1_ps(inv_rms) };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/simd_inference.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 557 |             for (i, (score, v_vec)) in scores.iter().zip(v.iter()).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]     --> src/simd_inference.rs:1004:14
[INFO] [stdout]      |
[INFO] [stdout] 1004 |         let (output, tokens, time_ms) = engine.generate("Hello", &config, None);
[INFO] [stdout]      |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_cluster_size`, `min_edge_density`, and `summary_template` are never read
[INFO] [stdout]   --> src/compression.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CompressionService {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 23 |     /// Minimum cluster size
[INFO] [stdout] 24 |     min_cluster_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     /// Minimum edge density
[INFO] [stdout] 26 |     min_edge_density: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// Summarization prompt template
[INFO] [stdout] 28 |     summary_template: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pad` is never read
[INFO] [stdout]   --> src/embedding.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct SpecialTokens {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 48 |     pad: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecialTokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/inference.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct MockModel {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 97 |     size: ModelSize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `replay_buffer` and `ewc` are never read
[INFO] [stdout]   --> src/learning.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LearningService {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     replay_buffer: RwLock<ReplayBuffer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     /// EWC state
[INFO] [stdout] 27 |     ewc: RwLock<EWCState>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capacity` and `total_seen` are never read
[INFO] [stdout]   --> src/learning.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct ReplayBuffer {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 37 |     entries: Vec<RouterSample>,
[INFO] [stdout] 38 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     total_seen: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReplayBuffer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fisher_info`, `optimal_weights`, and `lambda` are never read
[INFO] [stdout]   --> src/learning.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct EWCState {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 45 |     /// Fisher information diagonal
[INFO] [stdout] 46 |     fisher_info: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 47 |     /// Optimal weights from previous task
[INFO] [stdout] 48 |     optimal_weights: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     /// Lambda regularization strength
[INFO] [stdout] 50 |     lambda: f32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EWCState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `sample` are never used
[INFO] [stdout]    --> src/learning.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl ReplayBuffer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 253 |     fn add(&mut self, sample: RouterSample) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn sample(&self, batch_size: usize) -> Vec<&RouterSample> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `regularization_loss` is never used
[INFO] [stdout]    --> src/learning.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl EWCState {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 276 |     fn regularization_loss(&self, current_weights: &[f32]) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_connections` is never read
[INFO] [stdout]   --> src/memory.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct HnswLayer {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     max_connections: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `metrics` is never read
[INFO] [stdout]   --> src/orchestrator.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RuvLLM {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     metrics: Arc<Metrics>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_counter`, `latency_histogram`, and `quality_gauge` are never read
[INFO] [stdout]    --> src/orchestrator.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 357 | struct Metrics {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 358 |     request_counter: prometheus::IntCounter,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 359 |     latency_histogram: prometheus::Histogram,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 360 |     quality_gauge: prometheus::Gauge,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vocab_size` and `hidden_dim` are never read
[INFO] [stdout]    --> src/simd_inference.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub struct SmallTransformer {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     vocab_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 632 |     /// Hidden dimension
[INFO] [stdout] 633 |     hidden_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]   --> src/sona/lora.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     stats: MicroLoRAStats,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MicroLoRA` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trajectory_id` is never read
[INFO] [stdout]   --> src/sona/reasoning_bank.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct TrajectoryEntry {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     trajectory_id: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TrajectoryEntry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/sona/loops/coordinator.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LoopCoordinator {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 15 |     /// Configuration
[INFO] [stdout] 16 |     config: SonaConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vocab_size` is never read
[INFO] [stdout]   --> src/training.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct TrainingDataset {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     vocab_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 |     EdgeNotFound { src: String, dst: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:33
[INFO] [stdout]    |
[INFO] [stdout] 73 |     EdgeNotFound { src: String, dst: String },
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidFeatures { expected: usize, actual: usize },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidFeatures { expected: usize, actual: usize },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ContextTooLong { length: usize, max: usize },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ContextTooLong { length: usize, max: usize },
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub distance_std: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub distance_min: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub distance_max: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/memory.rs:725:1
[INFO] [stdout]     |
[INFO] [stdout] 725 | pub fn cosine_distance(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/router.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn record_forward(&self, model: ModelSize) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/router.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_model_distribution(&self) -> [f64; 4] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/router.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn new(param_shapes: &[usize], lr: f32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/router.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn step(&mut self, params: &mut [Array1<f32>], grads: &[Array1<f32>]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 631 |     pub total_loss: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:632:5
[INFO] [stdout]     |
[INFO] [stdout] 632 |     pub model_accuracy: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:633:5
[INFO] [stdout]     |
[INFO] [stdout] 633 |     pub context_accuracy: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:634:5
[INFO] [stdout]     |
[INFO] [stdout] 634 |     pub samples_processed: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     pub fn new_random(hidden_dim: usize, num_heads: usize, ffn_dim: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:514:5
[INFO] [stdout]     |
[INFO] [stdout] 514 |     pub fn forward(&self, x: &[f32], kv_cache: Option<&mut KvCache>, pos: usize) -> Vec<f32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 |     pub keys: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:597:5
[INFO] [stdout]     |
[INFO] [stdout] 597 |     pub values: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:601:5
[INFO] [stdout]     |
[INFO] [stdout] 601 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:605:5
[INFO] [stdout]     |
[INFO] [stdout] 605 |     pub fn append(&mut self, k: &[f32], v: &[f32]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:614:5
[INFO] [stdout]     |
[INFO] [stdout] 614 |     pub fn clear(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 695 |     pub fn num_layers(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     pub fn new_basic(vocab_size: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:767:5
[INFO] [stdout]     |
[INFO] [stdout] 767 |     pub fn encode(&self, text: &str) -> Vec<u32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:780:5
[INFO] [stdout]     |
[INFO] [stdout] 780 |     pub fn decode(&self, tokens: &[u32]) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:788:5
[INFO] [stdout]     |
[INFO] [stdout] 788 |     pub fn vocab_size(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:792:5
[INFO] [stdout]     |
[INFO] [stdout] 792 |     pub fn eos_token(&self) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:800:5
[INFO] [stdout]     |
[INFO] [stdout] 800 |     pub max_tokens: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 801 |     pub temperature: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:802:5
[INFO] [stdout]     |
[INFO] [stdout] 802 |     pub top_p: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 803 |     pub top_k: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:804:5
[INFO] [stdout]     |
[INFO] [stdout] 804 |     pub repeat_penalty: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     General,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     Reasoning,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     Factual,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     Creative,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     CodeGen,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     Conversational,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `different`
[INFO] [stdout]    --> src/sona/ewc.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let different = vec![10.0; 10];
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_different`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub trajectories_processed: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub patterns_extracted: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub ewc_updated: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub elapsed: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub status: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub trajectories_buffered: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub trajectories_dropped: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub buffer_success_rate: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub patterns_stored: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub ewc_tasks: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub instant_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub background_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/training.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn new(learning_rate: f32, momentum: f32, weight_decay: f32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         expected: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         got: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         context: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         value: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         max: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub stats: KStatistics,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub complexity_weights: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub complexity_bias: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         for i in 0..10 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         for i in 0..150 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sona/engine.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for i in 0..10 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sona/engine.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 |         for i in 0..150 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/training.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |     let start = Instant::now();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/benchmark_suite.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[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: `Request`
[INFO] [stdout]  --> benches/pipeline.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ruvllm::{Config, RuvLLM, Request};
[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: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/benchmark_suite.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_edge_density` and `summary_template` are never read
[INFO] [stdout]   --> src/compression.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CompressionService {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     min_edge_density: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// Summarization prompt template
[INFO] [stdout] 28 |     summary_template: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pad` is never read
[INFO] [stdout]   --> src/embedding.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct SpecialTokens {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 48 |     pad: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecialTokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/inference.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct MockModel {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 97 |     size: ModelSize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `replay_buffer` and `ewc` are never read
[INFO] [stdout]   --> src/learning.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LearningService {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     replay_buffer: RwLock<ReplayBuffer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     /// EWC state
[INFO] [stdout] 27 |     ewc: RwLock<EWCState>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sample` is never used
[INFO] [stdout]    --> src/learning.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl ReplayBuffer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn sample(&self, batch_size: usize) -> Vec<&RouterSample> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_connections` is never read
[INFO] [stdout]   --> src/memory.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct HnswLayer {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     max_connections: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `metrics` is never read
[INFO] [stdout]   --> src/orchestrator.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RuvLLM {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     metrics: Arc<Metrics>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_counter`, `latency_histogram`, and `quality_gauge` are never read
[INFO] [stdout]    --> src/orchestrator.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 357 | struct Metrics {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 358 |     request_counter: prometheus::IntCounter,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 359 |     latency_histogram: prometheus::Histogram,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 360 |     quality_gauge: prometheus::Gauge,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vocab_size` and `hidden_dim` are never read
[INFO] [stdout]    --> src/simd_inference.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub struct SmallTransformer {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     vocab_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 632 |     /// Hidden dimension
[INFO] [stdout] 633 |     hidden_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]   --> src/sona/lora.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     stats: MicroLoRAStats,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MicroLoRA` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trajectory_id` is never read
[INFO] [stdout]   --> src/sona/reasoning_bank.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct TrajectoryEntry {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     trajectory_id: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TrajectoryEntry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/sona/loops/coordinator.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LoopCoordinator {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 15 |     /// Configuration
[INFO] [stdout] 16 |     config: SonaConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vocab_size` is never read
[INFO] [stdout]   --> src/training.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct TrainingDataset {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     vocab_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 |     EdgeNotFound { src: String, dst: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:33
[INFO] [stdout]    |
[INFO] [stdout] 73 |     EdgeNotFound { src: String, dst: String },
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidFeatures { expected: usize, actual: usize },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidFeatures { expected: usize, actual: usize },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ContextTooLong { length: usize, max: usize },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ContextTooLong { length: usize, max: usize },
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub distance_std: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub distance_min: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/memory.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub distance_max: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/memory.rs:725:1
[INFO] [stdout]     |
[INFO] [stdout] 725 | pub fn cosine_distance(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/router.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn record_forward(&self, model: ModelSize) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/router.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_model_distribution(&self) -> [f64; 4] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/router.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn new(param_shapes: &[usize], lr: f32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/router.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn step(&mut self, params: &mut [Array1<f32>], grads: &[Array1<f32>]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 631 |     pub total_loss: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:632:5
[INFO] [stdout]     |
[INFO] [stdout] 632 |     pub model_accuracy: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:633:5
[INFO] [stdout]     |
[INFO] [stdout] 633 |     pub context_accuracy: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/router.rs:634:5
[INFO] [stdout]     |
[INFO] [stdout] 634 |     pub samples_processed: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     pub fn new_random(hidden_dim: usize, num_heads: usize, ffn_dim: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:514:5
[INFO] [stdout]     |
[INFO] [stdout] 514 |     pub fn forward(&self, x: &[f32], kv_cache: Option<&mut KvCache>, pos: usize) -> Vec<f32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 |     pub keys: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:597:5
[INFO] [stdout]     |
[INFO] [stdout] 597 |     pub values: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:601:5
[INFO] [stdout]     |
[INFO] [stdout] 601 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:605:5
[INFO] [stdout]     |
[INFO] [stdout] 605 |     pub fn append(&mut self, k: &[f32], v: &[f32]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:614:5
[INFO] [stdout]     |
[INFO] [stdout] 614 |     pub fn clear(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 695 |     pub fn num_layers(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/simd_inference.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     pub fn new_basic(vocab_size: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:767:5
[INFO] [stdout]     |
[INFO] [stdout] 767 |     pub fn encode(&self, text: &str) -> Vec<u32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:780:5
[INFO] [stdout]     |
[INFO] [stdout] 780 |     pub fn decode(&self, tokens: &[u32]) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:788:5
[INFO] [stdout]     |
[INFO] [stdout] 788 |     pub fn vocab_size(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/simd_inference.rs:792:5
[INFO] [stdout]     |
[INFO] [stdout] 792 |     pub fn eos_token(&self) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:800:5
[INFO] [stdout]     |
[INFO] [stdout] 800 |     pub max_tokens: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:801:5
[INFO] [stdout]     |
[INFO] [stdout] 801 |     pub temperature: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:802:5
[INFO] [stdout]     |
[INFO] [stdout] 802 |     pub top_p: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:803:5
[INFO] [stdout]     |
[INFO] [stdout] 803 |     pub top_k: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/simd_inference.rs:804:5
[INFO] [stdout]     |
[INFO] [stdout] 804 |     pub repeat_penalty: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     General,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     Reasoning,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     Factual,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     Creative,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     CodeGen,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/sona/types.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     Conversational,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub trajectories_processed: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub patterns_extracted: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub ewc_updated: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub elapsed: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sona/loops/background.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub status: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub trajectories_buffered: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub trajectories_dropped: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub buffer_success_rate: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub patterns_stored: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub ewc_tasks: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub instant_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/sona/loops/coordinator.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub background_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/training.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn new(learning_rate: f32, momentum: f32, weight_decay: f32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         expected: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         got: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         context: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         value: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/trm/error.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         max: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub stats: KStatistics,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub complexity_weights: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/trm/sona_bridge.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub complexity_bias: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Request`
[INFO] [stdout]  --> tests/integration.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ruvllm::{Config, RuvLLM, Request};
[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: `super::*`
[INFO] [stdout]    --> tests/integration.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/integration.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `patterns`
[INFO] [stdout]   --> tests/sona_integration.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let patterns = engine.find_patterns(&query_embedding, 5);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrmEngine`
[INFO] [stdout]   --> benches/trm_bench.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     TrmConfig, TrmEngine, TrmEngineBuilder, AnswerRefiner,
[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 variable: `result1`
[INFO] [stdout]    --> tests/sona_integration.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let result1 = engine.force_learn();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result2`
[INFO] [stdout]    --> tests/sona_integration.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let result2 = engine.force_learn();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result1`
[INFO] [stdout]    --> tests/sona_integration.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |     let result1 = engine.force_learn();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result2`
[INFO] [stdout]    --> tests/sona_integration.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 670 |     let result2 = engine.force_learn();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_sum`
[INFO] [stdout]    --> tests/sona_integration.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |     let base_sum: f32 = base_output.iter().map(|&x: &f32| x.abs()).sum();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/sona_integration.rs:705:9
[INFO] [stdout]     |
[INFO] [stdout] 705 |     for i in 0..50 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/sona_integration.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |     for i in 0..50 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> tests/sona_integration.rs:718:9
[INFO] [stdout]     |
[INFO] [stdout] 718 |     let result = engine.force_learn();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats`
[INFO] [stdout]    --> tests/sona_integration.rs:719:9
[INFO] [stdout]     |
[INFO] [stdout] 719 |     let stats = engine.stats();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn evaluate_quality(query: &str, response: &str, query_type: &str) -> f64 {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `high_quality_count` is assigned to, but never used
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut high_quality_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_high_quality_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `high_quality_count` is never read
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:311:17
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 high_quality_count += 1;
[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: unused variable: `router`
[INFO] [stdout]   --> benches/router.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let router = FastGRNNRouter::new(&config).unwrap();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_router`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> benches/sona_bench.rs:147:25
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     for i in 0..steps {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `latency_avg_ms`, `memory_mb`, `accuracy`, and `quality_score` are never read
[INFO] [stdout]   --> src/bin/benchmark_suite.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct BenchmarkMetrics {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub latency_avg_ms: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub throughput_qps: f64,
[INFO] [stdout] 37 |     pub memory_mb: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     pub accuracy: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 39 |     pub quality_score: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn evaluate_quality(query: &str, response: &str, query_type: &str) -> f64 {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `high_quality_count` is assigned to, but never used
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut high_quality_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_high_quality_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `high_quality_count` is never read
[INFO] [stdout]    --> src/bin/benchmark_suite.rs:311:17
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 high_quality_count += 1;
[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: comparison is useless due to type limits
[INFO] [stdout]    --> tests/integration.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 493 |         assert!(stats.clusters_found >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `latency_avg_ms`, `memory_mb`, `accuracy`, and `quality_score` are never read
[INFO] [stdout]   --> src/bin/benchmark_suite.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct BenchmarkMetrics {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub latency_avg_ms: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub throughput_qps: f64,
[INFO] [stdout] 37 |     pub memory_mb: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     pub accuracy: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 39 |     pub quality_score: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "9248f36df3a615795eb49d2bd69461739caa36fff2a50e56e2d5dd284a026034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9248f36df3a615795eb49d2bd69461739caa36fff2a50e56e2d5dd284a026034", kill_on_drop: false }`
[INFO] [stdout] 9248f36df3a615795eb49d2bd69461739caa36fff2a50e56e2d5dd284a026034
