[INFO] fetching crate rikabot 0.3.0... [INFO] testing rikabot-0.3.0 against 1.95.0 for beta-1.96-1 [INFO] extracting crate rikabot 0.3.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate rikabot 0.3.0 [INFO] finished tweaking crates.io crate rikabot 0.3.0 [INFO] tweaked toml for crates.io crate rikabot 0.3.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rikabot 0.3.0 on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rikabot 0.3.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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.112 [INFO] [stderr] Downloaded webbrowser v1.1.0 [INFO] [stderr] Downloaded http-range-header v0.4.2 [INFO] [stderr] Downloaded rust-embed-impl v8.11.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.112 [INFO] [stderr] Downloaded rust-embed-utils v8.11.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.62 [INFO] [stderr] Downloaded tokio-tungstenite v0.28.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.112 [INFO] [stderr] Downloaded tungstenite v0.28.0 [INFO] [stderr] Downloaded js-sys v0.3.89 [INFO] [stderr] Downloaded mio v0.8.11 [INFO] [stderr] Downloaded wasm-bindgen v0.2.112 [INFO] [stderr] Downloaded web-sys v0.3.89 [INFO] [stderr] Downloaded rust-embed v8.11.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dba56b2cc7e454343ce0b1b16ba2f198446e338902a2beca561abaa60447d7b6 [INFO] running `Command { std: "docker" "start" "-a" "dba56b2cc7e454343ce0b1b16ba2f198446e338902a2beca561abaa60447d7b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dba56b2cc7e454343ce0b1b16ba2f198446e338902a2beca561abaa60447d7b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dba56b2cc7e454343ce0b1b16ba2f198446e338902a2beca561abaa60447d7b6", kill_on_drop: false }` [INFO] [stdout] dba56b2cc7e454343ce0b1b16ba2f198446e338902a2beca561abaa60447d7b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31d4377a5e9aed426356bf6de3c637c67ce7805e9c421b3d755f132b15799515 [INFO] running `Command { std: "docker" "start" "-a" "31d4377a5e9aed426356bf6de3c637c67ce7805e9c421b3d755f132b15799515", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling rust-embed-utils v8.11.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling rikabot v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling notify v6.1.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [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 serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling rust-embed-impl v8.11.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling webbrowser v1.1.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stdout] warning: associated function `disabled_allow_all` is never used [INFO] [stdout] --> src/permissions/mod.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl PermissionEngine { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 65 | pub fn disabled_allow_all() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `build_prompt` is never used [INFO] [stdout] --> src/prompt/mod.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl PromptManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn build_prompt(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_tool_calls` and `text_or_empty` are never used [INFO] [stdout] --> src/providers/mod.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl ChatResponse { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 78 | /// True when the LLM wants to invoke at least one tool. [INFO] [stdout] 79 | pub fn has_tool_calls(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn text_or_empty(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_native_tools` is never used [INFO] [stdout] --> src/providers/mod.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub trait Provider: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 91 | /// Whether this provider supports native tool calling via API primitives. [INFO] [stdout] 92 | fn supports_native_tools(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear_current_session` is never used [INFO] [stdout] --> src/session/mod.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl SessionManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn clear_current_session(&mut self) -> Result<(SessionRecord, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `path` is never used [INFO] [stdout] --> src/system_events/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl SystemEventHandle { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/mod.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl ToolRegistry { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 117 | /// Create an empty registry. [INFO] [stdout] 118 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FailingTool` is never constructed [INFO] [stdout] --> src/tools/mod.rs:593:8 [INFO] [stdout] | [INFO] [stdout] 593 | struct FailingTool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/filesystem_glob.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl FilesystemGlobTool { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/filesystem_read.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl FilesystemReadTool { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/filesystem_search.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl FilesystemSearchTool { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tools/filesystem_write.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl FilesystemWriteTool { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `connect_all` and `is_empty` are never used [INFO] [stdout] --> src/tools/mcp_client.rs:131:18 [INFO] [stdout] | [INFO] [stdout] 116 | impl McpRegistry { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub async fn connect_all(configs: &[McpServerConfig], workspace_dir: &Path) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `with_limits`, and `with_workspace_dir` are never used [INFO] [stdout] --> src/tools/shell.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ShellTool { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 18 | /// Create a new ShellTool with the given timeout in seconds. [INFO] [stdout] 19 | pub fn new(timeout_secs: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn with_limits(timeout_secs: u64, max_output_bytes: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn with_workspace_dir(timeout_secs: u64, workspace_dir: PathBuf) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "31d4377a5e9aed426356bf6de3c637c67ce7805e9c421b3d755f132b15799515", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31d4377a5e9aed426356bf6de3c637c67ce7805e9c421b3d755f132b15799515", kill_on_drop: false }` [INFO] [stdout] 31d4377a5e9aed426356bf6de3c637c67ce7805e9c421b3d755f132b15799515 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aa97296d21b36053e1b384cea54e18013858e8f6bfb2d520045eed6892dfba9b [INFO] running `Command { std: "docker" "start" "-a" "aa97296d21b36053e1b384cea54e18013858e8f6bfb2d520045eed6892dfba9b", kill_on_drop: false }` [INFO] [stderr] Compiling rikabot v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: methods `has_tool_calls` and `text_or_empty` are never used [INFO] [stdout] --> src/providers/mod.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl ChatResponse { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 78 | /// True when the LLM wants to invoke at least one tool. [INFO] [stdout] 79 | pub fn has_tool_calls(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn text_or_empty(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 19.53s [INFO] running `Command { std: "docker" "inspect" "aa97296d21b36053e1b384cea54e18013858e8f6bfb2d520045eed6892dfba9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa97296d21b36053e1b384cea54e18013858e8f6bfb2d520045eed6892dfba9b", kill_on_drop: false }` [INFO] [stdout] aa97296d21b36053e1b384cea54e18013858e8f6bfb2d520045eed6892dfba9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 64c5b81c3a75295fb0f0d6fba4a17c8941e8b29c49e9436bfdd20e80b415d5b5 [INFO] running `Command { std: "docker" "start" "-a" "64c5b81c3a75295fb0f0d6fba4a17c8941e8b29c49e9436bfdd20e80b415d5b5", kill_on_drop: false }` [INFO] [stderr] Compiling rikabot v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: methods `has_tool_calls` and `text_or_empty` are never used [INFO] [stderr] --> src/providers/mod.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 77 | impl ChatResponse { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] 78 | /// True when the LLM wants to invoke at least one tool. [INFO] [stderr] 79 | pub fn has_tool_calls(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn text_or_empty(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rikabot` (bin "rika" test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 18.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rika-418a4feef53a3c39) [INFO] [stdout] [INFO] [stdout] running 200 tests [INFO] [stdout] test agent::tests::suggested_shell_rule_uses_current_dir_without_workspace_context ... ok [INFO] [stdout] test agent::tests::suggested_shell_rule_includes_resolved_path ... ok [INFO] [stdout] test cli::tests::cli_parses_restart ... ok [INFO] [stdout] test cli::tests::cli_parses_no_subcommand ... ok [INFO] [stdout] test config::tests::mcp_default_enabled_and_empty_servers ... ok [INFO] [stdout] test cli::tests::cli_parses_system_event ... ok [INFO] [stdout] test cli::tests::cli_parses_start_foreground ... ok [INFO] [stdout] test config::tests::mcp_tool_timeout_is_capped ... ok [INFO] [stdout] test config::tests::mcp_transport_default_is_stdio ... ok [INFO] [stdout] test config::tests::mcp_oauth_client_secret_resolves_from_env ... ok [INFO] [stdout] test config::tests::openai_resolve_api_key_from_config ... ok [INFO] [stdout] test cli::tests::cli_parses_global_config ... ok [INFO] [stdout] test config::tests::permissions_defaults_to_enabled_with_empty_tool_rules ... ok [INFO] [stdout] test config::tests::mcp_header_resolution_fails_on_invalid_placeholder ... ok [INFO] [stdout] test config::tests::resolve_path_str_expands_tilde_prefix ... ok [INFO] [stdout] test config::tests::mcp_oauth_mode_requires_http_transport ... ok [INFO] [stdout] test config::tests::openai_resolve_base_url_trims_trailing_slash ... ok [INFO] [stdout] test config::tests::mcp_validate_rejects_missing_stdio_command ... ok [INFO] [stdout] test config::tests::mcp_validate_resolves_header_placeholders ... ok [INFO] [stdout] test config::tests::mcp_validate_rejects_duplicate_names ... ok [INFO] [stdout] test config::tests::mcp_validate_rejects_missing_http_url ... ok [INFO] [stdout] test config::tests::mcp_oauth_mode_rejects_authorization_header ... ok [INFO] [stdout] test config::tests::process_resolved_max_concurrent_is_capped ... ok [INFO] [stdout] test config::tests::openai_resolve_base_url_rejects_chat_completions_suffix ... ok [INFO] [stdout] test config::tests::openai_resolve_api_key_from_env_key ... ok [INFO] [stdout] test config::tests::web_search_resolved_max_results_clamps_to_range ... ok [INFO] [stdout] test config::tests::shell_accepts_timeout_seconds_alias ... ok [INFO] [stdout] test config::tests::web_search_accepts_timeout_seconds_alias ... ok [INFO] [stdout] test config::tests::shell_resolved_timeout_is_capped ... ok [INFO] [stdout] test config::tests::mcp_header_resolution_fails_on_missing_env ... ok [INFO] [stdout] test config::tests::validate_rejects_process_wait_default_above_wait_max ... ok [INFO] [stdout] test config::tests::shell_and_process_defaults_from_minimal_toml ... ok [INFO] [stdout] test config::tests::web_search_validate_rejects_perplexity_provider ... ok [INFO] [stdout] test config::tests::validate_rejects_zero_max_concurrent_sessions ... ok [INFO] [stdout] test config::tests::web_configs_default_values_from_minimal_toml ... ok [INFO] [stdout] test config::tests::openai_resolve_base_url_uses_default ... ok [INFO] [stdout] test config::tests::web_search_validate_rejects_unknown_provider ... ok [INFO] [stdout] test config::tests::web_search_validate_uses_env_key_for_openrouter ... ok [INFO] [stdout] test config::tests::workspace_dir_expands_tilde ... ok [INFO] [stdout] test gateway::ws::tests::cancel_queued_inputs_removes_target_and_clear_all ... ok [INFO] [stdout] test gateway::rest::tests::skills_endpoints_support_read_and_write ... ok [INFO] [stdout] test mcp_runtime::tests::retry_delay_is_capped ... ok [INFO] [stdout] test mcp_runtime::tests::snapshot_marks_enabled_servers_pending ... ok [INFO] [stdout] test permissions::tests::denies_by_default_when_enabled_and_allow_empty ... ok [INFO] [stdout] test gateway::rest::tests::threads_endpoints_support_crud_flow ... ok [INFO] [stdout] test prompt::tests::applies_per_file_truncation_limit ... ok [INFO] [stdout] test prompt::tests::auto_injects_memory_when_present ... ok [INFO] [stdout] test permissions::tests::allow_rule_matches_shell_raw_pattern ... ok [INFO] [stdout] test prompt::tests::does_not_overwrite_existing_file ... ok [INFO] [stdout] test prompt::tests::includes_shell_path_tool_guidance ... ok [INFO] [stdout] test gateway::ws::tests::persist_agent_event_appends_tool_call_and_tool_result_messages ... ok [INFO] [stdout] test prompt::tests::seeded_templates_include_bootstrap_placeholders_and_guidance ... ok [INFO] [stdout] test prompt::tests::seeds_required_files_and_memory_directory ... ok [INFO] [stdout] test prompt::tests::includes_missing_marker_for_required_files ... ok [INFO] [stdout] test prompt::tests::session_context_skips_when_session_id_blank ... ok [INFO] [stdout] test providers::openai::tests::convert_messages_parses_assistant_tool_calls ... ok [INFO] [stdout] test providers::openai::tests::convert_messages_parses_tool_result_object ... ok [INFO] [stdout] test gateway::ws::tests::reserve_or_queue_submission_queues_when_global_capacity_is_full ... ok [INFO] [stdout] test providers::openai::tests::chat_completions_url_uses_base_url ... ok [INFO] [stdout] test providers::openai::tests::chat_completions_url_trims_trailing_slash ... ok [INFO] [stdout] test providers::openai::tests::convert_messages_plain_user ... ok [INFO] [stdout] test providers::openai::tests::convert_tools_none_when_empty ... ok [INFO] [stdout] test prompt::tests::injects_session_context_when_provided ... ok [INFO] [stdout] test permissions::tests::deny_rule_takes_precedence ... ok [INFO] [stdout] test providers::openai::tests::convert_tools_none_when_none ... ok [INFO] [stdout] test gateway::rest::tests::permissions_endpoints_support_get_and_put ... ok [INFO] [stdout] test providers::openai::tests::convert_tools_produces_openai_format ... ok [INFO] [stdout] test providers::openai::tests::parse_response_maps_usage_and_tool_calls ... ok [INFO] [stdout] test providers::openrouter::tests::api_response_deserializes_empty_choices ... ok [INFO] [stdout] test providers::openrouter::tests::api_chat_request_serializes_with_tools ... ok [INFO] [stdout] test providers::openrouter::tests::api_response_deserializes_text_only ... ok [INFO] [stdout] test providers::openrouter::tests::api_response_deserializes_with_tool_calls ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_parses_assistant_tool_calls ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_parses_legacy_assistant_tool_calls_format ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_parses_assistant_tool_calls_array_format ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_plain_assistant_no_tool_calls ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_plain_user ... ok [INFO] [stdout] test providers::openrouter::tests::convert_tools_none_when_empty ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_system_and_user ... ok [INFO] [stdout] test providers::openrouter::tests::convert_tools_none_when_none ... ok [INFO] [stdout] test providers::openrouter::tests::convert_tools_produces_openai_format ... ok [INFO] [stdout] test providers::openrouter::tests::parse_response_text_only ... ok [INFO] [stdout] test providers::openrouter::tests::parse_response_tool_call_without_id_gets_uuid ... ok [INFO] [stdout] test providers::openrouter::tests::parse_response_with_tool_calls ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_parses_tool_result ... ok [INFO] [stdout] test providers::openrouter::tests::provider_supports_native_tools ... ok [INFO] [stdout] test session::tests::append_and_load_history_roundtrips_and_updates_count ... ok [INFO] [stdout] test session::tests::creates_default_session_and_persists_on_reload ... ok [INFO] [stdout] test permissions::tests::wildcard_tool_pattern_is_supported ... ok [INFO] [stdout] test providers::openrouter::tests::convert_messages_parses_tool_result_with_result_field ... ok [INFO] [stdout] test providers::openai::tests::provider_supports_native_tools ... ok [INFO] [stdout] test providers::openrouter::tests::api_chat_request_serializes_correctly ... ok [INFO] [stdout] test skills::tests::test_build_prompt_section_empty_without_workspace_dir ... ok [INFO] [stdout] test session::tests::malformed_index_or_history_recovers_with_empty_files ... ok [INFO] [stdout] test skills::tests::test_check_requirements_missing_env ... ok [INFO] [stdout] test gateway::ws::tests::reserve_or_queue_submission_enforces_queue_cap_per_session ... ok [INFO] [stdout] test session::tests::reload_from_disk_observes_external_session_updates ... ok [INFO] [stdout] test permissions::tests::structured_selector_matches ... ok [INFO] [stdout] test skills::tests::test_parse_frontmatter_no_frontmatter ... ok [INFO] [stdout] test skills::tests::test_parse_frontmatter_with_requires ... ok [INFO] [stdout] test skills::tests::test_parse_frontmatter_missing_name ... ok [INFO] [stdout] test skills::tests::test_parse_frontmatter_basic ... ok [INFO] [stdout] test skills::tests::test_check_requirements_no_requirements ... ok [INFO] [stdout] test skills::tests::test_parse_yaml_array ... ok [INFO] [stdout] test session::tests::rename_switch_clear_and_delete_fallback_behavior ... ok [INFO] [stdout] test skills::tests::test_skills_loader_without_workspace_dir ... ok [INFO] [stdout] test skills::tests::test_prompt_uses_filesystem_read_instructions_for_on_demand_skills ... ok [INFO] [stdout] test skills::tests::test_which_finds_common_binary ... ok [INFO] [stdout] test skills::tests::test_workspace_skill_loads ... ok [INFO] [stdout] test skills::tests::test_write_skill_file_rejects_path_outside_skills_dir ... ok [INFO] [stdout] test skills::tests::test_write_and_read_skill_file_roundtrip ... ok [INFO] [stdout] test system_events::tests::persists_pending_event_on_create ... ok [INFO] [stdout] test skills::tests::test_build_skills_status_snapshot_includes_missing_requirements ... ok [INFO] [stdout] test skills::tests::test_which_missing_binary ... ok [INFO] [stdout] test skills::tests::test_check_requirements_missing_bin ... ok [INFO] [stdout] test tools::filesystem_glob::tests::filesystem_glob_invalid_pattern_returns_error ... ok [INFO] [stdout] test tools::filesystem_glob::tests::filesystem_glob_name_and_schema ... ok [INFO] [stdout] test system_events::tests::lifecycle_updates_and_cleanup ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_name_and_schema ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_missing_path_param_is_error ... ok [INFO] [stdout] test tools::filesystem_glob::tests::filesystem_glob_finds_files ... ok [INFO] [stdout] test tools::filesystem_search::tests::filesystem_search_name_and_schema ... ok [INFO] [stdout] test tools::filesystem_search::tests::filesystem_search_missing_pattern_param_is_error ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_full_file ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_non_utf8_falls_back_to_lossy ... ok [INFO] [stdout] test tools::filesystem_glob::tests::filesystem_glob_resolves_relative_pattern_from_workspace_dir ... ok [INFO] [stdout] test tools::filesystem_write::tests::filesystem_write_missing_path_param_is_error ... ok [INFO] [stdout] test tools::filesystem_search::tests::filesystem_search_finds_matches ... ok [INFO] [stdout] test tools::filesystem_write::tests::filesystem_write_name_and_schema ... ok [INFO] [stdout] test tools::filesystem_search::tests::filesystem_search_respects_include_filter ... ok [INFO] [stdout] test tools::filesystem_write::tests::filesystem_write_creates_file ... ok [INFO] [stdout] test tools::mcp_oauth::tests::fetches_auth_server_metadata_from_issuer_or_metadata_url ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_rejects_directory_path ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_resolves_relative_path_from_workspace_dir ... ok [INFO] [stdout] test tools::filesystem_read::tests::filesystem_read_offset_and_limit ... ok [INFO] [stdout] test tools::mcp_client::tests::prefixed_name_format ... ok [INFO] [stdout] test tools::mcp_oauth::tests::merge_scopes_deduplicates_and_sorts ... ok [INFO] [stdout] test tools::filesystem_search::tests::filesystem_search_defaults_to_workspace_dir_for_relative_root ... ok [INFO] [stdout] test tools::mcp_protocol::tests::response_parses_result_and_error_shapes ... ok [INFO] [stdout] test tools::mcp_oauth::tests::parse_bearer_challenge_extracts_basic_fields ... ok [INFO] [stdout] test tools::mcp_oauth::tests::parse_bearer_challenge_ignores_non_bearer_scheme ... ok [INFO] [stdout] test tools::mcp_protocol::tests::notification_omits_id_when_serialized ... ok [INFO] [stdout] test tools::mcp_protocol::tests::request_has_jsonrpc_2_0 ... ok [INFO] [stdout] test tools::mcp_client::tests::connect_all_nonfatal_on_single_failure ... ok [INFO] [stdout] test tools::mcp_tool::tests::wrapper_forwards_name_description_and_schema ... ok [INFO] [stdout] test tools::mcp_tool::tests::wrapper_returns_failure_for_unknown_tool ... ok [INFO] [stdout] test tools::mcp_transport::tests::http_transport_requires_url ... ok [INFO] [stdout] test tools::filesystem_write::tests::filesystem_write_creates_parent_dirs ... ok [INFO] [stdout] test tools::mcp_client::tests::official_style_flow_works_over_stdio ... ok [INFO] [stdout] test gateway::ws::tests::stop_active_run_clears_queue_and_persists_stop_note ... ok [INFO] [stdout] test tools::mcp_transport::tests::http_transport_returns_error_on_non_2xx ... ok [INFO] [stdout] test tools::mcp_transport::tests::http_transport_reuses_mcp_session_id ... ok [INFO] [stdout] test tools::filesystem_write::tests::filesystem_write_resolves_relative_path_from_workspace_dir ... ok [INFO] [stdout] test tools::mcp_transport::tests::http_transport_parses_sse_jsonrpc_response ... ok [INFO] [stdout] test tools::mcp_transport::tests::http_transport_sends_required_accept_header ... ok [INFO] [stdout] test tools::shell::tests::shell_executes_echo ... ok [INFO] [stdout] test tools::mcp_client::tests::official_style_flow_works_over_http ... ok [INFO] [stdout] test tools::shell::tests::shell_empty_path_falls_back_to_workspace_dir ... ok [INFO] [stdout] test tools::shell::tests::shell_fails_when_path_is_missing_or_invalid ... ok [INFO] [stdout] test tools::shell::tests::shell_missing_command_param ... ok [INFO] [stdout] test tools::shell::tests::shell_captures_stderr ... ok [INFO] [stdout] test tools::shell::tests::shell_respects_custom_output_limit ... ok [INFO] [stdout] test tools::shell::tests::shell_tool_description_not_empty ... ok [INFO] [stdout] test tools::shell::tests::shell_resolves_relative_commands_from_workspace_dir ... ok [INFO] [stdout] test tools::shell::tests::shell_tool_spec_is_consistent ... ok [INFO] [stdout] test tools::shell::tests::shell_handles_nonexistent_command ... ok [INFO] [stdout] test tools::shell::tests::shell_captures_exit_code ... ok [INFO] [stdout] test tools::process::tests::process_kill_terminates_running_process ... ok [INFO] [stdout] test tools::shell::tests::shell_wrong_type_param ... ok [INFO] [stdout] test tools::tests::default_registry_registers_web_tools_only_when_enabled ... ok [INFO] [stdout] test tools::tests::enriches_shell_args_with_resolved_path ... ok [INFO] [stdout] test tools::mcp_transport::tests::stdio_transport_spawn_failure_is_clean_error ... ok [INFO] [stdout] test tools::tests::enriches_web_fetch_args_with_domain ... ok [INFO] [stdout] test tools::tests::failed_tool_uses_error_text_as_output_when_output_empty ... ok [INFO] [stdout] test tools::tests::leaves_non_web_fetch_args_untouched ... ok [INFO] [stdout] test tools::shell::tests::shell_uses_relative_path_argument_from_workspace ... ok [INFO] [stdout] test tools::tests::permission_engine_matches_shell_command_and_path_selector ... ok [INFO] [stdout] test tools::tests::permission_engine_matches_domain_selector_for_web_fetch ... ok [INFO] [stdout] test tools::web_fetch::tests::execute_rejects_non_http_scheme ... ok [INFO] [stdout] test tools::tests::permission_engine_matches_process_spawn_selector ... ok [INFO] [stdout] test tools::web_fetch::tests::truncate_chars_preserves_char_boundaries ... ok [INFO] [stdout] test tools::web_search::tests::build_openrouter_payload_includes_web_plugin ... ok [INFO] [stdout] test tools::web_search::tests::execute_openrouter_posts_model_and_plugin ... ok [INFO] [stdout] test tools::web_fetch::tests::execute_fetches_html_and_applies_max_chars ... ok [INFO] [stdout] test tools::web_search::tests::format_openrouter_results_dedupes_citations ... ok [INFO] [stdout] test tools::web_fetch::tests::html_to_text_strips_script_and_style_noise ... ok [INFO] [stdout] test gateway::ws::tests::different_sessions_can_run_concurrently_when_capacity_allows ... ok [INFO] [stdout] test gateway::ws::tests::queued_message_is_not_auto_dispatched_after_error ... ok [INFO] [stdout] test tools::shell::tests::shell_tool_name ... ok [INFO] [stdout] test tools::shell::tests::shell_tool_schema_has_command ... ok [INFO] [stdout] test gateway::ws::tests::queued_session_waiting_on_global_capacity_starts_after_done ... ok [INFO] [stdout] test tools::process::tests::process_enforces_max_concurrent_limit ... ok [INFO] [stdout] test tools::shell::tests::shell_uses_absolute_path_argument ... ok [INFO] [stdout] test gateway::ws::tests::queued_message_auto_dispatches_after_done ... ok [INFO] [stdout] test tools::web_fetch::tests::execute_retries_after_transient_503 ... ok [INFO] [stdout] test tools::web_search::tests::execute_openrouter_retries_after_server_error ... ok [INFO] [stdout] test tools::process::tests::process_spawn_wait_and_output_flow ... ok [INFO] [stdout] test tools::process::tests::process_wait_can_timeout_without_failure ... ok [INFO] [stdout] test tools::shell::tests::shell_timeout_message_uses_configured_value ... ok [INFO] [stdout] test tools::process::tests::process_cleanup_removes_expired_completed_entries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 200 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.28s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "64c5b81c3a75295fb0f0d6fba4a17c8941e8b29c49e9436bfdd20e80b415d5b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64c5b81c3a75295fb0f0d6fba4a17c8941e8b29c49e9436bfdd20e80b415d5b5", kill_on_drop: false }` [INFO] [stdout] 64c5b81c3a75295fb0f0d6fba4a17c8941e8b29c49e9436bfdd20e80b415d5b5