[INFO] cloning repository https://github.com/quantumnic/mcpreg [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quantumnic/mcpreg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantumnic%2Fmcpreg", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantumnic%2Fmcpreg'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 036fd4fdee9a1ab9453021601a2144c70c467b4f [INFO] testing quantumnic/mcpreg against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquantumnic%2Fmcpreg" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/quantumnic/mcpreg [INFO] finished tweaking git repo https://github.com/quantumnic/mcpreg [INFO] tweaked toml for git repo https://github.com/quantumnic/mcpreg written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/quantumnic/mcpreg 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 git repo https://github.com/quantumnic/mcpreg 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] db8f15d05316ab6742da10657f671649e2c85d84003fc5292db6a7c7914ece42 [INFO] running `Command { std: "docker" "start" "-a" "db8f15d05316ab6742da10657f671649e2c85d84003fc5292db6a7c7914ece42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db8f15d05316ab6742da10657f671649e2c85d84003fc5292db6a7c7914ece42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db8f15d05316ab6742da10657f671649e2c85d84003fc5292db6a7c7914ece42", kill_on_drop: false }` [INFO] [stdout] db8f15d05316ab6742da10657f671649e2c85d84003fc5292db6a7c7914ece42 [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] 9bb25a086e631d2ec75382d313ed28b29c01a48728d270951a183256c06fd97e [INFO] running `Command { std: "docker" "start" "-a" "9bb25a086e631d2ec75382d313ed28b29c01a48728d270951a183256c06fd97e", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [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 tracing v0.1.44 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling clap_complete v4.5.66 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling mcpreg v0.33.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "9bb25a086e631d2ec75382d313ed28b29c01a48728d270951a183256c06fd97e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9bb25a086e631d2ec75382d313ed28b29c01a48728d270951a183256c06fd97e", kill_on_drop: false }` [INFO] [stdout] 9bb25a086e631d2ec75382d313ed28b29c01a48728d270951a183256c06fd97e [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] b1561da737825b1cde3c7d1bb1986b5324d195b4f6d8842cc3272c3e31d36f69 [INFO] running `Command { std: "docker" "start" "-a" "b1561da737825b1cde3c7d1bb1986b5324d195b4f6d8842cc3272c3e31d36f69", kill_on_drop: false }` [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling tower-http v0.5.2 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling mcpreg v0.33.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/commands/tree.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/registry/server.rs:4104:9 [INFO] [stdout] | [INFO] [stdout] 4104 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/registry/server.rs:4332:9 [INFO] [stdout] | [INFO] [stdout] 4332 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::api::types::ServerEntry` [INFO] [stdout] --> src/registry/server.rs:5105:9 [INFO] [stdout] | [INFO] [stdout] 5105 | use crate::api::types::ServerEntry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/registry/server.rs:5279:9 [INFO] [stdout] | [INFO] [stdout] 5279 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 32.53s [INFO] running `Command { std: "docker" "inspect" "b1561da737825b1cde3c7d1bb1986b5324d195b4f6d8842cc3272c3e31d36f69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1561da737825b1cde3c7d1bb1986b5324d195b4f6d8842cc3272c3e31d36f69", kill_on_drop: false }` [INFO] [stdout] b1561da737825b1cde3c7d1bb1986b5324d195b4f6d8842cc3272c3e31d36f69 [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] f8240d28995f7a545eabaf75d743d274c8ee1191d5a17e77a4cf3fb5d59536ad [INFO] running `Command { std: "docker" "start" "-a" "f8240d28995f7a545eabaf75d743d274c8ee1191d5a17e77a4cf3fb5d59536ad", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/commands/tree.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/registry/server.rs:4104:9 [INFO] [stderr] | [INFO] [stderr] 4104 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/registry/server.rs:4332:9 [INFO] [stderr] | [INFO] [stderr] 4332 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::api::types::ServerEntry` [INFO] [stderr] --> src/registry/server.rs:5105:9 [INFO] [stderr] | [INFO] [stderr] 5105 | use crate::api::types::ServerEntry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/registry/server.rs:5279:9 [INFO] [stderr] | [INFO] [stderr] 5279 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `mcpreg` (bin "mcpreg" test) generated 5 warnings (run `cargo fix --bin "mcpreg" -p mcpreg --tests` to apply 5 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcpreg-0bfdb0d74544b518) [INFO] [stdout] [INFO] [stdout] running 789 tests [INFO] [stdout] test api::client::tests::test_is_retryable_status ... ok [INFO] [stdout] test api::client::tests::test_percent_encode_simple ... ok [INFO] [stdout] test api::client::tests::test_percent_encode_special ... ok [INFO] [stdout] test api::client::tests::test_percent_encode_unicode ... ok [INFO] [stdout] test api::client::tests::test_percent_encode_spaces ... ok [INFO] [stdout] test api::client::tests::test_percent_encode_unreserved ... ok [INFO] [stdout] test api::client::tests::test_user_agent_contains_version ... ok [INFO] [stdout] test api::types::additional_tests::test_installed_server_full_name ... ok [INFO] [stdout] test api::types::additional_tests::test_installed_servers_default_empty ... ok [INFO] [stdout] test api::types::additional_tests::test_server_entry_full_name ... ok [INFO] [stdout] test api::types::additional_tests::test_search_response_serde_roundtrip ... ok [INFO] [stdout] test api::client::tests::test_retry_delay_exponential ... ok [INFO] [stdout] test api::types::prompts_tests::test_server_entry_json_roundtrip_with_prompts ... ok [INFO] [stdout] test api::types::tests::test_installed_server_full_name ... ok [INFO] [stdout] test api::types::tests::test_parse_minimal_manifest ... ok [INFO] [stdout] test api::types::prompts_tests::test_server_entry_from_manifest_includes_prompts ... ok [INFO] [stdout] test api::types::prompts_tests::test_manifest_with_prompts ... ok [INFO] [stdout] test api::types::tests::test_server_entry_from_manifest ... ok [INFO] [stdout] test api::types::additional_tests::test_server_entry_from_manifest ... ok [INFO] [stdout] test color::tests::test_colorize_no_color ... ok [INFO] [stdout] test color::tests::test_format_downloads_millions ... ok [INFO] [stdout] test color::tests::test_format_downloads_negative ... ok [INFO] [stdout] test color::tests::test_format_downloads_small ... ok [INFO] [stdout] test api::types::prompts_tests::test_server_entry_json_missing_prompts_defaults_empty ... ok [INFO] [stdout] test color::tests::test_format_downloads_thousands ... ok [INFO] [stdout] test api::types::tests::test_server_entry_full_name ... ok [INFO] [stdout] test color::tests::test_format_downloads_zero ... ok [INFO] [stdout] test color::tests::test_format_stars_positive ... ok [INFO] [stdout] test color::tests::test_format_stars_zero ... ok [INFO] [stdout] test color::tests::test_highlight_matches_case_insensitive ... ok [INFO] [stdout] test color::tests::test_highlight_matches_single ... ok [INFO] [stdout] test commands::alias::tests::test_alias_resolve_passthrough ... ok [INFO] [stdout] test api::types::tests::test_parse_manifest ... ok [INFO] [stdout] test color::tests::test_highlight_matches_no_match ... ok [INFO] [stdout] test api::types::tests::test_manifest_with_env ... ok [INFO] [stdout] test color::tests::test_highlight_matches_no_terms ... ok [INFO] [stdout] test commands::alias::tests::test_alias_ordering_is_alphabetical ... ok [INFO] [stdout] test color::tests::test_highlight_matches_no_color ... ok [INFO] [stdout] test commands::alias::tests::test_alias_set_and_resolve ... ok [INFO] [stdout] test commands::alias::tests::test_alias_store_default_empty ... ok [INFO] [stdout] test commands::backup::tests::test_backup_format_roundtrip ... ok [INFO] [stdout] test commands::alias::tests::test_alias_overwrite ... ok [INFO] [stdout] test commands::alias::tests::test_alias_store_serde_roundtrip ... ok [INFO] [stdout] test commands::alias::tests::test_alias_remove ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_empty_servers_error ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_entry_from_server_entry ... ok [INFO] [stdout] test commands::batch_install::tests::test_batch_install_dry_run ... ok [INFO] [stdout] test commands::batch_install::tests::test_batch_install_empty_list ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_roundtrip ... ok [INFO] [stdout] test commands::audit::tests::test_audit_no_panic_without_installed ... ok [INFO] [stdout] test commands::cache::tests::test_cache_path_action ... ok [INFO] [stdout] test commands::backup::tests::test_backup_no_servers ... ok [INFO] [stdout] test commands::browse::tests::test_browse_runs_without_error ... ok [INFO] [stdout] test commands::cache::tests::test_cache_status_nonexistent_path ... ok [INFO] [stdout] test commands::cache::tests::test_cache_unknown_action ... ok [INFO] [stdout] test commands::cache::tests::test_format_size_bytes ... ok [INFO] [stdout] test commands::backup::tests::test_restore_invalid_file ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_inspect_missing_file ... ok [INFO] [stdout] test commands::backup::tests::test_restore_dry_run ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_inspect_json_output ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_inspect_invalid_json ... ok [INFO] [stdout] test commands::changelog::tests::test_changelog_bad_ref ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_inspect_valid ... ok [INFO] [stdout] test commands::bundle::tests::test_bundle_create_with_seeded_data ... ok [INFO] [stdout] test commands::batch_install::tests::test_batch_install_bad_ref ... ok [INFO] [stdout] test commands::cache::tests::test_format_size_megabytes ... ok [INFO] [stdout] test commands::changelog::tests::test_changelog_json ... ok [INFO] [stdout] test commands::cache::tests::test_format_size_kilobytes ... ok [INFO] [stdout] test commands::changelog::tests::test_changelog_with_from ... ok [INFO] [stdout] test commands::clean::tests::test_clean_dry_run_no_crash ... ok [INFO] [stdout] test commands::changelog::tests::test_changelog_text ... ok [INFO] [stdout] test commands::compare::tests::test_compare_json_output ... ok [INFO] [stdout] test commands::check::tests::test_which_command_found ... ok [INFO] [stdout] test commands::compat::tests::test_compat_not_found ... ok [INFO] [stdout] test commands::changelog::tests::test_changelog_not_found ... ok [INFO] [stdout] test commands::compare::tests::test_compare_runs_with_seeded_data ... ok [INFO] [stdout] test commands::compat::tests::test_compat_bad_ref ... ok [INFO] [stdout] test commands::compat::tests::test_compat_json_output ... ok [INFO] [stdout] test commands::compare::tests::test_parse_ref_invalid ... ok [INFO] [stdout] test commands::compat::tests::test_compat_overlapping_tools_detected ... ok [INFO] [stdout] test commands::compat::tests::test_compat_same_server ... ok [INFO] [stdout] test commands::compat::tests::test_compat_seeded_servers ... ok [INFO] [stdout] test commands::compare::tests::test_parse_ref_valid ... ok [INFO] [stdout] test commands::compat::tests::test_parse_ref_invalid ... ok [INFO] [stdout] test commands::compat::tests::test_parse_ref_valid ... ok [INFO] [stdout] test commands::compose::tests::test_print_env_empty ... ok [INFO] [stdout] test commands::compose::tests::test_print_env_config_no_panic ... ok [INFO] [stdout] test commands::compose::tests::test_print_env_skips_no_env ... ok [INFO] [stdout] test commands::compose::tests::test_print_json_config_no_panic ... ok [INFO] [stdout] test commands::compose::tests::test_print_json_multiple_servers ... ok [INFO] [stdout] test commands::compose::tests::test_print_toml_empty ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_get_registry_url ... ok [INFO] [stdout] test commands::compose::tests::test_print_json_empty ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_path ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_get_unknown_key ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_show ... ok [INFO] [stdout] test commands::count::tests::test_count_total ... ok [INFO] [stdout] test commands::count::tests::test_count_by_transport ... ok [INFO] [stdout] test commands::compose::tests::test_print_toml_config_no_panic ... ok [INFO] [stdout] test commands::config_cmd::tests::test_mask_key_long ... ok [INFO] [stdout] test commands::config_cmd::tests::test_mask_key_short ... ok [INFO] [stdout] test commands::count::tests::test_count_by_owner ... ok [INFO] [stdout] test commands::count::tests::test_count_by_category ... ok [INFO] [stdout] test commands::env::tests::test_infer_env_vars_known_server ... ok [INFO] [stdout] test commands::deps::tests::test_deps_bad_ref ... ok [INFO] [stdout] test commands::check::tests::test_which_command_not_found ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_unknown_action ... ok [INFO] [stdout] test commands::env::tests::test_infer_env_vars_stripe ... ok [INFO] [stdout] test commands::env::tests::test_infer_env_vars_cloudflare ... ok [INFO] [stdout] test commands::env::tests::test_infer_env_vars_unknown_server ... ok [INFO] [stdout] test commands::env::tests::test_infer_env_vars_aws ... ok [INFO] [stdout] test commands::export::tests::test_export_env_empty ... ok [INFO] [stdout] test commands::export::tests::test_export_json_format ... ok [INFO] [stdout] test commands::export::tests::test_export_env_format ... ok [INFO] [stdout] test commands::export::tests::test_export_format_from_str ... ok [INFO] [stdout] test commands::export::tests::test_export_no_servers ... ok [INFO] [stdout] test commands::config_cmd::tests::test_config_set_requires_value ... ok [INFO] [stdout] test commands::favorites::tests::test_favorites_default_empty ... ok [INFO] [stdout] test commands::favorites::tests::test_favorites_note_default ... ok [INFO] [stdout] test commands::export::tests::test_export_toml_empty ... ok [INFO] [stdout] test commands::favorites::tests::test_favorites_serde_roundtrip ... ok [INFO] [stdout] test commands::export::tests::test_export_toml_format ... ok [INFO] [stdout] test commands::favorites::tests::test_favorites_multiple_entries ... ok [INFO] [stdout] test commands::export::tests::test_export_to_file ... ok [INFO] [stdout] test commands::favorites::tests::test_parse_ref_invalid ... ok [INFO] [stdout] test commands::favorites::tests::test_parse_ref_valid ... ok [INFO] [stdout] test commands::history::tests::test_chrono_now_format ... ok [INFO] [stdout] test commands::export::tests::test_export_json_empty ... ok [INFO] [stdout] test commands::history::tests::test_days_to_date_epoch ... ok [INFO] [stdout] test commands::history::tests::test_days_to_date_known ... ok [INFO] [stdout] test commands::history::tests::test_history_entry_serde_roundtrip ... ok [INFO] [stdout] test commands::history::tests::test_history_default_empty ... ok [INFO] [stdout] test commands::favorites::tests::test_parse_ref_with_extra_slash ... ok [INFO] [stdout] test commands::init::tests::test_init_creates_manifest ... ok [INFO] [stdout] test commands::init::tests::test_init_refuses_overwrite ... ok [INFO] [stdout] test commands::import_cmd::tests::test_parse_bare_array_format ... ok [INFO] [stdout] test commands::import_cmd::tests::test_parse_export_format ... ok [INFO] [stdout] test commands::inspect::tests::test_compute_score_full ... ok [INFO] [stdout] test commands::deps::tests::test_detect_runtime_exists ... ok [INFO] [stdout] test commands::inspect::tests::test_compute_score_minimal ... ok [INFO] [stdout] test commands::install::tests::test_parse_server_ref_with_multiple_slashes ... ok [INFO] [stdout] test commands::inspect::tests::test_format_downloads_units ... ok [INFO] [stdout] test commands::inspect::tests::test_inspect_bad_ref ... ok [INFO] [stdout] test commands::install::tests::test_parse_server_ref_valid ... ok [INFO] [stdout] test commands::install::tests::test_parse_server_ref_invalid ... ok [INFO] [stdout] test commands::install::timestamp_tests::test_chrono_now_is_iso8601 ... ok [INFO] [stdout] test commands::lock::tests::test_compute_checksum_deterministic ... ok [INFO] [stdout] test commands::install::timestamp_tests::test_chrono_now_year_reasonable ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_empty_installed ... ok [INFO] [stdout] test commands::lint::tests::test_lint_detects_missing_fields ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_from_installed ... ok [INFO] [stdout] test commands::lint::tests::test_lint_valid_manifest ... ok [INFO] [stdout] test commands::lock::tests::test_drift_kind_display ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_verify_missing_server ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_verify_version_mismatch ... ok [INFO] [stdout] test commands::pin::tests::test_pinned_deserialization_backward_compat ... ok [INFO] [stdout] test commands::dedupe::tests::test_dedupe_partial_overlap ... ok [INFO] [stdout] test commands::pin::tests::test_pinned_serialization_roundtrip ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_serialization_roundtrip ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_verify_extra_server ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_verify_all_match ... ok [INFO] [stdout] test commands::lock::tests::test_lockfile_verify_empty_vs_empty ... ok [INFO] [stdout] test commands::import_cmd::tests::test_import_updates_existing ... ok [INFO] [stdout] test commands::profile::tests::test_profile_serialization ... ok [INFO] [stdout] test commands::profile::tests::test_profile_store_default ... ok [INFO] [stdout] test commands::publish::tests::test_validate_missing_command ... ok [INFO] [stdout] test commands::publish::tests::test_validate_missing_name ... ok [INFO] [stdout] test commands::profile::tests::test_profile_store_roundtrip ... ok [INFO] [stdout] test commands::profile::tests::test_profile_with_metadata ... ok [INFO] [stdout] test commands::publish::tests::test_validate_valid_manifest ... ok [INFO] [stdout] test commands::publish::tests::test_validate_bad_version ... ok [INFO] [stdout] test commands::random::tests::test_random_json_runs_without_panic ... ok [INFO] [stdout] test commands::rate::tests::test_rate_invalid_rating_too_low ... ok [INFO] [stdout] test commands::rate::tests::test_rate_invalid_server_format ... ok [INFO] [stdout] test commands::recommend::tests::test_recommend_no_installed ... ok [INFO] [stdout] test commands::rate::tests::test_rate_invalid_rating_too_high ... ok [INFO] [stdout] test commands::prompts::tests::test_prompts_json ... ok [INFO] [stdout] test commands::prompts::tests::test_prompts_runs ... ok [INFO] [stdout] test commands::random::tests::test_random_runs_without_panic ... ok [INFO] [stdout] test commands::similar::tests::test_similar_bad_ref ... ok [INFO] [stdout] test commands::recommend::tests::test_recommend_json_no_installed ... ok [INFO] [stdout] test commands::snapshot::tests::test_chrono_now_returns_numeric ... ok [INFO] [stdout] test commands::random::tests::test_random_with_category ... ok [INFO] [stdout] test commands::summary::tests::test_format_number ... ok [INFO] [stdout] test commands::status::tests::test_status_does_not_panic ... ok [INFO] [stdout] test commands::status::tests::test_status_json ... ok [INFO] [stdout] test commands::doctor::tests::test_doctor_does_not_panic ... ok [INFO] [stdout] test commands::summary::tests::test_summary_text ... ok [INFO] [stdout] test commands::tags::tests::test_tags_runs_without_panic ... ok [INFO] [stdout] test commands::tools::tests::test_tools_json ... ok [INFO] [stdout] test commands::tools::tests::test_tools_with_filter ... ok [INFO] [stdout] test commands::summary::tests::test_summary_json ... ok [INFO] [stdout] test commands::similar::tests::test_similar_json ... ok [INFO] [stdout] test commands::tools::tests::test_tools_runs ... ok [INFO] [stdout] test commands::similar::tests::test_similar_not_found ... ok [INFO] [stdout] test commands::top::tests::test_top_json_output ... ok [INFO] [stdout] test commands::top::tests::test_top_invalid_criterion ... ok [INFO] [stdout] test commands::dedupe::tests::test_dedupe_empty_tools_skipped ... ok [INFO] [stdout] test commands::trending::tests::test_format_downloads ... ok [INFO] [stdout] test commands::validate::tests::test_validate_invalid_toml ... ok [INFO] [stdout] test commands::validate::tests::test_validate_missing_required ... ok [INFO] [stdout] test commands::validate::tests::test_validate_bad_transport ... ok [INFO] [stdout] test commands::versions::tests::test_versions_bad_ref ... ok [INFO] [stdout] test commands::import_cmd::tests::test_import_into_db ... ok [INFO] [stdout] test commands::validate::tests::test_validate_name_with_spaces ... ok [INFO] [stdout] test commands::trending::tests::test_trending_runs_json ... ok [INFO] [stdout] test commands::validate::tests::test_validate_valid_manifest ... ok [INFO] [stdout] test commands::which::tests::test_which_json_does_not_panic ... ok [INFO] [stdout] test commands::trending::tests::test_trending_with_category ... ok [INFO] [stdout] test commands::trending::tests::test_trending_with_transport ... ok [INFO] [stdout] test commands::uninstall::tests::test_uninstall_not_installed ... ok [INFO] [stdout] test commands::why::tests::test_why_no_panic_on_missing ... ok [INFO] [stdout] test config::additional_tests::test_config_config_path_ok ... ok [INFO] [stdout] test commands::lint::tests::test_lint_detects_bad_version ... ok [INFO] [stdout] test commands::versions::tests::test_versions_not_found ... ok [INFO] [stdout] test commands::which::tests::test_which_does_not_panic ... ok [INFO] [stdout] test commands::dedupe::tests::test_dedupe_no_overlap_with_distinct_tools ... ok [INFO] [stdout] test commands::dedupe::tests::test_dedupe_finds_identical_tools ... ok [INFO] [stdout] test commands::timeline::tests::test_timeline_with_empty_db ... ok [INFO] [stdout] test config::additional_tests::test_config_dir_ok ... ok [INFO] [stdout] test config::additional_tests::test_config_db_path_ok ... ok [INFO] [stdout] test error::tests::test_error_display_auth ... ok [INFO] [stdout] test config::additional_tests::test_installed_servers_path_ok ... ok [INFO] [stdout] test commands::tree::tests::test_tree_no_crash_empty_db ... ok [INFO] [stdout] test config::tests::test_config_dir_is_under_home ... ok [INFO] [stdout] test config::tests::test_config_roundtrip ... ok [INFO] [stdout] test config::additional_tests::test_config_default_values ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test error::tests::test_error_display_config ... ok [INFO] [stdout] test config::tests::test_config_toml_missing_new_fields_uses_defaults ... ok [INFO] [stdout] test error::tests::test_error_display_not_found ... ok [INFO] [stdout] test error::tests::test_error_display_validation ... ok [INFO] [stdout] test error::tests::test_error_from_io ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_acronym_match_positive ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_all_tokens_match_basic ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_acronym_match_negative ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_best_matches_empty_query ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_bigram_similarity_identical ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_combined_similarity_exact ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_combined_similarity_partial ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_is_subsequence ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_jaro_winkler_different ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_bigram_similarity_different ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_best_matches_limit_respected ... ok [INFO] [stdout] test config::tests::test_env_var_overrides ... ok [INFO] [stdout] test error::tests::test_error_display_manifest ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_jaro_winkler_identical ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_normalized_levenshtein_empty ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_normalized_levenshtein_identical ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_tokenize_splits_correctly ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_all_tokens_match_basic ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_all_tokens_match_empty_query ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_case_insensitive ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_best_matches_respects_threshold ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_best_matches_finds_close ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_different ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_suggest_empty_haystack ... ok [INFO] [stdout] test fuzzy::additional_fuzzy_tests::test_unicode_no_panic ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_best_matches_respects_max ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_all_tokens_match_single ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_similar ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_transposition ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_two_char_strings ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_combined_similarity_identical ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_combined_similarity_typo ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_tokenize_basic ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_tokenize_separators ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_case_insensitive ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_empty_strings ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_complex ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_identical ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_single_char ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_empty ... ok [INFO] [stdout] test fuzzy::extended_tests::test_acronym_match_basic ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_single_char_strings ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_bigram_identical ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_combined_similarity_different ... ok [INFO] [stdout] test fuzzy::extended_tests::test_fuzzy_score_case_insensitive ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_vs_levenshtein_transposition ... ok [INFO] [stdout] test fuzzy::extended_tests::test_is_subsequence_equal ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_suggest_typo_tolerant_basic ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_damerau_transposition ... ok [INFO] [stdout] test fuzzy::bigram_tests::test_tokenize_empty ... ok [INFO] [stdout] test fuzzy::extended_tests::test_acronym_match_case_insensitive ... ok [INFO] [stdout] test fuzzy::extended_tests::test_acronym_match_no_match ... ok [INFO] [stdout] test fuzzy::damerau_tests::test_suggest_typo_tolerant_empty ... ok [INFO] [stdout] test fuzzy::extended_tests::test_acronym_match_slash ... ok [INFO] [stdout] test fuzzy::extended_tests::test_is_subsequence_empty_needle ... ok [INFO] [stdout] test fuzzy::extended_tests::test_acronym_match_single_word ... ok [INFO] [stdout] test fuzzy::extended_tests::test_normalized_levenshtein_one_empty ... ok [INFO] [stdout] test fuzzy::extended_tests::test_jaro_winkler_no_prefix ... ok [INFO] [stdout] test fuzzy::extended_tests::test_levenshtein_unicode ... ok [INFO] [stdout] test fuzzy::extended_tests::test_normalized_levenshtein_empty ... ok [INFO] [stdout] test fuzzy::extended_tests::test_normalized_levenshtein_identical ... ok [INFO] [stdout] test fuzzy::extended_tests::test_normalized_levenshtein_one_edit ... ok [INFO] [stdout] test fuzzy::extended_tests::test_is_subsequence_longer_needle ... ok [INFO] [stdout] test fuzzy::extended_tests::test_normalized_levenshtein_range ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_exact ... ok [INFO] [stdout] test fuzzy::tests::test_contains_substring ... ok [INFO] [stdout] test fuzzy::extended_tests::test_suggest_prefers_shorter_match ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_levenshtein ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_prefix ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_prefix_beats_substring ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_substring ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_similarity_similar ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_winkler_identical ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_winkler_boosts_prefix ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_case_insensitive ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_subsequence ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_equal ... ok [INFO] [stdout] test fuzzy::tests::test_fuzzy_score_too_far ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_winkler_case_insensitive ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_empty ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_empty_query ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_similarity_different ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_similarity_empty ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_exact_match ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_identical ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_one_edit ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_filters_by_distance ... ok [INFO] [stdout] test fuzzy::tests::test_levenshtein_single_edit ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_empty_names ... ok [INFO] [stdout] test fuzzy::tests::test_jaro_similarity_identical ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_finds_close_matches ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_sorted_by_score ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_substring_beats_levenshtein ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_combined_fuzzy_score_subsequence_bonus ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigram_similarity_different ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_checks_name_part ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_jaro_winkler_fallback ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_truncates_to_five ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_combined_fuzzy_score_exact ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigram_similarity_similar ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigrams_basic ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigrams_empty ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigrams_case_insensitive ... ok [INFO] [stdout] test fuzzy::tests::test_suggest_no_close_matches ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_combined_fuzzy_score_typo ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_trigram_similarity_identical ... ok [INFO] [stdout] test fuzzy::trigram_tests::test_combined_fuzzy_score_unrelated ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_empty_strings ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_exact_match ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_near_match ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_no_match ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_query_longer_than_target ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_single_char ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_special_chars ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_unicode ... ok [INFO] [stdout] test fuzzy::tests::test_is_subsequence ... ok [INFO] [stdout] test registry::db::fuzzy_edge_case_tests::test_fuzzy_case_difference ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_count_servers_empty ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_bulk_delete_all_found ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_bulk_delete_partial ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_bulk_delete_empty ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_random_server_empty_db ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_count_servers_with_data ... ok [INFO] [stdout] test registry::db::improved_search_tests::test_search_exact_name_ranks_first ... ok [INFO] [stdout] test registry::db::improved_search_tests::test_search_tag_scoring ... ok [INFO] [stdout] test registry::db::improved_search_tests::test_search_owner_and_name_multi_word ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_negation_no_effect_when_not_matching ... ok [INFO] [stdout] test registry::db::improved_search_tests::test_search_author_boost ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_multiple_negations ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_negation_only ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_negation_excludes_term ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_empty_negation_ignored ... ok [INFO] [stdout] test registry::db::negation_search_tests::test_search_without_negation_unchanged ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_random_server_nonexistent_category ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_owner_stats_serializes ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_servers_updated_since_far_past ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_random_server_nonempty ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_search_by_transport_nonexistent ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_owner_stats_not_found ... ok [INFO] [stdout] test registry::db::bulk_and_count_tests::test_random_server_with_category ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_count_by_license ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_env_field_roundtrip ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_search_by_transport_stdio ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_export_all_empty ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_servers_updated_since_far_future ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_homepage_field_roundtrip ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_list_owners_with_counts ... ok [INFO] [stdout] test registry::db::new_db_method_tests::test_search_by_transport_case_insensitive ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_list_owners_empty ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_owner_stats_found ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_owner_stats_fields ... ok [INFO] [stdout] test api::client::tests::test_client_custom_timeout_retries ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_search_any_empty ... ok [INFO] [stdout] test registry::db::prompts_tests::test_db_prompts_stored_and_retrieved ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_search_by_multiple_tags_empty ... ok [INFO] [stdout] test registry::db::prompts_tests::test_db_prompts_default_empty ... ok [INFO] [stdout] test registry::db::prompts_tests::test_db_prompts_upsert_preserves ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_env_default_empty ... ok [INFO] [stdout] test api::client::tests::test_client_creation ... ok [INFO] [stdout] test api::client::tests::test_client_with_base_url ... ok [INFO] [stdout] test registry::db::rating_tests::test_no_ratings_returns_zero ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_export_all_with_data ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_export_all_sorted_by_owner_name ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_search_by_multiple_tags_single ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_list_owners_with_data ... ok [INFO] [stdout] test registry::db::owner_stats_tests::test_total_count ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_search_any_or_semantics ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_case_sensitive ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_name_match ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_search_any_single_term ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_invalid_pattern ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_suffix_pattern ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_no_match ... ok [INFO] [stdout] test registry::db::rating_tests::test_get_ratings_list ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_tool_match ... ok [INFO] [stdout] test registry::db::regex_search_tests::test_search_regex_alternation ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_list_resources_empty_db ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_list_resources_no_duplicates ... ok [INFO] [stdout] test registry::db::rating_tests::test_add_and_get_rating ... ok [INFO] [stdout] test registry::db::owners_export_tests::test_list_owners_sorted_by_count ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_list_resources_with_data ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_search_by_resource ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_search_by_resource_case_insensitive ... ok [INFO] [stdout] test registry::db::rating_tests::test_rating_empty_comment ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_search_by_resource_no_match ... ok [INFO] [stdout] test registry::db::search_tests::test_list_servers_page_beyond_total ... ok [INFO] [stdout] test registry::db::rating_tests::test_ratings_for_different_servers ... ok [INFO] [stdout] test registry::db::search_tests::test_list_servers_page_zero_treated_as_one ... ok [INFO] [stdout] test registry::db::search_tests::test_search_empty_returns_all ... ok [INFO] [stdout] test registry::db::search_tests::test_search_by_tool_name ... ok [INFO] [stdout] test registry::db::search_tests::test_search_category_column ... ok [INFO] [stdout] test registry::db::search_tests::test_search_whitespace_only ... ok [INFO] [stdout] test registry::db::search_tests::test_search_no_results ... ok [INFO] [stdout] test registry::db::search_tests::test_search_percent_char_escaped ... ok [INFO] [stdout] test registry::db::rating_tests::test_top_rated_needs_minimum_ratings ... ok [INFO] [stdout] test registry::db::search_tests::test_search_special_chars ... ok [INFO] [stdout] test registry::db::rating_tests::test_multiple_ratings_average ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_not_found ... ok [INFO] [stdout] test registry::db::related_servers_tests::test_find_related_excludes_self ... ok [INFO] [stdout] test registry::db::related_servers_tests::test_find_related_not_found ... ok [INFO] [stdout] test registry::db::search_tests::test_escape_like_function ... ok [INFO] [stdout] test registry::db::search_tests::test_search_weighted_ordering ... ok [INFO] [stdout] test registry::db::search_tests::test_search_sql_injection_safe ... ok [INFO] [stdout] test registry::db::resources_db_tests::test_list_resources_sorted_by_count ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_by_full_name_prefix ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_empty_prefix ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_special_chars_escaped ... ok [INFO] [stdout] test registry::db::stats_tests::test_stats_empty_db ... ok [INFO] [stdout] test registry::db::search_tests::test_search_underscore_char_escaped ... ok [INFO] [stdout] test registry::db::related_servers_tests::test_find_related_zero_limit ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_no_match ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_by_name_prefix ... ok [INFO] [stdout] test registry::db::tag_tests::test_list_tags_empty_db ... ok [INFO] [stdout] test registry::db::tag_tests::test_list_tags_sorted_by_count ... ok [INFO] [stdout] test registry::db::tag_tests::test_search_by_tags_case_insensitive ... ok [INFO] [stdout] test registry::db::related_servers_tests::test_find_related_returns_results ... ok [INFO] [stdout] test registry::db::suggest_tests::test_suggest_respects_limit ... ok [INFO] [stdout] test registry::db::tag_tests::test_list_tags ... ok [INFO] [stdout] test registry::db::related_servers_tests::test_find_related_respects_limit ... ok [INFO] [stdout] test registry::db::tag_tests::test_search_by_tags_no_match ... ok [INFO] [stdout] test registry::db::tag_tests::test_search_by_tags ... ok [INFO] [stdout] test registry::db::tests::test_db_create_and_insert ... ok [INFO] [stdout] test registry::db::tags_tests::test_db_tags_default_empty ... ok [INFO] [stdout] test registry::db::tests::test_db_category_stored ... ok [INFO] [stdout] test registry::db::tags_tests::test_db_tags_roundtrip ... ok [INFO] [stdout] test registry::db::tests::test_db_count_by_transport ... ok [INFO] [stdout] test registry::db::tests::test_db_delete_nonexistent ... ok [INFO] [stdout] test registry::db::tests::test_db_delete_server ... ok [INFO] [stdout] test registry::db::tests::test_db_increment_downloads ... ok [INFO] [stdout] test registry::db::tests::test_db_get_server ... ok [INFO] [stdout] test registry::db::tests::test_db_increment_downloads_nonexistent ... ok [INFO] [stdout] test registry::db::tags_tests::test_db_search_by_tags ... ok [INFO] [stdout] test registry::db::tags_tests::test_db_search_multi_word_with_tags ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_database_servers_ranked ... ok [INFO] [stdout] test registry::db::tests::test_db_not_found ... ok [INFO] [stdout] test registry::db::search_tests::test_seed_idempotent ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_respects_limit ... ok [INFO] [stdout] test registry::db::tests::test_version_history_empty ... ok [INFO] [stdout] test registry::db::tests::test_db_list_paginated ... ok [INFO] [stdout] test registry::db::stats_tests::test_stats_with_data ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_returns_related ... ok [INFO] [stdout] test registry::db::tests::test_db_search ... ok [INFO] [stdout] test registry::db::tests::test_db_upsert_updates_existing ... ok [INFO] [stdout] test registry::db::tests::test_version_history_tracked ... ok [INFO] [stdout] test registry::db::tests::test_version_history_idempotent ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_prompts_empty_db ... ok [INFO] [stdout] test registry::db::tests::test_db_search_multi_word ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_tools_empty_db ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_scores_bounded ... ok [INFO] [stdout] test registry::db::tests::test_db_search_by_category ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_prompts_with_data ... ok [INFO] [stdout] test registry::db::tests::test_db_search_by_author ... ok [INFO] [stdout] test registry::db::tag_tests::test_seed_servers_have_tags ... ok [INFO] [stdout] test registry::routes::tests::test_version_endpoint ... ok [INFO] [stdout] test registry::seed::tests::test_all_servers_have_required_fields ... ok [INFO] [stdout] test registry::seed::tests::test_auto_tags_assigned ... ok [INFO] [stdout] test registry::seed::tests::test_auto_tags_browser ... ok [INFO] [stdout] test registry::seed::tests::test_auto_tags_database ... ok [INFO] [stdout] test registry::seed::tests::test_auto_tags_official ... ok [INFO] [stdout] test registry::seed::tests::test_categories_assigned ... ok [INFO] [stdout] test registry::seed::tests::test_default_servers_not_empty ... ok [INFO] [stdout] test registry::seed::tests::test_no_duplicate_owner_name ... ok [INFO] [stdout] test registry::db::similar_tests::test_find_similar_excludes_self ... ok [INFO] [stdout] test registry::db::tests::test_db_list_categories ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_hot_servers ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_tools_shared_tool_has_multiple_servers ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_no_results ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_tools_with_data ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_tools_no_duplicates ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_empty_query ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_search_min_stars_combined_with_min_downloads ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_hot_servers_zero_limit ... ok [INFO] [stdout] test registry::db::tools_index_tests::test_list_tools_sorted_by_server_count ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_openapi_includes_min_stars ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_group_by_transport ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_name_beats_description ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_scores_descending ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_search_with_min_stars ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_basic ... ok [INFO] [stdout] test registry::db::weighted_search_tests::test_search_weighted_multi_word ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_search_with_min_stars_zero ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_search_with_min_stars_exact_match ... ok [INFO] [stdout] test registry::server::bulk_import_tests::test_bulk_import_missing_servers_array ... ok [INFO] [stdout] test registry::server::bulk_import_tests::test_bulk_import_success ... ok [INFO] [stdout] test registry::server::bulk_import_tests::test_bulk_import_partial_errors ... ok [INFO] [stdout] test registry::server::api_min_stars_tests::test_search_min_stars_too_high ... ok [INFO] [stdout] test registry::server::advanced_search_tests::test_advanced_search_basic ... ok [INFO] [stdout] test registry::server::advanced_search_tests::test_advanced_search_empty_query ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_bundle_excludes_deprecated ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_server_score_grades ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_changelog_empty_db ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_changelog_endpoint ... ok [INFO] [stdout] test registry::server::advanced_search_tests::test_advanced_search_only_negation ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_recently_updated_endpoint ... ok [INFO] [stdout] test registry::server::advanced_search_tests::test_advanced_search_with_sort_stars ... ok [INFO] [stdout] test registry::server::cli_bundle_tests::test_cli_parses_bundle_inspect ... ok [INFO] [stdout] test registry::server::cli_bundle_tests::test_cli_parses_bundle_create ... ok [INFO] [stdout] test registry::server::cli_new_commands_tests::test_cli_parses_dedupe ... ok [INFO] [stdout] test registry::server::cli_new_commands_tests::test_cli_parses_dedupe_defaults ... ok [INFO] [stdout] test registry::server::cli_bundle_tests::test_cli_parses_bundle_inspect_json ... ok [INFO] [stdout] test registry::server::advanced_search_tests::test_advanced_search_with_negation ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_changelog_with_limit ... ok [INFO] [stdout] test registry::server::cli_new_commands_tests::test_cli_parses_import ... ok [INFO] [stdout] test registry::server::cli_new_commands_tests::test_cli_parses_import_json ... ok [INFO] [stdout] test registry::server::compare_api_tests::test_compare_servers_not_found ... ok [INFO] [stdout] test registry::server::cache_command_tests::test_db_count_by_license ... ok [INFO] [stdout] test registry::server::compare_api_tests::test_compare_servers_api ... ok [INFO] [stdout] test registry::server::cache_command_tests::test_db_search_by_transport ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_server_score_not_found ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_recommend_bundle_not_found ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_server_score ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_cli_parses_compose ... ok [INFO] [stdout] test registry::server::cache_command_tests::test_db_servers_updated_since ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_cli_parses_compose_env ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_openapi_includes_bundle_and_score ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_recommend_bundle_with_limit ... ok [INFO] [stdout] test registry::server::config_extra_tests::test_config_toml_minimal ... ok [INFO] [stdout] test registry::server::config_extra_tests::test_config_toml_with_custom_registry ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_cli_parses_compose_toml ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_cli_parses_compose_with_tag ... ok [INFO] [stdout] test registry::server::bundle_and_score_tests::test_api_recommend_bundle ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_bulk_delete ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_openapi_includes_changelog ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_delete_nonexistent_returns_false ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_count_servers ... ok [INFO] [stdout] test registry::server::changelog_and_recent_tests::test_recently_updated_with_limit ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_increment_downloads ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_star_and_unstar ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_search_case_insensitive ... ok [INFO] [stdout] test registry::server::compatibility_tests::test_api_compatibility_different_servers ... ok [INFO] [stdout] test registry::server::compatibility_tests::test_api_compatibility_same_server ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_search_empty_query_returns_all ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_owner_stats_not_found ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_upsert_updates_existing ... ok [INFO] [stdout] test registry::server::db_star_tests::test_db_leaderboard ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_suggest_prefix_matching ... ok [INFO] [stdout] test registry::server::db_star_tests::test_db_star_nonexistent ... ok [INFO] [stdout] test registry::server::compatibility_tests::test_api_compatibility_not_found ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_owner_stats ... ok [INFO] [stdout] test registry::server::db_edge_case_tests::test_list_servers_pagination ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_owner_stats_avg_tools ... ok [INFO] [stdout] test registry::server::db_star_tests::test_db_star_server ... ok [INFO] [stdout] test registry::server::deprecated_tests::test_deprecated_field_in_server_info ... ok [INFO] [stdout] test registry::server::coverage_tests::test_api_coverage_with_limit ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_search_tags_empty ... ok [INFO] [stdout] test registry::server::deprecated_tests::test_list_deprecated_endpoint ... ok [INFO] [stdout] test registry::server::deprecated_tests::test_patch_deprecate_server ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_owner_stats_has_transports ... ok [INFO] [stdout] test registry::server::coverage_tests::test_api_coverage_with_min_servers ... ok [INFO] [stdout] test registry::server::deprecation_db_tests::test_deprecated_roundtrip_through_db ... ok [INFO] [stdout] test registry::server::deprecation_db_tests::test_list_all_includes_deprecated ... ok [INFO] [stdout] test registry::server::coverage_tests::test_api_coverage_default ... ok [INFO] [stdout] test registry::server::diff_endpoint_tests::test_diff_endpoint ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_exec_alias_run ... ok [INFO] [stdout] test registry::server::deprecated_tests::test_search_exclude_deprecated ... ok [INFO] [stdout] test registry::server::compose_and_owner_stats_tests::test_api_search_tags_multi ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_exec_with_extra_args ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_exec_with_dry_run ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_mirror ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_mirror_default_output ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_mirror_json ... ok [INFO] [stdout] test registry::server::enhanced_stats_tests::test_enhanced_stats_empty_db ... ok [INFO] [stdout] test registry::server::exec_and_mirror_cli_tests::test_cli_parses_exec ... ok [INFO] [stdout] test registry::server::diff_endpoint_tests::test_diff_endpoint_no_from ... ok [INFO] [stdout] test registry::server::diff_endpoint_tests::test_diff_not_found ... ok [INFO] [stdout] test registry::server::diff_endpoint_tests::test_health_returns_json ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_patch_env_and_homepage ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_config_snippet_includes_env ... ok [INFO] [stdout] test registry::server::dependents_tests::test_dependents_sorted_by_shared_count ... ok [INFO] [stdout] test registry::server::dependents_tests::test_dependents_excludes_self ... ok [INFO] [stdout] test registry::server::format_downloads_short_tests::test_format_downloads_short_millions ... ok [INFO] [stdout] test registry::server::format_downloads_short_tests::test_format_downloads_short_small ... ok [INFO] [stdout] test registry::server::format_downloads_short_tests::test_format_downloads_short_thousands ... ok [INFO] [stdout] test registry::server::format_downloads_short_tests::test_format_downloads_short_zero ... ok [INFO] [stdout] test registry::server::dependents_tests::test_dependents_not_found ... ok [INFO] [stdout] test registry::server::dependents_tests::test_dependents_with_limit ... ok [INFO] [stdout] test registry::server::dependents_tests::test_dependents_for_filesystem ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_owners ... ok [INFO] [stdout] test registry::server::enhanced_stats_tests::test_enhanced_stats_capability_totals ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_export ... ok [INFO] [stdout] test registry::server::enhanced_stats_tests::test_enhanced_stats_has_categories ... ok [INFO] [stdout] test registry::server::filter_tests::test_search_author_no_match ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_search_any_or ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_validate_env_warnings ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_api_search_any_empty ... ok [INFO] [stdout] test registry::server::filter_tests::test_search_with_author_filter ... ok [INFO] [stdout] test registry::server::export_owners_searchany_tests::test_openapi_includes_export_owners ... ok [INFO] [stdout] test registry::server::improvement_tests::test_api_version_history ... ok [INFO] [stdout] test registry::server::filter_tests::test_search_combined_author_and_category ... ok [INFO] [stdout] test registry::server::fuzzy_prefix_integration_tests::test_search_prefix_match_ranks_higher ... ok [INFO] [stdout] test registry::server::filter_tests::test_search_with_owner_filter ... ok [INFO] [stdout] test registry::server::graph_tests::test_api_graph_default ... ok [INFO] [stdout] test registry::server::fuzzy_prefix_integration_tests::test_search_typo_returns_suggestions ... ok [INFO] [stdout] test registry::server::improvement_tests::test_batch_get_servers ... ok [INFO] [stdout] test registry::server::graph_tests::test_api_graph_sorted_by_shared_count ... ok [INFO] [stdout] test registry::server::graph_tests::test_api_graph_with_limit ... ok [INFO] [stdout] test registry::server::improvement_tests::test_api_similar_not_found ... ok [INFO] [stdout] test registry::server::improvement_tests::test_api_similar_servers ... ok [INFO] [stdout] test registry::server::graph_tests::test_api_graph_min_shared ... ok [INFO] [stdout] test registry::server::improvement_tests::test_batch_get_empty ... ok [INFO] [stdout] test registry::server::improvement_tests::test_publish_bad_version ... ok [INFO] [stdout] test registry::server::improvement_tests::test_api_version_history_not_found ... ok [INFO] [stdout] test registry::server::improvement_tests::test_publish_bad_transport ... ok [INFO] [stdout] test registry::server::improvement_tests::test_download_tracking_not_found ... ok [INFO] [stdout] test registry::server::improvement_tests::test_publish_missing_version ... ok [INFO] [stdout] test registry::server::improvement_tests::test_publish_with_prompts ... ok [INFO] [stdout] test registry::server::lock_command_tests::test_lockfile_roundtrip_with_three_servers ... ok [INFO] [stdout] test registry::server::lock_command_tests::test_lockfile_verify_multiple_drifts ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_combined_sort_and_limit ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_min_downloads ... ok [INFO] [stdout] test registry::server::license_filter_tests::test_search_license_case_insensitive ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_category_filter ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_sort_param ... ok [INFO] [stdout] test registry::server::licenses_api_tests::test_api_licenses_has_entries ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_limit_param ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_tool_filter ... ok [INFO] [stdout] test registry::server::license_filter_tests::test_search_with_license_filter_no_match ... ok [INFO] [stdout] test registry::server::improvement_tests::test_search_with_transport_filter ... ok [INFO] [stdout] test registry::server::license_filter_tests::test_search_license_combined_with_category ... ok [INFO] [stdout] test registry::server::improvement_tests::test_download_tracking_endpoint ... ok [INFO] [stdout] test registry::server::license_filter_tests::test_search_with_license_filter_mit ... ok [INFO] [stdout] test registry::server::licenses_api_tests::test_api_licenses_returns_200 ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_badge_existing_server ... ok [INFO] [stdout] test registry::server::licenses_api_tests::test_api_licenses_sums_to_total ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_badge_has_cache_header ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_badge_plastic_style ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_badge_not_found ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_bulk_search ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_matrix_totals_consistent ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_matrix ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_default ... ok [INFO] [stdout] test registry::server::matrix_badge_tests::test_api_recent_activity ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_excludes_self ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_sorted_by_shared_count ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_with_limit ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_not_found ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_categories ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_categories_filter ... ok [INFO] [stdout] test registry::server::neighbors_tests::test_api_neighbors_with_min_shared ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_search_empty_query ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_list_per_page_capped ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_list_pagination ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_config_snippet_sse_transport ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_search_multi_word ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_random_empty_db ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_search_tools ... ok [INFO] [stdout] test registry::server::new_endpoint_tests::test_api_stats ... ok [INFO] [stdout] test registry::server::popular_tools_tests::test_api_popular_tools_with_limit ... ok [INFO] [stdout] test registry::server::openapi_tests::test_openapi_has_version ... ok [INFO] [stdout] test registry::server::openapi_tests::test_openapi_endpoint ... ok [INFO] [stdout] test registry::server::readiness_tests::test_health_ready_empty_db ... ok [INFO] [stdout] test registry::server::popular_tools_tests::test_api_popular_tools ... ok [INFO] [stdout] test registry::server::openapi_new_endpoints_tests::test_openapi_includes_v032_endpoints ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_batch_delete ... ok [INFO] [stdout] test registry::server::readme_tests::test_server_health_endpoint ... ok [INFO] [stdout] test registry::server::readme_tests::test_readme_endpoint ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_batch_delete_invalid_refs ... ok [INFO] [stdout] test registry::server::popular_tools_tests::test_api_popular_tools_with_query ... ok [INFO] [stdout] test registry::server::readme_tests::test_readme_not_found ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_batch_delete_empty ... ok [INFO] [stdout] test registry::server::readme_tests::test_server_health_not_found ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_config_snippet ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_random_with_category ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_config_snippet_not_found ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_random_nonexistent_category ... ok [INFO] [stdout] test registry::server::resources_endpoint_tests::test_api_resources_with_limit ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_api_random_server ... ok [INFO] [stdout] test registry::server::search_new_filters_cli_tests::test_cli_parses_search_combined_new_filters ... ok [INFO] [stdout] test registry::server::search_new_filters_cli_tests::test_cli_parses_search_exclude_deprecated ... ok [INFO] [stdout] test registry::server::search_new_filters_cli_tests::test_cli_parses_search_min_stars ... ok [INFO] [stdout] test registry::server::resources_endpoint_tests::test_api_resources_index ... ok [INFO] [stdout] test registry::server::search_by_transport_api_tests::test_api_search_by_transport_default ... ok [INFO] [stdout] test registry::server::related_api_tests::test_api_related_with_limit ... ok [INFO] [stdout] test registry::server::related_api_tests::test_api_related_returns_200 ... ok [INFO] [stdout] test registry::server::readiness_tests::test_health_ready_with_data ... ok [INFO] [stdout] test registry::server::random_and_config_tests::test_openapi_includes_new_endpoints ... ok [INFO] [stdout] test registry::server::search_suggestions_tests::test_search_returns_suggestions_on_typo ... ok [INFO] [stdout] test registry::server::resources_endpoint_tests::test_api_resources_with_query ... ok [INFO] [stdout] test registry::server::search_filter_tests::test_search_min_tools_very_high_returns_none ... ok [INFO] [stdout] test registry::server::search_by_transport_api_tests::test_api_search_by_transport_nonexistent ... ok [INFO] [stdout] test registry::server::search_by_transport_api_tests::test_api_search_by_transport_sse ... ok [INFO] [stdout] test registry::server::star_tests::test_star_not_found ... ok [INFO] [stdout] test registry::server::search_filter_tests::test_search_with_min_tools ... ok [INFO] [stdout] test registry::server::search_filter_tests::test_search_min_tools_zero_returns_all ... ok [INFO] [stdout] test registry::server::related_api_tests::test_api_related_not_found ... ok [INFO] [stdout] test registry::server::snapshot_tests::test_export_all_and_reimport ... ok [INFO] [stdout] test registry::server::star_tests::test_star_server ... ok [INFO] [stdout] test registry::server::search_filter_tests::test_search_with_resource_filter ... ok [INFO] [stdout] test registry::server::search_filter_tests::test_search_with_has_prompts ... ok [INFO] [stdout] test registry::server::star_tests::test_star_server_multiple ... ok [INFO] [stdout] test registry::server::star_tests::test_unstar_server ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_default_version ... ok [INFO] [stdout] test registry::server::star_tests::test_unstar_server_floor_zero ... ok [INFO] [stdout] test registry::server::star_tests::test_leaderboard_empty ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_nonexistent_server ... ok [INFO] [stdout] test registry::server::stars_in_search_sort_tests::test_leaderboard_reflects_stars ... ok [INFO] [stdout] test registry::server::stars_in_search_sort_tests::test_search_sort_by_stars_via_api ... ok [INFO] [stdout] test registry::server::star_tests::test_leaderboard ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_stars_metric ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_tools_metric ... ok [INFO] [stdout] test registry::server::search_sort_stars_tests::test_main_search_sort_by_stars ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_downloads_metric ... ok [INFO] [stdout] test registry::server::tests::test_api_delete_not_found ... ok [INFO] [stdout] test registry::server::tests::test_api_delete_server ... ok [INFO] [stdout] test registry::server::tests::test_api_get_server ... ok [INFO] [stdout] test registry::server::tests::test_api_get_server_not_found ... ok [INFO] [stdout] test registry::server::tests::test_api_health ... ok [INFO] [stdout] test registry::server::tests::test_api_publish_validation_error ... ok [INFO] [stdout] test registry::server::tests::test_api_list_servers ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_documented_in_openapi ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_endpoint_basic ... ok [INFO] [stdout] test registry::server::tests::test_api_publish ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_endpoint_empty_query ... ok [INFO] [stdout] test registry::server::shield_endpoint_tests::test_shield_transport_metric ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_endpoint_with_limit ... ok [INFO] [stdout] test registry::server::tests::test_api_version ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_full_name_prefix ... ok [INFO] [stdout] test registry::server::tests::test_api_search ... ok [INFO] [stdout] test registry::server::suggest_endpoint_tests::test_suggest_endpoint_no_match ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_api_tags_no_match ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_search_with_tag_filter_official ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_search_with_tag_filter ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_api_tags_index ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_api_tags_with_query ... ok [INFO] [stdout] test registry::server::tags_endpoint_tests::test_api_tags_with_limit ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_validate_valid_entry ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_patch_nonexistent ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_patch_invalid_transport ... ok [INFO] [stdout] test tests::test_cli_batch_install_command ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_patch_server ... ok [INFO] [stdout] test tests::test_compare_versions_date_style ... ok [INFO] [stdout] test tests::test_compare_versions_empty ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_validate_missing_fields ... ok [INFO] [stdout] test tests::test_compare_versions_equal ... ok [INFO] [stdout] test tests::test_compare_versions_large_numbers ... ok [INFO] [stdout] test tests::test_compare_versions_less ... ok [INFO] [stdout] test tests::test_compare_versions_many_segments ... ok [INFO] [stdout] test tests::test_cli_tree_command ... ok [INFO] [stdout] test tests::test_compare_versions_partial ... ok [INFO] [stdout] test tests::test_compare_versions_prerelease_style ... ok [INFO] [stdout] test tests::test_compare_versions_zero_padded ... ok [INFO] [stdout] test tests::test_compare_versions_greater ... ok [INFO] [stdout] test tests::test_cli_quiet_flag_accepted ... ok [INFO] [stdout] test tests::test_compare_versions_single_digit ... ok [INFO] [stdout] test tests::test_cli_parses_completions ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_patch_empty_body ... ok [INFO] [stdout] test registry::server::tools_endpoint_tests::test_api_tools_index ... ok [INFO] [stdout] test registry::server::validate_and_patch_tests::test_validate_warnings ... ok [INFO] [stdout] test registry::server::tools_endpoint_tests::test_api_tools_with_limit ... ok [INFO] [stdout] test registry::server::tools_endpoint_tests::test_api_tools_with_query_filter ... ok [INFO] [stdout] test registry::server::trending_tests::test_api_trending_with_limit ... ok [INFO] [stdout] test registry::server::trending_tests::test_api_trending_with_category ... ok [INFO] [stdout] test registry::server::tools_endpoint_tests::test_api_prompts_index ... ok [INFO] [stdout] test registry::server::tools_endpoint_tests::test_api_tools_sorted_by_popularity ... ok [INFO] [stdout] test registry::server::trending_tests::test_api_trending_default ... ok [INFO] [stdout] test registry::server::trending_tests::test_api_trending_with_transport ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 789 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.79s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f8240d28995f7a545eabaf75d743d274c8ee1191d5a17e77a4cf3fb5d59536ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8240d28995f7a545eabaf75d743d274c8ee1191d5a17e77a4cf3fb5d59536ad", kill_on_drop: false }` [INFO] [stdout] f8240d28995f7a545eabaf75d743d274c8ee1191d5a17e77a4cf3fb5d59536ad