[INFO] fetching crate ripmap 0.1.0...
[INFO] testing ripmap-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate ripmap 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate ripmap 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate ripmap 0.1.0
[INFO] tweaked toml for crates.io crate ripmap 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ripmap 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ripmap 0.1.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf691789104a36fbb18934fe112feefe23369efb63497fd95f19cc798b9b4841
[INFO] running `Command { std: "docker" "start" "-a" "bf691789104a36fbb18934fe112feefe23369efb63497fd95f19cc798b9b4841", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf691789104a36fbb18934fe112feefe23369efb63497fd95f19cc798b9b4841", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf691789104a36fbb18934fe112feefe23369efb63497fd95f19cc798b9b4841", kill_on_drop: false }`
[INFO] [stdout] bf691789104a36fbb18934fe112feefe23369efb63497fd95f19cc798b9b4841
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 30a13a841ab1e74df1494aacb0b296765a3d792a8467df016d6507deeb0ea043
[INFO] running `Command { std: "docker" "start" "-a" "30a13a841ab1e74df1494aacb0b296765a3d792a8467df016d6507deeb0ea043", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tree-sitter-language v0.1.5
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling tree-sitter-c v0.23.4
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-php v0.23.11
[INFO] [stderr]    Compiling tree-sitter-ruby v0.23.1
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.4
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling float-ord v0.3.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]    Compiling redb v2.6.3
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling plotters-bitmap v0.3.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling ttf-parser v0.20.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling fancy-regex v0.13.0
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling schemars_derive v1.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling rmcp-macros v0.3.2
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling tiktoken-rs v0.6.0
[INFO] [stderr]    Compiling comfy-table v7.2.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling memmap2 v0.9.9
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling glob-match v0.2.1
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling string-interner v0.17.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling schemars v1.1.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling rmcp v0.3.2
[INFO] [stderr]    Compiling ripmap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TagKind`
[INFO] [stdout]   --> src/callgraph/resolver.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::{Tag, TagKind};
[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::sync::Arc`
[INFO] [stdout]   --> src/callgraph/strategies.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_set`
[INFO] [stdout]   --> src/ranking/coupling.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let file_set: HashMap<String, &Path> = files
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_set`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/training/gridsearch.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut strata: Vec<Vec<usize>> = (0..ndim)
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/training/metrics.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let n = per_case.len() as f64;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `METHOD` is never used
[INFO] [stdout]    --> src/extraction/parser.rs:427:16
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub static METHOD: Lazy<Regex> = Lazy::new(|| {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_tags_treesitter` is never used
[INFO] [stdout]   --> src/extraction/tags.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn extract_tags_treesitter(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C_SHARP` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub const C_SHARP: &str = include_str!("../../queries/c_sharp-tags.scm");
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KOTLIN` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub const KOTLIN: &str = include_str!("../../queries/kotlin-tags.scm");
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCALA` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const SCALA: &str = include_str!("../../queries/scala-tags.scm");
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `field_name` is never used
[INFO] [stdout]    --> src/rendering/colors.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Colorizer {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn field_name(s: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Promptgram` instead of cloning the inner type
[INFO] [stdout]    --> src/training_outer/mesa.rs:332:43
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 candidates.last().unwrap().clone().clone(),
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]     --> src/bin/ripmap-train.rs:1103:9
[INFO] [stdout]      |
[INFO] [stdout] 1103 |     use rand::Rng;
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/ripmap-train.rs:920:9
[INFO] [stdout]     |
[INFO] [stdout] 920 |     let mut points = sample_points(&grid, strategy, args.budget, args.seed);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 25s
[INFO] running `Command { std: "docker" "inspect" "30a13a841ab1e74df1494aacb0b296765a3d792a8467df016d6507deeb0ea043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30a13a841ab1e74df1494aacb0b296765a3d792a8467df016d6507deeb0ea043", kill_on_drop: false }`
[INFO] [stdout] 30a13a841ab1e74df1494aacb0b296765a3d792a8467df016d6507deeb0ea043
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c574245397bc69680f114830949625259cb0677264fb60314cf926f91fc19a37
[INFO] running `Command { std: "docker" "start" "-a" "c574245397bc69680f114830949625259cb0677264fb60314cf926f91fc19a37", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `TagKind`
[INFO] [stdout]   --> src/callgraph/resolver.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::{Tag, TagKind};
[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::sync::Arc`
[INFO] [stdout]   --> src/callgraph/strategies.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_set`
[INFO] [stdout]   --> src/ranking/coupling.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let file_set: HashMap<String, &Path> = files
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_set`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/training/gridsearch.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut strata: Vec<Vec<usize>> = (0..ndim)
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/training/metrics.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let n = per_case.len() as f64;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `METHOD` is never used
[INFO] [stdout]    --> src/extraction/parser.rs:427:16
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub static METHOD: Lazy<Regex> = Lazy::new(|| {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_tags_treesitter` is never used
[INFO] [stdout]   --> src/extraction/tags.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn extract_tags_treesitter(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C_SHARP` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub const C_SHARP: &str = include_str!("../../queries/c_sharp-tags.scm");
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KOTLIN` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub const KOTLIN: &str = include_str!("../../queries/kotlin-tags.scm");
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCALA` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const SCALA: &str = include_str!("../../queries/scala-tags.scm");
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `field_name` is never used
[INFO] [stdout]    --> src/rendering/colors.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Colorizer {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn field_name(s: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Promptgram` instead of cloning the inner type
[INFO] [stdout]    --> src/training_outer/mesa.rs:332:43
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 candidates.last().unwrap().clone().clone(),
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ripmap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]     --> src/bin/ripmap-train.rs:1103:9
[INFO] [stdout]      |
[INFO] [stdout] 1103 |     use rand::Rng;
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/ripmap-train.rs:920:9
[INFO] [stdout]     |
[INFO] [stdout] 920 |     let mut points = sample_points(&grid, strategy, args.budget, args.seed);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/rendering/directory.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout] 668 |     use std::sync::Arc;
[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: `file_set`
[INFO] [stdout]   --> src/ranking/coupling.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let file_set: HashMap<String, &Path> = files
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_set`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/training/gridsearch.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut strata: Vec<Vec<usize>> = (0..ndim)
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/training/metrics.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let n = per_case.len() as f64;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `METHOD` is never used
[INFO] [stdout]    --> src/extraction/parser.rs:427:16
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub static METHOD: Lazy<Regex> = Lazy::new(|| {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C_SHARP` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub const C_SHARP: &str = include_str!("../../queries/c_sharp-tags.scm");
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KOTLIN` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub const KOTLIN: &str = include_str!("../../queries/kotlin-tags.scm");
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCALA` is never used
[INFO] [stdout]   --> src/extraction/treesitter.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const SCALA: &str = include_str!("../../queries/scala-tags.scm");
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `field_name` is never used
[INFO] [stdout]    --> src/rendering/colors.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Colorizer {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn field_name(s: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&promptgram::Promptgram` instead of cloning the inner type
[INFO] [stdout]    --> src/training_outer/mesa.rs:332:43
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 candidates.last().unwrap().clone().clone(),
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.51s
[INFO] running `Command { std: "docker" "inspect" "c574245397bc69680f114830949625259cb0677264fb60314cf926f91fc19a37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c574245397bc69680f114830949625259cb0677264fb60314cf926f91fc19a37", kill_on_drop: false }`
[INFO] [stdout] c574245397bc69680f114830949625259cb0677264fb60314cf926f91fc19a37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ba737f9a6e770353b478a14ab3c949d86ca5060b9610a65a56bd64f52240e37f
[INFO] running `Command { std: "docker" "start" "-a" "ba737f9a6e770353b478a14ab3c949d86ca5060b9610a65a56bd64f52240e37f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `TagKind`
[INFO] [stderr]   --> src/callgraph/resolver.rs:11:25
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::types::{Tag, TagKind};
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/callgraph/strategies.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_set`
[INFO] [stderr]   --> src/ranking/coupling.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let file_set: HashMap<String, &Path> = files
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_set`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/training/gridsearch.rs:368:9
[INFO] [stderr]     |
[INFO] [stderr] 368 |     let mut strata: Vec<Vec<usize>> = (0..ndim)
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/training/metrics.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let n = per_case.len() as f64;
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: static `METHOD` is never used
[INFO] [stderr]    --> src/extraction/parser.rs:427:16
[INFO] [stderr]     |
[INFO] [stderr] 427 |     pub static METHOD: Lazy<Regex> = Lazy::new(|| {
[INFO] [stderr]     |                ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_tags_treesitter` is never used
[INFO] [stderr]   --> src/extraction/tags.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub fn extract_tags_treesitter(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C_SHARP` is never used
[INFO] [stderr]   --> src/extraction/treesitter.rs:38:15
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub const C_SHARP: &str = include_str!("../../queries/c_sharp-tags.scm");
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KOTLIN` is never used
[INFO] [stderr]   --> src/extraction/treesitter.rs:39:15
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub const KOTLIN: &str = include_str!("../../queries/kotlin-tags.scm");
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SCALA` is never used
[INFO] [stderr]   --> src/extraction/treesitter.rs:40:15
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub const SCALA: &str = include_str!("../../queries/scala-tags.scm");
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `field_name` is never used
[INFO] [stderr]    --> src/rendering/colors.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl Colorizer {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn field_name(s: &str) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Promptgram` instead of cloning the inner type
[INFO] [stderr]    --> src/training_outer/mesa.rs:332:43
[INFO] [stderr]     |
[INFO] [stderr] 332 |                 candidates.last().unwrap().clone().clone(),
[INFO] [stderr]     |                                           ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/rendering/directory.rs:668:9
[INFO] [stderr]     |
[INFO] [stderr] 668 |     use std::sync::Arc;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&promptgram::Promptgram` instead of cloning the inner type
[INFO] [stderr]    --> src/training_outer/mesa.rs:332:43
[INFO] [stderr]     |
[INFO] [stderr] 332 |                 candidates.last().unwrap().clone().clone(),
[INFO] [stderr]     |                                           ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ripmap` (lib) generated 12 warnings (run `cargo fix --lib -p ripmap` to apply 5 suggestions)
[INFO] [stderr] warning: `ripmap` (lib test) generated 10 warnings (8 duplicates) (run `cargo fix --lib -p ripmap --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]     --> src/bin/ripmap-train.rs:1103:9
[INFO] [stderr]      |
[INFO] [stderr] 1103 |     use rand::Rng;
[INFO] [stderr]      |         ^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/ripmap-train.rs:920:9
[INFO] [stderr]     |
[INFO] [stderr] 920 |     let mut points = sample_points(&grid, strategy, args.budget, args.seed);
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ripmap` (bin "ripmap-train" test) generated 2 warnings (run `cargo fix --bin "ripmap-train" -p ripmap --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ripmap-1158ae9e3749b57b)
[INFO] [stdout] 
[INFO] [stdout] running 160 tests
[INFO] [stdout] test cache::store::tests::test_cache_entry_mtime_validation ... ok
[INFO] [stdout] test cache::store::tests::test_cache_entry_serialization ... ok
[INFO] [stdout] test callgraph::graph::tests::test_add_call ... ok
[INFO] [stdout] test callgraph::graph::tests::test_qualified_name ... ok
[INFO] [stdout] test callgraph::resolver::tests::test_build_graph ... ok
[INFO] [stdout] test callgraph::resolver::tests::test_resolution_stats ... ok
[INFO] [stdout] test callgraph::strategies::tests::test_name_match_strategy ... ok
[INFO] [stdout] test callgraph::strategies::tests::test_same_file_strategy ... ok
[INFO] [stdout] test config::tests::test_default_excludes ... ok
[INFO] [stdout] test config::tests::test_directory_prefix_patterns ... ok
[INFO] [stdout] test config::tests::test_extend_exclude ... ok
[INFO] [stdout] test config::tests::test_include_patterns ... ok
[INFO] [stdout] test discovery::files::tests::test_case_insensitive_extension ... ok
[INFO] [stdout] test discovery::files::tests::test_nonexistent_path ... ok
[INFO] [stdout] test callgraph::graph::tests::test_add_function_idempotent ... ok
[INFO] [stdout] test discovery::files::tests::test_single_file_input ... ok
[INFO] [stdout] test extraction::parser::tests::test_line_number ... ok
[INFO] [stdout] test discovery::files::tests::test_extension_filtering ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_python_function ... ok
[INFO] [stdout] test extraction::parser::tests::test_detect_language ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_python_class ... ok
[INFO] [stdout] test extraction::treesitter::tests::test_extension_mapping ... ok
[INFO] [stdout] test discovery::files::tests::test_discovery_on_ripmap_codebase ... ok
[INFO] [stdout] test discovery::files::tests::test_include_all_flag ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_javascript_class ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_typescript_interface ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_rust_struct ... ok
[INFO] [stdout] test extraction::parser::tests::test_parse_rust_function ... ok
[INFO] [stdout] test ranking::boosts::tests::test_chat_file_boost ... ok
[INFO] [stdout] test mcp::server::tests::test_server_creation ... ok
[INFO] [stdout] test ranking::boosts::tests::test_caller_weight_multiplier ... ok
[INFO] [stdout] test ranking::boosts::tests::test_extract_rel_fname ... ok
[INFO] [stdout] test ranking::boosts::tests::test_focus_expansion_weight ... ok
[INFO] [stdout] test ranking::boosts::tests::test_git_weight_multiplier ... ok
[INFO] [stdout] test ranking::boosts::tests::test_mentioned_ident_boost ... ok
[INFO] [stdout] test ranking::boosts::tests::test_multiple_boosts_multiply ... ok
[INFO] [stdout] test ranking::boosts::tests::test_no_boosts ... ok
[INFO] [stdout] test ranking::boosts::tests::test_only_definitions_included ... ok
[INFO] [stdout] test ranking::boosts::tests::test_sorting_descending ... ok
[INFO] [stdout] test ranking::boosts::tests::test_symbol_rank_overrides_file_rank ... ok
[INFO] [stdout] test ranking::boosts::tests::test_temporal_coupling_boost ... ok
[INFO] [stdout] test ranking::coupling::tests::test_as_symbol_edges ... ok
[INFO] [stdout] test ranking::coupling::tests::test_confidence_same_directory ... ok
[INFO] [stdout] test ranking::coupling::tests::test_detect_js_spec_files ... ok
[INFO] [stdout] test ranking::coupling::tests::test_detect_python_test_files ... ok
[INFO] [stdout] test ranking::coupling::tests::test_detect_rust_test_files ... ok
[INFO] [stdout] test ranking::coupling::tests::test_no_self_coupling ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_bidirectional ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_custom_decay ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_cycle ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_empty ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_max_hops ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_multiple_seeds ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_one_hop ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_seeds_only ... ok
[INFO] [stdout] test ranking::focus::tests::test_expand_via_graph_two_hops ... ok
[INFO] [stdout] test ranking::focus::tests::test_get_stem ... ok
[INFO] [stdout] test ranking::focus::tests::test_levenshtein ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_case_insensitive ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_exact ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_negative ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_stem ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_substring ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_typo ... ok
[INFO] [stdout] test ranking::focus::tests::test_matches_query_word_parts ... ok
[INFO] [stdout] test ranking::focus::tests::test_resolve_comma_separated ... ok
[INFO] [stdout] test ranking::focus::tests::test_resolve_empty ... ok
[INFO] [stdout] test ranking::focus::tests::test_resolve_file_with_extension ... ok
[INFO] [stdout] test ranking::focus::tests::test_resolve_symbols ... ok
[INFO] [stdout] test ranking::focus::tests::test_split_identifier ... ok
[INFO] [stdout] test ranking::focus::tests::test_split_identifier_edge_cases ... ok
[INFO] [stdout] test ranking::git::tests::test_churn_boost ... ok
[INFO] [stdout] test ranking::git::tests::test_classify_phase ... ok
[INFO] [stdout] test ranking::git::tests::test_days_since ... ok
[INFO] [stdout] test ranking::git::tests::test_get_badges ... ok
[INFO] [stdout] test ranking::git::tests::test_parse_git_log ... ok
[INFO] [stdout] test ranking::git::tests::test_parse_iso8601 ... ok
[INFO] [stdout] test ranking::git::tests::test_recency_boost ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_chat_file_boost ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_depth_aware_personalization ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_empty_graph ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_function_level_pagerank ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_pagerank_convergence ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_simple_pagerank ... ok
[INFO] [stdout] test ranking::pagerank::tests::test_vendor_patterns ... ok
[INFO] [stdout] test rendering::colors::tests::test_badge_labels ... ok
[INFO] [stdout] test rendering::colors::tests::test_badge_render ... ok
[INFO] [stdout] test rendering::colors::tests::test_colorize_node_types ... ok
[INFO] [stdout] test rendering::directory::tests::test_estimate_tokens ... ok
[INFO] [stdout] test rendering::directory::tests::test_group_by_file ... ok
[INFO] [stdout] test rendering::directory::tests::test_organize_symbols ... ok
[INFO] [stdout] test rendering::directory::tests::test_render_empty ... ok
[INFO] [stdout] test rendering::directory::tests::test_render_with_signature ... ok
[INFO] [stdout] test training::git_oracle::tests::test_commit_quality_bugfix ... ok
[INFO] [stdout] test training::git_oracle::tests::test_commit_quality_formatting ... ok
[INFO] [stdout] test training::git_oracle::tests::test_commit_quality_large_refactor ... ok
[INFO] [stdout] test training::git_oracle::tests::test_commit_quality_wip ... ok
[INFO] [stdout] test training::git_oracle::tests::test_is_source_file ... ok
[INFO] [stdout] test training::git_oracle::tests::test_normalize_pair ... ok
[INFO] [stdout] test training::git_oracle::tests::test_parse_intent ... ok
[INFO] [stdout] test training::gridsearch::tests::test_default_point_to_config ... ok
[INFO] [stdout] test training::gridsearch::tests::test_grid_decode ... ok
[INFO] [stdout] test training::gridsearch::tests::test_lhs_coverage ... ok
[INFO] [stdout] test training::gridsearch::tests::test_normalized_distance_different ... ok
[INFO] [stdout] test training::gridsearch::tests::test_normalized_distance_same ... ok
[INFO] [stdout] test training::gridsearch::tests::test_param_range_linear ... ok
[INFO] [stdout] test training::gridsearch::tests::test_param_range_log ... ok
[INFO] [stdout] test training::gridsearch::tests::test_param_range_roundtrip ... ok
[INFO] [stdout] test training::metrics::tests::test_aggregate ... ok
[INFO] [stdout] test training::metrics::tests::test_case_metrics ... ok
[INFO] [stdout] test training::metrics::tests::test_map ... ok
[INFO] [stdout] test training::metrics::tests::test_mrr ... ok
[INFO] [stdout] test training::metrics::tests::test_mrr_first_position ... ok
[INFO] [stdout] test training::metrics::tests::test_ndcg_partial_match ... ok
[INFO] [stdout] test training::metrics::tests::test_ndcg_perfect_ranking ... ok
[INFO] [stdout] test training::metrics::tests::test_ndcg_reversed_ranking ... ok
[INFO] [stdout] test training::metrics::tests::test_precision_at_k ... ok
[INFO] [stdout] test training::metrics::tests::test_recall_at_k ... ok
[INFO] [stdout] test training::metrics::tests::test_std_dev ... ok
[INFO] [stdout] test training::reasoning::tests::test_apply_changes ... ok
[INFO] [stdout] test training::repos::tests::test_all_repos_have_url ... ok
[INFO] [stdout] test training::repos::tests::test_clone_cmd ... ok
[INFO] [stdout] test training::repos::tests::test_curated_repos_not_empty ... ok
[INFO] [stdout] test training::repos::tests::test_filter_by_language ... ok
[INFO] [stdout] test training::repos::tests::test_filter_by_quality ... ok
[INFO] [stdout] test training::repos::tests::test_quick_repos ... ok
[INFO] [stdout] test training::sensitivity::tests::test_ablate_boost ... ok
[INFO] [stdout] test training::sensitivity::tests::test_ablation_study ... ok
[INFO] [stdout] test training::sensitivity::tests::test_oat_sensitivity ... ok
[INFO] [stdout] test training::sensitivity::tests::test_set_param ... ok
[INFO] [stdout] test training_outer::mesa::tests::test_run_config_inner ... ok
[INFO] [stdout] test training_outer::mesa::tests::test_variance ... ok
[INFO] [stdout] test training_outer::promptgram::tests::test_from_markdown ... ok
[INFO] [stdout] test training_outer::promptgram::tests::test_promptgram_edit_immutable ... ok
[INFO] [stdout] test training_outer::promptgram::tests::test_promptgram_fork ... ok
[INFO] [stdout] test training_outer::promptgram::tests::test_promptgram_render ... ok
[INFO] [stdout] test training_outer::schemas::tests::test_meta_levers_summary ... ok
[INFO] [stdout] test training_outer::schemas::tests::test_outer_scratchpad_plateau ... ok
[INFO] [stdout] test training_outer::schemas::tests::test_run_metrics_sub ... ok
[INFO] [stdout] test training_outer::schemas::tests::test_search_failures ... ok
[INFO] [stdout] test types::tests::test_detail_levels ... ok
[INFO] [stdout] test types::tests::test_ranked_tag_ordering ... ok
[INFO] [stdout] test ranking::boosts::tests::test_combined_all_weights ... ok
[INFO] [stdout] test ranking::boosts::tests::test_mentioned_file_boost ... ok
[INFO] [stdout] test types::tests::test_simplify_type ... ok
[INFO] [stdout] test types::tests::test_tag_kind_helpers ... ok
[INFO] [stdout] test types::tests::test_signature_render ... ok
[INFO] [stdout] test cache::store::tests::test_cache_roundtrip ... ok
[INFO] [stdout] test cache::store::tests::test_cache_clear ... ok
[INFO] [stdout] test cache::store::tests::test_cache_stats ... ok
[INFO] [stdout] test extraction::tags::tests::test_extract_tags_nonexistent_file ... ok
[INFO] [stdout] test extraction::tags::tests::test_treesitter_python_direct ... ok
[INFO] [stdout] test extraction::tags::tests::test_treesitter_javascript_direct ... ok
[INFO] [stdout] test extraction::tags::tests::test_extract_tags_rust ... ok
[INFO] [stdout] test extraction::treesitter::tests::test_javascript_parsing ... ok
[INFO] [stdout] test extraction::treesitter::tests::test_python_parsing ... ok
[INFO] [stdout] test extraction::tags::tests::test_extract_tags_python ... ok
[INFO] [stdout] test extraction::treesitter::tests::test_unsupported_language ... ok
[INFO] [stdout] test extraction::treesitter::tests::test_rust_parsing ... ok
[INFO] [stdout] test extraction::tags::tests::test_treesitter_rust_direct ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 160 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ripmap-7da05db75b4dff63)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test tests::test_cli_parse_minimal ... ok
[INFO] [stdout] test tests::test_cli_parse_focus ... ok
[INFO] [stdout] test tests::test_cli_parse_join_mode ... ok
[INFO] [stdout] test tests::test_cli_parse_tokens ... ok
[INFO] [stdout] test tests::test_cli_parse_multiple_extensions ... ok
[INFO] [stdout] test tests::test_cli_parse_no_color ... ok
[INFO] [stdout] test tests::test_cli_parse_with_files ... ok
[INFO] [stdout] test tests::test_cli_parse_root ... ok
[INFO] [stdout] test tests::test_cli_parse_flags ... ok
[INFO] [stdout] test tests::test_run_on_ripmap_itself ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.60s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/ripmap-mcp.rs (/opt/rustwide/target/debug/deps/ripmap_mcp-ff28fbe68373b10c)
[INFO] [stderr]      Running unittests src/bin/ripmap-train.rs (/opt/rustwide/target/debug/deps/ripmap_train-98be4ec11fe4b156)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/ripmap-train-outer.rs (/opt/rustwide/target/debug/deps/ripmap_train_outer-bb348b035bc2d8f7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ripmap
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/callgraph/mod.rs - callgraph (line 26) ... ignored
[INFO] [stdout] test src/ranking/coupling.rs - ranking::coupling (line 26) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.61s; merged doctests compilation took 0.60s
[INFO] running `Command { std: "docker" "inspect" "ba737f9a6e770353b478a14ab3c949d86ca5060b9610a65a56bd64f52240e37f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba737f9a6e770353b478a14ab3c949d86ca5060b9610a65a56bd64f52240e37f", kill_on_drop: false }`
[INFO] [stdout] ba737f9a6e770353b478a14ab3c949d86ca5060b9610a65a56bd64f52240e37f
