[INFO] cloning repository https://github.com/puckdoug/lmcp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/puckdoug/lmcp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuckdoug%2Flmcp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuckdoug%2Flmcp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 21baebe90ef4eada8ed28221a4be5a03664a93d5
[INFO] testing puckdoug/lmcp against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpuckdoug%2Flmcp" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/puckdoug/lmcp
[INFO] finished tweaking git repo https://github.com/puckdoug/lmcp
[INFO] tweaked toml for git repo https://github.com/puckdoug/lmcp written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/puckdoug/lmcp on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/puckdoug/lmcp 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4
[INFO] running `Command { std: "docker" "start" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling http v1.4.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling zerocopy v0.8.49
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling shellexpand v3.1.2
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling lmcp-zed-extension v0.1.0 (/opt/rustwide/workdir/crates/lmcp-zed-extension)
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling referencing v0.46.5
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling hyper v1.10.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling jsonschema v0.46.5
[INFO] [stderr]    Compiling lmcp v0.1.0 (/opt/rustwide/workdir/crates/lmcp)
[INFO] [stderr] warning: unused dependency `rmcp`
[INFO] [stderr]   --> crates/lmcp/Cargo.toml:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | rmcp               = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rmcp`
[INFO] [stderr] warning: unused dependency `shellexpand`
[INFO] [stderr]   --> crates/lmcp/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | shellexpand        = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `shellexpand`
[INFO] [stderr] warning: `lmcp` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s
[INFO] running `Command { std: "docker" "inspect" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling lmcp-zed-extension v0.1.0 (/opt/rustwide/workdir/crates/lmcp-zed-extension)
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling jsonschema v0.46.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling lmcp v0.1.0 (/opt/rustwide/workdir/crates/lmcp)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 42.21s
[INFO] running `Command { std: "docker" "inspect" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/lmcp/b579531dc3c26d5e/out/lmcp-b579531dc3c26d5e)
[INFO] [stdout] 
[INFO] [stdout] running 223 tests
[INFO] [stdout] test cli::config_path::tests::test_env_wins_over_cwd ... ok
[INFO] [stdout] test cli::config_path::tests::test_cwd_wins_over_xdg ... ok
[INFO] [stdout] test cli::exit::tests::test_config_error_as_i32 ... ok
[INFO] [stdout] test cli::tilde::tests::test_tilde_alone ... ok
[INFO] [stdout] test cli::args::tests::test_call_captures_trailing_args ... ok
[INFO] [stdout] test cli::args::tests::test_validate_accepts_positional_path ... ok
[INFO] [stdout] test cli::log_level::tests::test_from_verbosity_3_is_trace ... ok
[INFO] [stdout] test cli::config_path::tests::test_xdg_fallback ... ok
[INFO] [stdout] test cli::tilde::tests::test_absolute_path_unchanged ... ok
[INFO] [stdout] test cli::log_level::tests::test_from_verbosity_0_is_info ... ok
[INFO] [stdout] test cli::config_path::tests::test_nothing_found_is_none ... ok
[INFO] [stdout] test cli::config_path::tests::test_xdg_default_home ... ok
[INFO] [stdout] test cli::tilde::tests::test_tilde_with_no_home ... ok
[INFO] [stdout] test cli::exit::tests::test_docs_match_enum ... ok
[INFO] [stdout] test cli::log_level::tests::test_from_verbosity_1_is_debug ... ok
[INFO] [stdout] test cli::tilde::tests::test_tilde_user_unchanged ... ok
[INFO] [stdout] test cli::config_path::tests::test_flag_wins_over_env ... ok
[INFO] [stdout] test config::config::tests::from_raw_empty_config_has_default_limits ... ok
[INFO] [stdout] test cli::log_level::tests::test_cli_verbose_flag_counts ... ok
[INFO] [stdout] test config::config::tests::good_version_loads_silently ... ok
[INFO] [stdout] test config::template::tests::parse_empty_var_name ... ok
[INFO] [stdout] test config::config::tests::missing_version_pushes_warning_diagnostic ... ok
[INFO] [stdout] test config::template::tests::parse_escaped_braces ... ok
[INFO] [stdout] test config::template::tests::parse_literal_with_vars ... ok
[INFO] [stdout] test config::config::tests::single_tool_has_input_fields ... ok
[INFO] [stdout] test cli::log_level::tests::test_from_verbosity_2_is_trace ... ok
[INFO] [stdout] test config::config::tests::from_raw_empty_config_has_empty_lists ... ok
[INFO] [stdout] test config::config::tests::bad_version_returns_error ... ok
[INFO] [stdout] test config::config::tests::from_raw_empty_config_has_defaults ... ok
[INFO] [stdout] test config::template::tests::parse_referenced_vars ... ok
[INFO] [stdout] test config::template::tests::parse_simple_var ... ok
[INFO] [stdout] test config::template::tests::parse_unterminated_var ... ok
[INFO] [stdout] test config::template::tests::render_multiple_vars ... ok
[INFO] [stdout] test cli::tilde::tests::test_tilde_with_path ... ok
[INFO] [stdout] test config::template::tests::parse_whitespace_in_var_name ... ok
[INFO] [stdout] test config::config::tests::from_raw_preserves_config_source ... ok
[INFO] [stdout] test config::config::tests::single_tool_parses_end_to_end ... ok
[INFO] [stdout] test config::config::tests::tool_template_args_parse_to_segments ... ok
[INFO] [stdout] test config::raw::tests::empty_string_parses_to_default_rawconfig ... ok
[INFO] [stdout] test config::raw::tests::empty_toml_fixture_round_trips ... ok
[INFO] [stdout] test config::template::tests::parse_multiple_vars ... ok
[INFO] [stdout] test config::template::tests::parse_only_whitespace_in_var ... ok
[INFO] [stdout] test config::template::tests::render_with_json_object ... ok
[INFO] [stdout] test config::template::tests::render_with_known_vars ... ok
[INFO] [stdout] test daemon::control::tests::control_message_reload_command ... ok
[INFO] [stdout] test daemon::control::tests::control_message_unknown_on_bad_op ... ok
[INFO] [stdout] test daemon::control::tests::control_response_reload_ok_serializes ... ok
[INFO] [stdout] test daemon::control::tests::control_message_ping_deserializes ... ok
[INFO] [stdout] test daemon::control::tests::control_response_reload_failed_with_error_serializes ... ok
[INFO] [stdout] test daemon::control::tests::control_message_distinguishes_from_json_rpc ... ok
[INFO] [stdout] test daemon::control::tests::control_response_ok_serializes ... ok
[INFO] [stdout] test daemon::control::tests::control_message_stop_command ... ok
[INFO] [stdout] test config::template::tests::render_with_missing_var ... ok
[INFO] [stdout] test daemon::signals::tests::signal_set_install_creates_receivers ... ok
[INFO] [stdout] test daemon::pidfile::tests::already_locked_error_message_contains_pid ... ok
[INFO] [stdout] test daemon::pidfile::tests::acquire_writes_pid_and_creates_file ... ok
[INFO] [stdout] test exec::env::tests::non_safe_vars_not_forwarded ... ok
[INFO] [stdout] test daemon::pidfile::tests::acquire_returns_pidfile_value ... ok
[INFO] [stdout] test exec::env::tests::rendered_keys_appear_in_output ... ok
[INFO] [stdout] test exec::env::tests::rendered_env_overrides_safe_default ... ok
[INFO] [stdout] test daemon::pidfile::tests::release_removes_pidfile ... ok
[INFO] [stdout] test exec::oneshot::tests::transform_json_valid_returns_single_block ... ok
[INFO] [stdout] test exec::guards::tests::empty_allowed_paths_always_ok ... ok
[INFO] [stdout] test daemon::pidfile::tests::second_acquire_same_process_returns_already_locked ... ok
[INFO] [stdout] test exec::guards::tests::path_in_allowed_returns_ok ... ok
[INFO] [stdout] test exec::env::tests::safe_defaults_forwarded_when_parent_has_them ... ok
[INFO] [stdout] test exec::guards::tests::tilde_expansion_uses_home ... ok
[INFO] [stdout] test exec::oneshot::tests::transform_json_invalid_returns_error ... ok
[INFO] [stdout] test exec::oneshot::tests::transform_lines_ignores_trailing_empty ... ok
[INFO] [stdout] test exec::render::tests::missing_var_returns_internal_error ... ok
[INFO] [stdout] test exec::oneshot::tests::transform_lines_splits_on_newlines ... ok
[INFO] [stdout] test exec::guards::tests::path_not_in_allowed_returns_invalid_params ... ok
[INFO] [stdout] test exec::oneshot::tests::transform_text_returns_single_block ... ok
[INFO] [stdout] test exec::render::tests::command_is_always_first_in_argv ... ok
[INFO] [stdout] test observability::histogram::tests::histogram_quantiles ... ok
[INFO] [stdout] test observability::histogram::tests::histogram_empty ... ok
[INFO] [stdout] test exec::render::tests::renders_object_value_as_json ... ok
[INFO] [stdout] test observability::init::tests::default_filter_debug_level ... ok
[INFO] [stdout] test observability::io_log::tests::capture_buf_truncates_at_cap ... ok
[INFO] [stdout] test observability::init::tests::default_filter_trace_level ... ok
[INFO] [stdout] test observability::init::tests::guard_can_be_dropped ... ok
[INFO] [stdout] test observability::io_log::tests::log_io_record_off_mode ... ok
[INFO] [stdout] test observability::io_log::tests::log_io_record_summary_mode ... ok
[INFO] [stdout] test observability::init::tests::init_with_json_format_emits_valid_json ... ok
[INFO] [stdout] test protocol::dispatch::tests::stub_dispatch_read_resource_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::error::tests::capability_invocation_failed_maps_to_minus_32011 ... ok
[INFO] [stdout] test protocol::error::tests::cancelled_maps_to_minus_32013 ... ok
[INFO] [stdout] test exec::render::tests::renders_string_args_with_json_encoding ... ok
[INFO] [stdout] test observability::counters::tests::counters_single_threaded_increment ... ok
[INFO] [stdout] test observability::init::tests::default_filter_info_level ... ok
[INFO] [stdout] test protocol::dispatch::tests::stub_dispatch_call_tool_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::dispatch::tests::stub_dispatch_get_prompt_returns_exec_not_implemented ... ok
[INFO] [stdout] test observability::io_log::tests::log_io_record_full_mode ... ok
[INFO] [stdout] test observability::span::tests::request_id_creation ... ok
[INFO] [stdout] test protocol::error::tests::internal_maps_to_minus_32603 ... ok
[INFO] [stdout] test protocol::error::tests::into_error_data_includes_validation_errors ... ok
[INFO] [stdout] test protocol::error::tests::invalid_request_maps_to_minus_32600 ... ok
[INFO] [stdout] test protocol::error::tests::invalid_params_maps_to_minus_32602 ... ok
[INFO] [stdout] test protocol::error::tests::method_not_found_maps_to_minus_32601 ... ok
[INFO] [stdout] test protocol::error::tests::capability_not_found_maps_to_minus_32010 ... ok
[INFO] [stdout] test protocol::error::tests::error_codes_doc_matches_enum ... ok
[INFO] [stdout] test protocol::error::tests::into_error_data_preserves_code_and_message ... ok
[INFO] [stdout] test protocol::error::tests::not_initialized_maps_to_minus_32600 ... ok
[INFO] [stdout] test protocol::error::tests::parse_error_maps_to_minus_32700 ... ok
[INFO] [stdout] test protocol::error::tests::protocol_not_supported_maps_to_minus_32600 ... ok
[INFO] [stdout] test protocol::handler::tests::non_json_like_frame_is_handled_gracefully ... ok
[INFO] [stdout] test protocol::error::tests::registry_unavailable_maps_to_minus_32014 ... ok
[INFO] [stdout] test protocol::error::tests::timeout_maps_to_minus_32012 ... ok
[INFO] [stdout] test protocol::handler::tests::initialize_handshake_happy_path ... ok
[INFO] [stdout] test protocol::handler::tests::logging_set_level_unknown_returns_invalid_params ... ok
[INFO] [stdout] test protocol::handler::tests::missing_jsonrpc_field_returns_invalid_request ... ok
[INFO] [stdout] test protocol::handler::tests::logging_set_level_accepted ... ok
[INFO] [stdout] test protocol::handler::tests::ping_round_trips ... ok
[INFO] [stdout] test protocol::error::tests::exec_not_implemented_maps_to_minus_32011 ... ok
[INFO] [stdout] test protocol::handler::tests::prompts_get_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::handler::tests::tools_list_before_initialized_returns_not_initialized ... ok
[INFO] [stdout] test protocol::handler::tests::two_sessions_independent_state ... ok
[INFO] [stdout] test protocol::handler::tests::tools_list_empty_registry ... ok
[INFO] [stdout] test protocol::handler::tests::cancel_request_aborts_in_flight_call ... ok
[INFO] [stdout] test daemon::signals::tests::signal_set_quit_fires_on_sigquit ... ok
[INFO] [stdout] test daemon::signals::tests::signal_set_int_fires_on_sigint ... ok
[INFO] [stdout] test daemon::signals::tests::signal_set_hup_fires_on_sighup ... ok
[INFO] [stdout] test daemon::signals::tests::signal_set_term_fires_on_sigterm ... ok
[INFO] [stdout] test protocol::methods::tests::initialize_happy_path_preferred_version ... ok
[INFO] [stdout] test protocol::handler::tests::resources_read_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::handler::tests::tools_list_paginates_100_tools ... ok
[INFO] [stdout] test protocol::handler::tests::unknown_method_returns_method_not_found ... ok
[INFO] [stdout] test protocol::methods::tests::initialize_unsupported_version_returns_error ... ok
[INFO] [stdout] test protocol::methods::tests::logging_set_level_all_valid_levels ... ok
[INFO] [stdout] test protocol::handler::tests::requests_total_counter_increments_on_tools_list ... ok
[INFO] [stdout] test protocol::methods::tests::prompts_get_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::methods::tests::prompts_list_empty ... ok
[INFO] [stdout] test protocol::methods::tests::resources_list_empty ... ok
[INFO] [stdout] test protocol::methods::tests::resources_templates_list_one_template ... ok
[INFO] [stdout] test protocol::methods::tests::tools_call_capability_not_found ... ok
[INFO] [stdout] test protocol::methods::tests::logging_set_level_debug_updates_state ... ok
[INFO] [stdout] test protocol::methods::tests::logging_set_level_unknown_returns_invalid_params ... ok
[INFO] [stdout] test protocol::methods::tests::initialize_missing_version_returns_invalid_request ... ok
[INFO] [stdout] test protocol::methods::tests::initialized_transitions_negotiated_to_ready ... ok
[INFO] [stdout] test protocol::methods::tests::resources_read_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::methods::tests::resources_list_paginates ... ok
[INFO] [stdout] test protocol::session_state::tests::new_session_is_initializing ... ok
[INFO] [stdout] test protocol::mock::tests::mock_server_recv_returns_none_on_client_close ... ok
[INFO] [stdout] test protocol::session_state::tests::negotiated_state_is_not_ready ... ok
[INFO] [stdout] test protocol::methods::tests::tools_list_paginates_100_tools_in_two_pages ... ok
[INFO] [stdout] test protocol::session_state::tests::request_id_from_number ... ok
[INFO] [stdout] test protocol::session_state::tests::request_id_from_string ... ok
[INFO] [stdout] test protocol::session_state::tests::ready_state_returns_is_ready ... ok
[INFO] [stdout] test protocol::methods::tests::ping_returns_empty_object ... ok
[INFO] [stdout] test protocol::session_state::tests::request_id_from_null_returns_none ... ok
[INFO] [stdout] test protocol::methods::tests::tools_list_empty_registry ... ok
[INFO] [stdout] test protocol::mock::tests::mock_pair_roundtrip_frame ... ok
[INFO] [stdout] test protocol::version::tests::newer_accepted_version_capped_at_preferred ... ok
[INFO] [stdout] test protocol::version::tests::another_newer_accepted_version_capped_at_preferred ... ok
[INFO] [stdout] test protocol::version::tests::version_above_ceiling_returns_error ... ok
[INFO] [stdout] test protocol::version::tests::version_below_floor_returns_error ... ok
[INFO] [stdout] test registry::build::tests::registry_build_span_emits_with_subscriber ... ok
[INFO] [stdout] test protocol::version::tests::older_accepted_version_negotiated_as_is ... ok
[INFO] [stdout] test protocol::version::tests::preferred_version_negotiated_as_preferred ... ok
[INFO] [stdout] test registry::build::tests::registry_builds_total_increments ... ok
[INFO] [stdout] test registry::build::tests::registry_collisions_total_increments_on_collision ... ok
[INFO] [stdout] test registry::build::tests::registry_capabilities_gauge_reflects_counts ... ok
[INFO] [stdout] test registry::index::tests::template_returned_when_no_exact_match ... ok
[INFO] [stdout] test registry::index::tests::exact_beats_template_when_both_match ... ok
[INFO] [stdout] test registry::index::tests::exact_lookup_hit_returns_correct_entry ... ok
[INFO] [stdout] test registry::index::tests::exact_lookup_miss_returns_none ... ok
[INFO] [stdout] test registry::index::tests::uri_template_simple_var_matches ... ok
[INFO] [stdout] test registry::index::tests::uri_template_no_match_returns_none ... ok
[INFO] [stdout] test registry::index::tests::uri_template_two_vars_matches ... ok
[INFO] [stdout] test registry::index::tests::uri_template_two_vars_no_match_when_short ... ok
[INFO] [stdout] test registry::index::tests::uri_template_unsupported_operator_rejected ... ok
[INFO] [stdout] test registry::types::tests::prompt_entry_fields_wired_from_config ... ok
[INFO] [stdout] test registry::types::tests::resource_entry_template_detection ... ok
[INFO] [stdout] test registry::types::tests::tool_entry_arc_clone_is_cheap ... ok
[INFO] [stdout] test registry::types::tests::prompt_entry_with_exec ... ok
[INFO] [stdout] test registry::types::tests::resource_entry_fields_wired_from_config ... ok
[INFO] [stdout] test registry::types::tests::tool_entry_fields_wired_from_config ... ok
[INFO] [stdout] test registry::worker_key::tests::different_args_produces_different_key ... ok
[INFO] [stdout] test registry::types::tests::tool_entry_persistent_has_worker_key ... ok
[INFO] [stdout] test registry::worker_key::tests::different_command_produces_different_key ... ok
[INFO] [stdout] test registry::worker_key::tests::different_cwd_produces_different_key ... ok
[INFO] [stdout] test registry::worker_key::tests::different_env_value_produces_different_key ... ok
[INFO] [stdout] test registry::worker_key::tests::env_key_order_does_not_affect_key ... ok
[INFO] [stdout] test registry::worker_key::tests::different_restart_produces_different_key ... ok
[INFO] [stdout] test registry::worker_key::tests::hashing_is_deterministic ... ok
[INFO] [stdout] test transport::frame::tests::encode_ascii_with_newline_terminator ... ok
[INFO] [stdout] test registry::worker_key::tests::identical_exec_blocks_produce_same_key ... ok
[INFO] [stdout] test registry::worker_key::tests::different_protocol_produces_different_key ... ok
[INFO] [stdout] test transport::frame::tests::encode_empty_json_object ... ok
[INFO] [stdout] test transport::frame::tests::encode_utf8_preserves_bytes ... ok
[INFO] [stdout] test transport::frame::tests::line_decoder_default_max_size ... ok
[INFO] [stdout] test transport::frame::tests::line_decoder_recovers_from_invalid_utf8 ... ok
[INFO] [stdout] test transport::frame::tests::line_decoder_with_custom_max ... ok
[INFO] [stdout] test transport::ids::tests::session_id_in_tracing_span ... ok
[INFO] [stdout] test transport::ids::tests::session_id_display_is_hyphenated_uuid ... ok
[INFO] [stdout] test transport::session::tests::duplex_session_id_matches_construction ... ok
[INFO] [stdout] test transport::session::tests::duplex_session_recv_returns_none_after_close ... ok
[INFO] [stdout] test transport::session::tests::duplex_session_close_returns_ok ... ok
[INFO] [stdout] test transport::stdio::tests::stdio_session_bounded_capacity ... ok
[INFO] [stdout] test transport::session::tests::duplex_session_roundtrips_frames ... ok
[INFO] [stdout] test transport::stdio::tests::stdio_session_recv_reads_from_stdin ... ok
[INFO] [stdout] test transport::stdio::tests::stdio_session_send_writes_to_stdout ... ok
[INFO] [stdout] test transport::stdio::tests::stdio_transport_closes_on_eof ... ok
[INFO] [stdout] test transport::stdio::tests::stdio_transport_yields_one_session ... ok
[INFO] [stdout] test transport::uds::tests::uds_bind_creates_parent_with_mode_0700 ... ok
[INFO] [stdout] test transport::uds::tests::uds_bind_busy_with_live_listener ... ok
[INFO] [stdout] test transport::uds::tests::uds_bind_creates_socket_with_mode_0600 ... ok
[INFO] [stdout] test protocol::validate::tests::bad_schema_returns_internal_error ... ok
[INFO] [stdout] test protocol::validate::tests::valid_args_returns_ok ... ok
[INFO] [stdout] test protocol::validate::tests::missing_required_field_returns_invalid_params ... ok
[INFO] [stdout] test protocol::methods::tests::tools_call_missing_required_field_returns_invalid_params ... ok
[INFO] [stdout] test protocol::validate::tests::wrong_type_returns_invalid_params_with_path ... ok
[INFO] [stdout] test protocol::methods::tests::tools_call_valid_args_returns_exec_not_implemented ... ok
[INFO] [stdout] test transport::uds::tests::uds_stale_socket_cleanup ... ok
[INFO] [stdout] test protocol::methods::tests::tools_call_wrong_type_returns_invalid_params_with_path ... ok
[INFO] [stdout] test protocol::handler::tests::tools_call_returns_exec_not_implemented ... ok
[INFO] [stdout] test protocol::handler::tests::requests_total_tracks_invalid_params_result ... ok
[INFO] [stdout] test transport::uds::tests::uds_concurrent_sessions ... ok
[INFO] [stdout] test daemon::tests::serve_loop_integrates_transport_and_signals ... ok
[INFO] [stdout] test transport::ids::tests::session_id_new_creates_unique_values ... ok
[INFO] [stdout] test transport::frame::tests::encode_debug_asserts_no_newline_in_payload - should panic ... ok
[INFO] [stdout] test daemon::pidfile::tests::stale_pidfile_is_overwritten ... ok
[INFO] [stdout] test daemon::pidfile::tests::stale_pidfile_emits_warn_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/lmcp/2a4e1ef0f6460c4c/out/lmcp-2a4e1ef0f6460c4c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/lmcp_test_crash.rs (/opt/rustwide/target/debug/build/lmcp/07bf5cb0166cb51d/out/lmcp_test_crash-07bf5cb0166cb51d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/lmcp_test_jsonl_echo.rs (/opt/rustwide/target/debug/build/lmcp/4f18a8156daccbe8/out/lmcp_test_jsonl_echo-4f18a8156daccbe8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/lmcp_test_print_argv.rs (/opt/rustwide/target/debug/build/lmcp/94a62d4db00fc777/out/lmcp_test_print_argv-94a62d4db00fc777)
[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/cli.rs (/opt/rustwide/target/debug/build/lmcp/34ad19e61e03e607/out/cli-34ad19e61e03e607)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test it_shows_version ... ok
[INFO] [stdout] test it_run_help_shows_config ... ok
[INFO] [stdout] test it_rejects_conflicting_flags ... ok
[INFO] [stdout] test it_rejects_unknown_flags ... ok
[INFO] [stdout] test it_shows_usage_error_exit_code_on_bogus_flag ... ok
[INFO] [stdout] test zed_e2e_doc_exists_and_references_extension_unit26 ... ok
[INFO] [stdout] test it_schema_help_shows_format ... ok
[INFO] [stdout] test it_shows_success_exit_code_on_version ... ok
[INFO] [stdout] test it_call_help_works ... ok
[INFO] [stdout] test it_reload_help_shows_socket_and_force ... ok
[INFO] [stdout] test it_daemon_help_shows_config_and_foreground ... ok
[INFO] [stdout] test it_status_help_shows_socket_and_format ... ok
[INFO] [stdout] test it_validate_help_works ... ok
[INFO] [stdout] test it_defaults_to_run_when_no_subcommand ... ok
[INFO] [stdout] test it_expands_tilde_in_config_flag ... ok
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stdout] test it_stop_help_shows_socket ... ok
[INFO] [stdout] test it_lists_all_subcommands_in_help ... ok
[INFO] [stdout] test it_shows_failure_exit_code_on_run ... ok
[INFO] [stdout] test it_dispatcher_forwards_resolved_config_path ... ok
[INFO] [stderr] warning: unused dependency `rmcp`
[INFO] [stderr]   --> crates/lmcp/Cargo.toml:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | rmcp               = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rmcp`
[INFO] [stderr] warning: unused dependency `shellexpand`
[INFO] [stderr]   --> crates/lmcp/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | shellexpand        = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `shellexpand`
[INFO] [stderr] warning: `lmcp` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr] warning: unused field `repository` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | repository = "https://github.com/dougtesting/lmcp"
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.repository`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stdout] test it_builds_and_runs_help ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/daemon.rs (/opt/rustwide/target/debug/build/lmcp/9c12383da41f15ab/out/daemon-9c12383da41f15ab)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test lmcp_reload_force_cancels_in_flight ... ok
[INFO] [stdout] test pidfile_mutual_exclusion_across_processes ... ok
[INFO] [stdout] test lmcp_stop_exits_daemon_cleanly ... ok
[INFO] [stdout] test lmcp_status_reports_uptime_and_config ... ok
[INFO] [stdout] test foreground_stays_attached_and_exits_cleanly ... ok
[INFO] [stdout] test control_server_reads_json_ops ... ok
[INFO] [stdout] test lmcp_reload_collision_policy_warn_and_drop ... ok
[INFO] [stdout] test lmcp_reload_with_bad_config_leaves_registry_unchanged ... ok
[INFO] [stdout] test lmcp_reload_swaps_registry_atomically ... ok
[INFO] [stdout] test daemon_detaches_by_default_with_double_fork ... ok
[INFO] [stdout] test lmcp_sighup_triggers_reload ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exec_dispatch.rs (/opt/rustwide/target/debug/build/lmcp/bae5bdbb08b28653/out/exec_dispatch-bae5bdbb08b28653)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test prompt_not_found_returns_capability_not_found_unit20 ... ok
[INFO] [stdout] test prompt_inline_template_renders_unit20 ... ok
[INFO] [stdout] test resource_read_unknown_uri_returns_not_found_unit19 ... ok
[INFO] [stdout] test resource_read_template_uri_passes_params_unit19 ... ok
[INFO] [stdout] test resource_read_exact_uri_unit19 ... ok
[INFO] [stdout] test prompt_exec_malformed_output_returns_error_unit21 ... ok
[INFO] [stdout] test prompt_exec_output_parsed_as_messages_unit21 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exec_guards.rs (/opt/rustwide/target/debug/build/lmcp/d8b0ad03581cd969/out/exec_guards-d8b0ad03581cd969)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test io_log_record_modes_produce_correct_fields_unit23 ... ok
[INFO] [stdout] test guard_rejects_path_outside_allowed_unit22 ... ok
[INFO] [stdout] test guard_allows_path_inside_allowed_unit22 ... ok
[INFO] [stdout] test calls_counter_increments_on_error_unit24 ... ok
[INFO] [stdout] test calls_counter_increments_on_success_unit24 ... ok
[INFO] [stdout] test timeout_counter_increments_unit24 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exec_oneshot.rs (/opt/rustwide/target/debug/build/lmcp/4c4627c55e1e7757/out/exec_oneshot-4c4627c55e1e7757)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test nonzero_exit_returns_error_unit8 ... ok
[INFO] [stdout] test stdin_json_writes_full_args_unit5 ... ok
[INFO] [stdout] test shell_metachars_are_not_interpreted_unit9 ... ok
[INFO] [stdout] test stdin_text_writes_first_string_arg_unit5 ... ok
[INFO] [stdout] test oneshot_echo_returns_stdout_unit4 ... ok
[INFO] [stdout] test stdin_none_closes_immediately_unit5 ... ok
[INFO] [stdout] test env_scrubbing_drops_secret_unit10 ... ok
[INFO] [stdout] test large_stderr_is_truncated_unit8 ... ok
[INFO] [stdout] test cancellation_aborts_child_unit11 ... ok
[INFO] [stdout] test timeout_kills_child_unit7 ... ok
[INFO] [stderr]      Running tests/exec_persistent.rs (/opt/rustwide/target/debug/build/lmcp/ce1ababd09cd49b9/out/exec_persistent-ce1ababd09cd49b9)
[INFO] [stdout] test no_pid_leaks_after_100_spawns_unit12 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test pool_creates_distinct_workers_for_distinct_keys_unit16 ... ok
[INFO] [stdout] test crash_loop_leads_to_permanently_failed_unit15 ... ok
[INFO] [stdout] test worker_demuxes_50_concurrent_requests_unit13 ... ok
[INFO] [stdout] test worker_restarts_after_crash_unit14 ... ok
[INFO] [stdout] test reload_preserves_worker_for_unchanged_exec_unit17 ... ok
[INFO] [stdout] test idle_worker_is_reaped_unit18 ... ok
[INFO] [stderr]      Running tests/exec_status.rs (/opt/rustwide/target/debug/build/lmcp/e54ceae02a0c707c/out/exec_status-e54ceae02a0c707c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test status_workers_field_present_with_no_persistent_tools_unit25 ... FAILED
[INFO] [stdout] test status_includes_workers_field_unit25 ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- status_workers_field_present_with_no_persistent_tools_unit25 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'status_workers_field_present_with_no_persistent_tools_unit25' (5226) panicked at crates/lmcp/tests/exec_status.rs:150:5:
[INFO] [stdout] lmcp status should succeed; stderr: error: Broken pipe (os error 32)
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5862974dfd21 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5862974dfd21 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5862974dfd21 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5862974dfd21 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5862974f47ba - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5862974f47ba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5862974e423c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5862974e423c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5862974ba796 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5862974ba796 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5862974d79f9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x586297472e80 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x586297472e80 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5862974d7bb2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5862974d7bb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5862974ba842 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5862974b3439 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5862974bb44d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5862974f4f6c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x586297429ad8 - exec_status[66010d97c65aa14]::status_workers_field_present_with_no_persistent_tools_unit25
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/lmcp/tests/exec_status.rs:150:5
[INFO] [stdout]   20:     0x586297427647 - exec_status[66010d97c65aa14]::status_workers_field_present_with_no_persistent_tools_unit25::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/lmcp/tests/exec_status.rs:111:66
[INFO] [stdout]   21:     0x58629742da26 - <exec_status[66010d97c65aa14]::status_workers_field_present_with_no_persistent_tools_unit25::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5862974662cb - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5862974662cb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   24:     0x5862974734a5 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   25:     0x5862974734a5 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5862974734a5 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   27:     0x5862974734a5 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   28:     0x5862974734a5 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5862974734a5 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   30:     0x5862974734a5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   31:     0x58629746cd94 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   32:     0x58629746cd94 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x586297476532 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x586297476532 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x586297476532 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   36:     0x586297476532 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   37:     0x586297476532 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x586297476532 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x586297476532 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5862974df39f - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   41:     0x5862974df39f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x70a083efcdfa - <unknown>
[INFO] [stdout]   43:     0x70a083f903d4 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     status_workers_field_present_with_no_persistent_tools_unit25
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p lmcp --test exec_status`
[INFO] running `Command { std: "docker" "inspect" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4", kill_on_drop: false }`
[INFO] [stdout] 64ddf34c4dff61eebf9f95b81cdab32abe730a3c218244fd47a37c44a2dea0a4
