[INFO] cloning repository https://github.com/Arunachalamkalimuthu/merlin-ai-code-review [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Arunachalamkalimuthu/merlin-ai-code-review" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunachalamkalimuthu%2Fmerlin-ai-code-review", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunachalamkalimuthu%2Fmerlin-ai-code-review'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0729aaecc523a068c877c493ef72736856f63bcc [INFO] testing Arunachalamkalimuthu/merlin-ai-code-review against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunachalamkalimuthu%2Fmerlin-ai-code-review" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/Arunachalamkalimuthu/merlin-ai-code-review [INFO] finished tweaking git repo https://github.com/Arunachalamkalimuthu/merlin-ai-code-review [INFO] tweaked toml for git repo https://github.com/Arunachalamkalimuthu/merlin-ai-code-review written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Arunachalamkalimuthu/merlin-ai-code-review 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 git repo https://github.com/Arunachalamkalimuthu/merlin-ai-code-review 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 tokio-test v0.4.5 [INFO] [stderr] Downloaded serde_yaml_ng v0.10.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] 3d98b6536603e1b76b4a0983f0f1e9f4a41c58029fd419d888cfdf5899146078 [INFO] running `Command { std: "docker" "start" "-a" "3d98b6536603e1b76b4a0983f0f1e9f4a41c58029fd419d888cfdf5899146078", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d98b6536603e1b76b4a0983f0f1e9f4a41c58029fd419d888cfdf5899146078", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d98b6536603e1b76b4a0983f0f1e9f4a41c58029fd419d888cfdf5899146078", kill_on_drop: false }` [INFO] [stdout] 3d98b6536603e1b76b4a0983f0f1e9f4a41c58029fd419d888cfdf5899146078 [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] 61e5ed1f6f348505532beb54c46a8200ef06ad93cb41cfc63ff8579a81319676 [INFO] running `Command { std: "docker" "start" "-a" "61e5ed1f6f348505532beb54c46a8200ef06ad93cb41cfc63ff8579a81319676", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde v1.0.228 [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 icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_yaml_ng v0.10.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_provider v2.1.1 [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 matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling merlin v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] running `Command { std: "docker" "inspect" "61e5ed1f6f348505532beb54c46a8200ef06ad93cb41cfc63ff8579a81319676", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61e5ed1f6f348505532beb54c46a8200ef06ad93cb41cfc63ff8579a81319676", kill_on_drop: false }` [INFO] [stdout] 61e5ed1f6f348505532beb54c46a8200ef06ad93cb41cfc63ff8579a81319676 [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] 66a74d6a6f1fc11f8e7a2d71ccd799e67431f1c1aa32caa60c3aff408124532c [INFO] running `Command { std: "docker" "start" "-a" "66a74d6a6f1fc11f8e7a2d71ccd799e67431f1c1aa32caa60c3aff408124532c", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling merlin v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "66a74d6a6f1fc11f8e7a2d71ccd799e67431f1c1aa32caa60c3aff408124532c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66a74d6a6f1fc11f8e7a2d71ccd799e67431f1c1aa32caa60c3aff408124532c", kill_on_drop: false }` [INFO] [stdout] 66a74d6a6f1fc11f8e7a2d71ccd799e67431f1c1aa32caa60c3aff408124532c [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] 0267f16db905d7d851eb1a40ce139f3e5074e8ac489c86e9d1a9f569f4068251 [INFO] running `Command { std: "docker" "start" "-a" "0267f16db905d7d851eb1a40ce139f3e5074e8ac489c86e9d1a9f569f4068251", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/merlin-50ef15bfe7ff4965) [INFO] [stdout] [INFO] [stdout] running 123 tests [INFO] [stdout] test agent::tests::test_tool_def_prompt_line_no_params ... ok [INFO] [stdout] test agent::tests::test_agent_message_constructors ... ok [INFO] [stdout] test agent::memory::tests::test_memory_push_and_evict ... ok [INFO] [stdout] test agent::memory::tests::test_memory_clear ... ok [INFO] [stdout] test agent::tests::test_tool_def_prompt_line_with_params ... ok [INFO] [stdout] test agent::tools::tests::test_all_tools_have_non_empty_description ... ok [INFO] [stdout] test agent::tools::tests::test_post_comment_tool_requires_body ... ok [INFO] [stdout] test ai::anthropic::tests::parse_empty_response ... ok [INFO] [stdout] test agent::tools::tests::test_builtin_tools_have_unique_names ... ok [INFO] [stdout] test ai::anthropic::tests::parse_with_markdown_fence ... ok [INFO] [stdout] test ai::bedrock::tests::test_format_utc ... ok [INFO] [stdout] test ai::bedrock::tests::test_is_leap ... ok [INFO] [stdout] test agent::channels::discord::tests::test_strip_mention_no_id ... ok [INFO] [stdout] test ai::claude_code::tests::test_parse_empty ... ok [INFO] [stdout] test ai::claude_code::tests::test_parse_valid_response ... ok [INFO] [stdout] test agent::memory::tests::test_memory_persistence ... ok [INFO] [stdout] test ai::anthropic::tests::parse_valid_response ... ok [INFO] [stdout] test ai::openai::tests::parse_direct_array ... ok [INFO] [stdout] test ai::openai::tests::parse_wrapped_object ... ok [INFO] [stdout] test ai::response::tests::error_on_invalid_json ... ok [INFO] [stdout] test ai::openai::tests::parse_empty_array ... ok [INFO] [stdout] test ai::response::tests::parse_bare_array ... ok [INFO] [stdout] test ai::response::tests::parse_empty_array ... ok [INFO] [stdout] test ai::response::tests::parse_markdown_fenced ... ok [INFO] [stdout] test ai::response::tests::parse_plain_fence ... ok [INFO] [stdout] test ai::response::tests::parse_wrapped_comments_key ... ok [INFO] [stdout] test agent::runtime::tests::test_parse_tool_call_with_params ... ok [INFO] [stdout] test agent::runtime::tests::test_parse_tool_calls_empty ... ok [INFO] [stdout] test agent::runtime::tests::test_parse_tool_calls_single ... ok [INFO] [stdout] test agent::runtime::tests::test_strip_tool_calls ... ok [INFO] [stdout] test agent::runtime::tests::test_strip_tool_calls_none ... ok [INFO] [stdout] test agent::runtime::tests::test_parse_tool_calls_multiple ... ok [INFO] [stdout] test ai::tests::severity_ordered_correctly ... ok [INFO] [stdout] test ai::response::tests::parse_wrapped_reviews_key ... ok [INFO] [stdout] test ai::tests::system_prompt_contains_focus ... ok [INFO] [stdout] test audit::tests::test_format_rfc3339 ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test audit::tests::test_audit_event_serialization ... ok [INFO] [stdout] test audit::tests::test_logger_disabled ... ok [INFO] [stdout] test ai::tests::system_prompt_with_persona_overrides_focus ... ok [INFO] [stdout] test config::tests::test_load_from_file ... ok [INFO] [stdout] test digest::tests::test_complexity_score_empty ... ok [INFO] [stdout] test digest::tests::test_classify_priority ... ok [INFO] [stdout] test digest::tests::test_size_label ... ok [INFO] [stdout] test config::tests::test_azure_openai_config ... ok [INFO] [stdout] test feedback::tests::high_accept_ratio_not_suppressed ... ok [INFO] [stdout] test config::tests::test_load_from_missing_file ... ok [INFO] [stdout] test config::tests::test_bedrock_config ... ok [INFO] [stdout] test digest::tests::test_risk_level_emoji ... ok [INFO] [stdout] test feedback::tests::pattern_key_is_stable ... ok [INFO] [stdout] test config::tests::test_load_toml ... ok [INFO] [stdout] test feedback::tests::filter_removes_suppressed_patterns ... ok [INFO] [stdout] test diff::parser::tests::test_parse_basic_diff ... ok [INFO] [stdout] test feedback::tests::suppression_requires_min_samples ... ok [INFO] [stdout] test diff::parser::tests::test_hunk_lines ... ok [INFO] [stdout] test diff::parser::tests::test_new_file_diff ... ok [INFO] [stdout] test diff::parser::tests::test_diff_text_roundtrip ... ok [INFO] [stdout] test feedback::tests::store_roundtrip ... ok [INFO] [stdout] test integrations::codetriage::tests::test_parse_github_repo ... ok [INFO] [stdout] test integrations::jira::tests::test_format_issues_table_empty ... ok [INFO] [stdout] test integrations::codetriage::tests::test_parse_github_repo_invalid ... ok [INFO] [stdout] test integrations::codetriage::tests::test_format_issues_table_empty ... ok [INFO] [stdout] test diff::parser::tests::test_multi_file_diff ... ok [INFO] [stdout] test integrations::linear::tests::test_format_table_empty ... ok [INFO] [stdout] test integrations::snyk::tests::test_format_empty ... ok [INFO] [stdout] test rag::retriever::tests::test_format_single_doc ... ok [INFO] [stdout] test rag::indexer::tests::test_chunk_file_multiple_chunks ... ok [INFO] [stdout] test rag::indexer::tests::test_chunk_file_small ... ok [INFO] [stdout] test rag::indexer::tests::test_comment_to_doc ... ok [INFO] [stdout] test rag::retriever::tests::test_format_multiple_docs ... ok [INFO] [stdout] test rag::indexer::tests::test_collect_skips_target ... ok [INFO] [stdout] test agent::channels::discord::tests::test_strip_mention_with_id ... ok [INFO] [stdout] test rag::retriever::tests::test_format_empty ... ok [INFO] [stdout] test rag::store::local::tests::test_local_min_score_filter ... ok [INFO] [stdout] test rag::store::tests::test_cosine_zero_vector ... ok [INFO] [stdout] test rag::store::tests::test_doc_id_distinct ... ok [INFO] [stdout] test rag::store::tests::test_doc_id_stable ... ok [INFO] [stdout] test rag::store::memory::tests::test_memory_clear ... ok [INFO] [stdout] test integrations::linear::tests::test_extract_identifiers ... ok [INFO] [stdout] test rag::store::local::tests::test_local_upsert_and_search ... ok [INFO] [stdout] test integrations::snyk::tests::test_parse_pypi ... ok [INFO] [stdout] test rag::store::local::tests::test_local_persistence ... ok [INFO] [stdout] test integrations::snyk::tests::test_parse_npm ... ok [INFO] [stdout] test integrations::snyk::tests::test_parse_cargo ... ok [INFO] [stdout] test rag::indexer::tests::test_matches_extension ... ok [INFO] [stdout] test review::cache::tests::empty_hunks_produce_stable_hash ... ok [INFO] [stdout] test review::engine::tests::test_build_summary_empty ... ok [INFO] [stdout] test rag::tests::test_rag_config_defaults ... ok [INFO] [stdout] test review::engine::tests::test_build_summary_with_comments ... ok [INFO] [stdout] test review::engine::tests::test_build_summary_with_complexity ... ok [INFO] [stdout] test rag::store::local::tests::test_local_count_and_clear ... ok [INFO] [stdout] test review::cache::tests::cache_roundtrip ... ok [INFO] [stdout] test rag::store::tests::test_cosine_identical ... ok [INFO] [stdout] test review::engine::tests::test_build_valid_diff_lines_empty ... ok [INFO] [stdout] test rag::store::memory::tests::test_memory_roundtrip ... ok [INFO] [stdout] test review::engine::tests::test_chunk_lines ... ok [INFO] [stdout] test rag::store::tests::test_cosine_orthogonal ... ok [INFO] [stdout] test review::engine::tests::test_deduplicate ... ok [INFO] [stdout] test review::engine::tests::test_nearest_valid_line_no_file ... ok [INFO] [stdout] test tools::spec::tests::spec_tool_name ... ok [INFO] [stdout] test review::cache::tests::different_content_produces_different_hash ... ok [INFO] [stdout] test rules::tests::parse_rules_yaml ... ok [INFO] [stdout] test rules::tests::prompt_directives_includes_both_types ... ok [INFO] [stdout] test integrations::jira::tests::test_extract_issue_keys ... ok [INFO] [stdout] test rules::tests::check_diff_finds_pattern ... ok [INFO] [stdout] test rag::tests::test_build_pipeline_local ... ok [INFO] [stdout] test tools::tests::route_all_known_commands ... ok [INFO] [stdout] test tools::tests::route_unknown_command_returns_error ... ok [INFO] [stdout] test update::tests::is_newer_detects_minor ... ok [INFO] [stdout] test update::tests::is_newer_detects_major ... ok [INFO] [stdout] test update::tests::is_newer_detects_patch ... ok [INFO] [stdout] test update::tests::platform_asset_returns_string ... ok [INFO] [stdout] test update::tests::sha256_hex_known_value ... ok [INFO] [stdout] test rules::tests::path_match_filters_correctly ... ok [INFO] [stdout] test rules::tests::glob_matching_works ... ok [INFO] [stdout] test digest::tests::test_estimate_tokens ... ok [INFO] [stdout] test diff::parser::tests::test_deleted_file_diff ... ok [INFO] [stdout] test update::tests::is_newer_ignores_prerelease_suffix ... ok [INFO] [stdout] test tools::tests::regex_compiled_only_once ... ok [INFO] [stdout] test tools::tests::parse_command_no_match ... ok [INFO] [stdout] test tools::tests::parse_command_case_insensitive ... ok [INFO] [stdout] test tools::tests::parse_bare_command ... ok [INFO] [stdout] test tools::tests::parse_command_with_bot_mention ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 123 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/merlin-bc229c98fa9a2fd2) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/test_command_routing.rs (/opt/rustwide/target/debug/deps/test_command_routing-d78c03603da8cc5a) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test route_all_known_commands ... ok [INFO] [stdout] test route_spec_command ... ok [INFO] [stdout] test route_command_is_case_insensitive ... ok [INFO] [stdout] test route_unknown_command_returns_error ... ok [INFO] [stdout] test parse_command_spec ... ok [INFO] [stdout] test parse_simple_slash_command ... ok [INFO] [stdout] test parse_command_with_multiword_arg ... ok [INFO] [stdout] test parse_command_with_bot_mention ... ok [INFO] [stdout] test parse_command_no_arg_when_none_given ... ok [INFO] [stdout] test parse_command_case_insensitive_bot_mention ... ok [INFO] [stdout] test parse_command_case_insensitive_command ... ok [INFO] [stdout] test parse_command_no_match_on_plain_text ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/test_diff_parser.rs (/opt/rustwide/target/debug/deps/test_diff_parser-2b0084a3a8690594) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test diff_text_roundtrip_preserves_content ... ok [INFO] [stdout] test parse_diff_with_no_hunks_returns_empty ... ok [INFO] [stdout] test parse_deleted_file ... ok [INFO] [stdout] test parse_empty_string_returns_empty_vec ... ok [INFO] [stdout] test parse_multiple_files ... ok [INFO] [stdout] test parse_multiple_hunks_in_one_file ... ok [INFO] [stdout] test parse_large_diff_does_not_panic ... ok [INFO] [stdout] test parse_single_added_line ... ok [INFO] [stdout] test parse_new_file ... ok [INFO] [stdout] test path_extracts_b_side ... ok [INFO] [stdout] test path_with_subdirectory ... ok [INFO] [stdout] [INFO] [stderr] Running tests/test_digest.rs (/opt/rustwide/target/debug/deps/test_digest-36a75d33e03e48d4) [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test build_pr_status_detects_tests ... ok [INFO] [stdout] test build_pr_status_size_label_from_additions_deletions ... ok [INFO] [stdout] test build_pr_status_detects_migration ... ok [INFO] [stdout] test build_pr_status_detects_secrets_risk ... ok [INFO] [stdout] test classify_application_files_as_high ... ok [INFO] [stdout] test classify_auth_files_as_critical ... ok [INFO] [stdout] test classify_generated_files_as_low ... ok [INFO] [stdout] test classify_is_case_insensitive ... ok [INFO] [stdout] test compress_diff_short_file_is_unchanged ... ok [INFO] [stdout] test estimate_tokens_empty_string ... ok [INFO] [stdout] test compress_diff_truncates_long_files ... ok [INFO] [stdout] test classify_test_files_as_medium ... ok [INFO] [stdout] test estimate_tokens_scales_with_length ... ok [INFO] [stdout] test prioritize_puts_critical_first ... ok [INFO] [stdout] test prioritize_respects_token_budget ... ok [INFO] [stdout] test estimate_tokens_short_text ... ok [INFO] [stdout] test security_keyword_beats_test_keyword ... ok [INFO] [stdout] test size_label_strings ... ok [INFO] [stdout] test size_label_boundaries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_review_engine.rs (/opt/rustwide/target/debug/deps/test_review_engine-619117069c3ecb96) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test run_local_deduplicates_same_file_line_title ... ok [INFO] [stdout] test run_local_sorts_critical_first ... ok [INFO] [stdout] test run_posts_all_inline_comments ... ok [INFO] [stdout] test run_local_keeps_distinct_comments ... ok [INFO] [stdout] test run_local_empty_diff_returns_no_comments ... ok [INFO] [stdout] test summary_includes_file_table ... ok [INFO] [stdout] test run_posts_summary_after_review ... ok [INFO] [stdout] test summary_no_issues_is_positive ... ok [INFO] [stdout] test summary_mentions_all_severities ... ok [INFO] [stdout] test run_returns_empty_on_no_diff ... ok [INFO] [stdout] test run_local_caps_at_max_comments ... ok [INFO] [stderr] Running tests/test_tools_describe.rs (/opt/rustwide/target/debug/deps/test_tools_describe-3c43388cdee07a9b) [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test describe_keeps_existing_title_when_json_omits_title ... ok [INFO] [stdout] test describe_tool_name ... ok [INFO] [stdout] test describe_with_empty_diff_does_not_panic ... ok [INFO] [stdout] test describe_updates_pr_description_with_json_response ... ok [INFO] [stdout] test describe_falls_back_gracefully_on_non_json ... ok [INFO] [stdout] test describe_with_multifile_diff ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/test_tools_spec.rs (/opt/rustwide/target/debug/deps/test_tools_spec-e2f69a4823549ff6) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test spec_output_announces_update ... ok [INFO] [stdout] test spec_falls_back_to_pr_title_when_no_h1 ... ok [INFO] [stdout] test spec_strips_h1_from_posted_body ... ok [INFO] [stdout] test spec_with_draft_pr_succeeds ... ok [INFO] [stdout] test spec_with_pr_labels_succeeds ... ok [INFO] [stdout] test spec_updates_pr_description ... ok [INFO] [stdout] test spec_tool_name ... ok [INFO] [stdout] test spec_handles_empty_existing_description ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests merlin [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test src/ai/mod.rs - ai::build_provider (line 260) - compile ... ok [INFO] [stdout] test src/ai/mod.rs - ai::AiProvider (line 131) - compile ... ok [INFO] [stdout] test src/config/mod.rs - config::Config (line 51) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 22) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 42) - compile ... ok [INFO] [stdout] test src/ai/response.rs - ai::response::parse_review_response (line 28) ... ok [INFO] [stdout] test src/diff/parser.rs - diff::parser (line 23) ... ok [INFO] [stdout] test src/tools/mod.rs - tools::parse_command (line 156) ... ok [INFO] [stdout] test src/tools/mod.rs - tools::route_command (line 94) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.68s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0267f16db905d7d851eb1a40ce139f3e5074e8ac489c86e9d1a9f569f4068251", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0267f16db905d7d851eb1a40ce139f3e5074e8ac489c86e9d1a9f569f4068251", kill_on_drop: false }` [INFO] [stdout] 0267f16db905d7d851eb1a40ce139f3e5074e8ac489c86e9d1a9f569f4068251