[INFO] fetching crate turul-mcp-protocol-2026-07-28 0.4.0...
[INFO] testing turul-mcp-protocol-2026-07-28-0.4.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate turul-mcp-protocol-2026-07-28 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate turul-mcp-protocol-2026-07-28 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate turul-mcp-protocol-2026-07-28 0.4.0
[INFO] tweaked toml for crates.io crate turul-mcp-protocol-2026-07-28 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate turul-mcp-protocol-2026-07-28 0.4.0 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 crates.io crate turul-mcp-protocol-2026-07-28 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | homepage = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 | repository = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |              -----------------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `turul-mcp-protocol-2026-07-28` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1
[INFO] running `Command { std: "docker" "start" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", 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" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1" "/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" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", 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" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | homepage = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 | repository = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |              -----------------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `turul-mcp-protocol-2026-07-28` (manifest) generated 1 warning
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling turul-rpc-core v0.2.3
[INFO] [stderr]    Compiling turul-rpc-jsonrpc v0.2.3
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling turul-rpc-server v0.2.3
[INFO] [stderr]    Compiling turul-rpc v0.2.3
[INFO] [stderr]    Compiling turul-mcp-protocol-2026-07-28 v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.54s
[INFO] running `Command { std: "docker" "inspect" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", 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" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1" "/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: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | homepage = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 | repository = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |              -----------------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `turul-mcp-protocol-2026-07-28` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling turul-mcp-protocol-2026-07-28 v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.94s
[INFO] running `Command { std: "docker" "inspect" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", 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" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | homepage = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 | repository = "https://github.com/aussierobots/turul-mcp-framework"
[INFO] [stderr]    |              -----------------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `turul-mcp-protocol-2026-07-28` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/turul-mcp-protocol-2026-07-28/d5da523bc63acd0d/out/turul_mcp_protocol_2026_07_28-d5da523bc63acd0d)
[INFO] [stdout] 
[INFO] [stdout] running 222 tests
[INFO] [stdout] test caching::tests::cache_scope_parses_lowercase_only ... ok
[INFO] [stdout] test caching::tests::cacheable_result_accepts_zero_ttl ... ok
[INFO] [stdout] test completion::tests::test_complete_request_matches_typescript_spec ... ok
[INFO] [stdout] test caching::tests::cacheable_result_rejects_missing_cache_scope ... ok
[INFO] [stdout] test caching::tests::cacheable_result_serializes_required_fields ... ok
[INFO] [stdout] test completion::tests::test_complete_result_matches_typescript_spec ... ok
[INFO] [stdout] test completion::tests::completion_reference_rejects_unknown_type ... ok
[INFO] [stdout] test caching::tests::cache_scope_serializes_lowercase ... ok
[INFO] [stdout] test caching::tests::cacheable_result_rejects_missing_ttl_ms ... ok
[INFO] [stdout] test completion::tests::completion_reference_round_trips_resource_and_prompt ... ok
[INFO] [stdout] test caching::tests::cacheable_result_flatten_pattern_round_trips ... ok
[INFO] [stdout] test completion::tests::test_prompt_reference ... ok
[INFO] [stdout] test completion::tests::test_resource_template_reference ... ok
[INFO] [stdout] test completion::tests::test_serialization ... ok
[INFO] [stdout] test content::tests::test_resource_reference_minimal ... ok
[INFO] [stdout] test completion::tests::test_completion_reference_union ... ok
[INFO] [stdout] test content::tests::test_resource_reference_serialization_with_annotations_and_meta ... ok
[INFO] [stdout] test caching::tests::helpers_produce_expected_values ... ok
[INFO] [stdout] test completion::tests::completion_reference_rejects_missing_type ... ok
[INFO] [stdout] test content::tests::test_tool_use_content_block ... ok
[INFO] [stdout] test content::tests::test_tool_result_content_block ... ok
[INFO] [stdout] test caching::tests::cacheable_result_round_trips ... ok
[INFO] [stdout] test completion::tests::completion_result_new_does_not_truncate ... ok
[INFO] [stdout] test content::tests::test_resource_link_round_trips_size_and_icons ... ok
[INFO] [stdout] test content::tests::test_tool_result_error_content_block ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::boolean_value_round_trips ... ok
[INFO] [stdout] test discover::tests::discover_request_constant_matches_method ... ok
[INFO] [stdout] test discover::tests::discover_request_has_params_object ... ok
[INFO] [stdout] test discover::tests::discover_result_carries_server_info_under_meta_not_top_level ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::elicit_result_content_map_round_trips_mixed_value_kinds ... ok
[INFO] [stdout] test discover::tests::discover_request_method_is_server_discover ... ok
[INFO] [stdout] test discover::tests::discover_request_satisfies_rpc_trait ... ok
[INFO] [stdout] test discover::tests::discover_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test discover::tests::discover_result_serializes_required_fields ... ok
[INFO] [stdout] test discover::tests::discover_result_round_trips ... ok
[INFO] [stdout] test discover::tests::discover_result_omits_optional_fields_when_none ... ok
[INFO] [stdout] test discover::tests::discover_result_response_wire_shape ... ok
[INFO] [stdout] test discover::tests::discover_result_serializes_instructions_when_present ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::accessor_methods_only_return_some_for_their_own_variant ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::bare_integer_value_round_trips_as_number ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::float_value_round_trips ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::object_value_is_rejected ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::string_array_value_round_trips ... ok
[INFO] [stdout] test elicitation::elicit_result_value_tests::string_value_round_trips ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::bare_integer_discriminator_selects_number_not_string ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::allowed_values_spans_all_union_shapes ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::bare_boolean_discriminator_selects_boolean_not_string ... ok
[INFO] [stdout] test elicitation::tests::test_elicit_request_matches_typescript_spec ... ok
[INFO] [stdout] test elicitation::tests::test_elicit_result ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::legacy_enum_names_payload_round_trips_losslessly ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::number_constraints_survive_the_union ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::plain_string_enum_round_trips_via_primitive_union ... ok
[INFO] [stdout] test elicitation::tests::test_elicitation_builder ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::titled_single_select_round_trips_via_elicitation_schema_properties ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::untitled_multi_select_round_trips_via_primitive_union ... ok
[INFO] [stdout] test elicitation::tests::test_elicit_create_request ... ok
[INFO] [stdout] test elicitation::tests::test_elicitation_schema_dialect_round_trips ... ok
[INFO] [stdout] test elicitation::tests::test_elicitation_schema_omits_dialect_when_none ... ok
[INFO] [stdout] test elicitation::tests::test_primitive_schema_creation ... ok
[INFO] [stdout] test elicitation::tests::test_serialization ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_in_const_default_enum_examples_is_not_flagged ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::plain_string_schema_still_parses_as_string ... ok
[INFO] [stdout] test elicitation::enum_union_fidelity_tests::unknown_type_discriminator_is_rejected ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_reached_only_via_ref_is_flagged ... ok
[INFO] [stdout] test elicitation::tests::test_elicitation_schema ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_additional_properties_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_all_of_is_flagged ... ok
[INFO] [stdout] test elicitation::tests::test_primitive_schema_definitions_match_typescript ... ok
[INFO] [stdout] test elicitation::tests::test_elicit_result_matches_typescript_spec ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_pattern_properties_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_any_of_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_contains_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_items_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_not_if_then_else_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_one_of_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_property_names_is_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::schema_with_no_annotations_is_not_flagged ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::unreferenced_defs_annotation_is_flagged ... ok
[INFO] [stdout] test headers::param_tests::decode_round_trips ... ok
[INFO] [stdout] test headers::param_tests::integer_and_boolean_conversion ... ok
[INFO] [stdout] test headers::param_tests::scan_finds_annotations_and_enforces_constraints ... ok
[INFO] [stdout] test headers::param_tests::x_mcp_header_emits_only_statically_reachable_properties ... ok
[INFO] [stdout] test headers::tests::base64_sentinel_exact_spelling ... ok
[INFO] [stdout] test headers::tests::header_mismatch_code_matches_schema ... ok
[INFO] [stdout] test headers::tests::header_names_exact_spelling ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::nested_property_annotation_is_not_flagged ... ok
[INFO] [stdout] test icons::tests::test_icon_data_uri ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::top_level_property_annotation_is_not_flagged ... ok
[INFO] [stdout] test icons::tests::test_icon_serialization_camel_case ... ok
[INFO] [stdout] test icons::tests::test_icon_round_trip ... ok
[INFO] [stdout] test icons::tests::test_icons_array_serialization ... ok
[INFO] [stdout] test initialize::tests::test_implementation_creation ... ok
[INFO] [stdout] test icons::tests::test_icon_minimal_serialization ... ok
[INFO] [stdout] test initialize::tests::roots_capabilities_ignores_unknown_fields_on_deserialize ... ok
[INFO] [stdout] test input_required::tests::input_request_list_roots_serializes_with_method_string ... ok
[INFO] [stdout] test initialize::tests::roots_capabilities_matches_schema_empty_object ... ok
[INFO] [stdout] test icons::tests::test_icon_new ... ok
[INFO] [stdout] test input_required::tests::input_requests_map_keyed_by_server_assigned_id ... ok
[INFO] [stdout] test input_required::tests::input_required_result_parses_minimum_shape ... ok
[INFO] [stdout] test headers::param_tests::encoding_matches_the_spec_examples ... ok
[INFO] [stdout] test input_required::tests::input_required_result_round_trips ... ok
[INFO] [stdout] test headers::misplaced_x_mcp_header_tests::annotation_under_prefix_items_is_flagged ... ok
[INFO] [stdout] test input_required::tests::input_required_result_serializes_result_type_field ... ok
[INFO] [stdout] test logging::tests::test_logging_level_priority ... ok
[INFO] [stdout] test input_required::tests::input_required_result_field_getters_via_trait ... ok
[INFO] [stdout] test mcp_error_code_partition::missing_required_client_capability_uses_spec_code ... ok
[INFO] [stdout] test mcp_error_code_partition::no_two_framework_internal_errors_share_a_code ... ok
[INFO] [stdout] test mcp_error_code_partition::unsupported_protocol_version_uses_spec_code ... ok
[INFO] [stdout] test icons::tests::test_icon_theme_serialization ... ok
[INFO] [stdout] test meta::tests::malformed_server_info_is_dropped_on_the_wire ... ok
[INFO] [stdout] test meta::tests::request_meta_object_extra_cannot_shadow_protocol_version ... ok
[INFO] [stdout] test meta::tests::loose_map_lifts_server_info_into_the_typed_field ... ok
[INFO] [stdout] test meta::tests::test_progress_token_integer_round_trips ... ok
[INFO] [stdout] test meta::tests::test_progress_token_accepts_scientific_notation ... ok
[INFO] [stdout] test meta::tests::test_progress_token_deserializes_from_both_shapes ... ok
[INFO] [stdout] test meta::tests::test_progress_token_string ... ok
[INFO] [stdout] test meta::tests::valid_server_info_round_trips_through_the_wire ... ok
[INFO] [stdout] test input_required::tests::input_required_result_with_requests_only_is_well_formed ... ok
[INFO] [stdout] test input_required::tests::input_response_request_params_round_trips_with_responses ... ok
[INFO] [stdout] test input_required::tests::input_required_result_with_state_only_is_well_formed ... ok
[INFO] [stdout] test meta::tests::request_meta_object_extra_cannot_shadow_progress_token ... ok
[INFO] [stdout] test meta::tests::test_cursor ... ok
[INFO] [stdout] test json_rpc::tests::test_request_params_with_meta ... ok
[INFO] [stdout] test notifications::tests::test_cancelled_notification ... ok
[INFO] [stdout] test mcp_error_code_partition::framework_internal_errors_are_legacy_allocations_or_outside_the_reserved_range ... ok
[INFO] [stdout] test mcp_error_code_partition::header_mismatch_constant_uses_spec_code ... ok
[INFO] [stdout] test notifications::tests::test_cancelled_notification_rejects_missing_request_id ... ok
[INFO] [stdout] test notifications::tests::resource_updated_uri_via_trait ... ok
[INFO] [stdout] test notifications::tests::test_progress_token_number ... ok
[INFO] [stdout] test notifications::tests::test_prompt_list_changed ... ok
[INFO] [stdout] test notifications::tests::test_request_meta_accepts_numeric_progress_token ... ok
[INFO] [stdout] test notifications::tests::test_resource_list_changed ... ok
[INFO] [stdout] test meta::tests::test_progress_token_negative_and_large_round_trip ... ok
[INFO] [stdout] test notifications::tests::cancelled_params_field_getters_via_trait ... ok
[INFO] [stdout] test notifications::tests::test_tool_list_changed ... ok
[INFO] [stdout] test meta::tests::test_progress_token_rejects_wire_inf_overflow ... ok
[INFO] [stdout] test notifications::tests::progress_params_field_getters_via_trait ... ok
[INFO] [stdout] test notifications::tests::tool_list_changed_satisfies_rpc_notification_and_trait ... ok
[INFO] [stdout] test ping::tests::test_empty_result ... ok
[INFO] [stdout] test ping::tests::test_empty_result_serialization ... ok
[INFO] [stdout] test notifications::tests::test_logging_message_notification ... ok
[INFO] [stdout] test prompts::tests::test_get_prompt_request ... ok
[INFO] [stdout] test resources::tests::test_resource_content ... ok
[INFO] [stdout] test prompts::tests::test_serialization ... ok
[INFO] [stdout] test resources::tests::test_resource_creation ... ok
[INFO] [stdout] test resources::tests::test_read_resource_response ... ok
[INFO] [stdout] test prompts::tests::test_get_prompt_response ... ok
[INFO] [stdout] test prompts::tests::test_prompt_creation ... ok
[INFO] [stdout] test prompts::tests::test_prompt_message ... ok
[INFO] [stdout] test resources::tests::test_list_resources_response ... ok
[INFO] [stdout] test result_type::tests::complete_serializes_to_snake_case_string ... ok
[INFO] [stdout] test result_type::tests::input_required_serializes_to_snake_case_string ... ok
[INFO] [stdout] test result_type::tests::other_round_trips_verbatim ... ok
[INFO] [stdout] test resources::tests::test_serialization ... ok
[INFO] [stdout] test result_type::tests::parses_lowercase_strings ... ok
[INFO] [stdout] test result_type::tests::complete_is_default_per_backward_compat_rule ... ok
[INFO] [stdout] test roots::tests::test_list_roots_request ... ok
[INFO] [stdout] test resources::tests::test_trait_implementations ... ok
[INFO] [stdout] test roots::tests::test_list_roots_result ... ok
[INFO] [stdout] test result_type::tests::as_str_matches_wire_string ... ok
[INFO] [stdout] test roots::tests::test_list_roots_request_matches_typescript_spec ... ok
[INFO] [stdout] test roots::tests::test_list_roots_result_matches_typescript_spec ... ok
[INFO] [stdout] test roots::tests::test_serialization ... ok
[INFO] [stdout] test notifications::tests::test_resource_updated ... ok
[INFO] [stdout] test roots::tests::test_root_validation ... ok
[INFO] [stdout] test notifications::tests::test_progress_notification ... ok
[INFO] [stdout] test json_rpc::tests::test_request_params_rejects_missing_meta ... ok
[INFO] [stdout] test sampling::tests::create_message_request_params_metadata_is_an_object ... ok
[INFO] [stdout] test meta::tests::test_progress_token_float_round_trips ... ok
[INFO] [stdout] test sampling::tests::test_tool_choice_absent_mode_is_auto ... ok
[INFO] [stdout] test sampling::tests::test_tool_choice_any_alias_returns_required ... ok
[INFO] [stdout] test sampling::tests::test_tool_choice_mode_deserializes_legacy_any ... ok
[INFO] [stdout] test notifications::tests::test_cancelled_notification_always_emits_request_id ... ok
[INFO] [stdout] test sampling::tests::assistant_tool_use_not_followed_by_matching_tool_result_fails ... ok
[INFO] [stdout] test input_required::tests::input_response_request_params_omits_none_fields ... ok
[INFO] [stdout] test roots::tests::test_root_creation ... ok
[INFO] [stdout] test roots::tests::test_optional_params_serialization ... ok
[INFO] [stdout] test sampling::tests::create_message_request_params_metadata_rejects_non_object_wire_value ... ok
[INFO] [stdout] test sampling::tests::test_tool_choice_mode_deserializes_required ... ok
[INFO] [stdout] test sampling::tests::user_message_mixing_text_and_tool_result_fails ... ok
[INFO] [stdout] test schema::tests::test_array_schema ... ok
[INFO] [stdout] test sampling::tests::valid_tool_use_tool_result_pairing_passes ... ok
[INFO] [stdout] test sampling::tests::test_tool_choice_mode_serializes_as_required ... ok
[INFO] [stdout] test schema::tests::test_enum_schema ... ok
[INFO] [stdout] test schema::tests::test_object_schema ... ok
[INFO] [stdout] test result_type::tests::accepts_unknown_discriminator_as_other ... ok
[INFO] [stdout] test sep_2577_marker_tripwire::deprecation_markers_are_present ... ok
[INFO] [stdout] test schema::tests::test_fixed_length_array_schema ... ok
[INFO] [stdout] test schema::tests::test_string_schema ... ok
[INFO] [stdout] test schema::tests::test_min_max_items_ignored_on_non_array ... ok
[INFO] [stdout] test schema::tests::test_to_json_schema_trait ... ok
[INFO] [stdout] test subscriptions::tests::acknowledged_method_constant_matches_schema ... ok
[INFO] [stdout] test subscriptions::tests::acknowledged_notification_serializes_method ... ok
[INFO] [stdout] test subscriptions::tests::ack_filter_can_be_subset_of_request_filter ... ok
[INFO] [stdout] test subscriptions::tests::filter_camelcase_field_names ... ok
[INFO] [stdout] test subscriptions::tests::filter_omits_absent_fields ... ok
[INFO] [stdout] test subscriptions::tests::filter_round_trips ... ok
[INFO] [stdout] test tools::tests::test_call_tool_response ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_meta_extra_cannot_shadow_server_info ... ok
[INFO] [stdout] test tools::tests::test_tool_result_creation ... ok
[INFO] [stdout] test subscriptions::tests::listen_request_rejects_missing_meta ... ok
[INFO] [stdout] test tools::tests::test_tool_without_icons_omits_field ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_rejects_missing_meta ... ok
[INFO] [stdout] test subscriptions::tests::listen_request_satisfies_new_rpc_trait ... ok
[INFO] [stdout] test subscriptions::tests::listen_method_constant_matches_schema ... ok
[INFO] [stdout] test tools::tests::test_serialization ... ok
[INFO] [stdout] test subscriptions::tests::listen_params_meta_required_on_wire ... ok
[INFO] [stdout] test tools::tests::test_call_tool_response_with_structured_content ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_rejects_missing_subscription_id ... ok
[INFO] [stdout] test tools::tests::test_tool_with_icons ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_meta_extra_cannot_shadow_subscription_id ... ok
[INFO] [stdout] test tools::tests::test_tool_creation ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_emits_required_subscription_id_meta ... ok
[INFO] [stdout] test subscriptions::tests::listen_result_meta_carries_server_info_beside_subscription_id ... ok
[INFO] [stdout] test version::tests::test_capabilities ... ok
[INFO] [stdout] test version::tests::test_feature_list ... ok
[INFO] [stdout] test version::tests::test_current_is_2026_07_28 ... ok
[INFO] [stdout] test subscriptions::tests::listen_request_serializes_method ... ok
[INFO] [stdout] test subscriptions::tests::listen_request_round_trips_from_wire_example ... ok
[INFO] [stdout] test version::tests::test_version_string_conversion ... ok
[INFO] [stdout] test version::tests::test_version_parsing ... ok
[INFO] [stdout] test meta::tests::test_progress_token_from_nan_panics - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 222 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compliance.rs (/opt/rustwide/target/debug/build/turul-mcp-protocol-2026-07-28/2beff52befbcd026/out/compliance-2beff52befbcd026)
[INFO] [stdout] 
[INFO] [stdout] running 189 tests
[INFO] [stdout] test capabilities_shape::client_extensions_serializes_reverse_dns_keys ... ok
[INFO] [stdout] test capabilities_shape::client_sampling_subcapabilities_omitted_when_none ... ok
[INFO] [stdout] test capabilities_shape::client_sampling_subcapabilities_serialize_with_camelcase ... ok
[INFO] [stdout] test capabilities_shape::server_extensions_serializes ... ok
[INFO] [stdout] test capabilities_shape::client_elicitation_subcapabilities_serialize_with_camelcase ... ok
[INFO] [stdout] test completion_alignment::prompt_reference_type_field ... ok
[INFO] [stdout] test completion_alignment::complete_result_emits_result_type ... ok
[INFO] [stdout] test capabilities_shape::capabilities_round_trip_through_json ... ok
[INFO] [stdout] test capabilities_shape::capabilities_omit_extensions_when_none ... ok
[INFO] [stdout] test completion_alignment::completion_inner_field_shape ... ok
[INFO] [stdout] test content_alignment::content_blocks_round_trip_via_untagged_discrimination ... ok
[INFO] [stdout] test content_alignment::audio_content_type_field_is_audio ... ok
[INFO] [stdout] test completion_alignment::resource_template_reference_type_field ... ok
[INFO] [stdout] test content_alignment::image_content_type_field_is_image ... ok
[INFO] [stdout] test content_alignment::resource_link_type_field_present ... ok
[INFO] [stdout] test completion_alignment::completion_omits_total_and_has_more_when_absent ... ok
[INFO] [stdout] test content_alignment::embedded_resource_type_field_present ... ok
[INFO] [stdout] test completion_alignment::complete_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test content_alignment::text_content_type_field_is_text ... ok
[INFO] [stdout] test elicitation_enum_schemas::titled_enum_option_camelcase_const_key ... ok
[INFO] [stdout] test elicitation_enum_schemas::titled_multi_select_wire_shape ... ok
[INFO] [stdout] test content_alignment::text_content_with_annotations_serializes ... ok
[INFO] [stdout] test convention_meta_keys::subscription_id_uses_io_mcp_prefix ... ok
[INFO] [stdout] test elicitation_modes::url_mode_marker_serializes_lowercase ... ok
[INFO] [stdout] test elicitation_enum_schemas::untitled_single_select_omits_optional_fields_when_none ... ok
[INFO] [stdout] test elicitation_enum_schemas::untitled_single_select_wire_shape ... ok
[INFO] [stdout] test elicitation_modes::form_mode_marker_serializes_lowercase ... ok
[INFO] [stdout] test elicitation_modes::untagged_discrimination_picks_url_when_mode_url_present ... ok
[INFO] [stdout] test empty_result_alignment::empty_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test elicitation_modes::form_mode_round_trips_with_optional_mode ... ok
[INFO] [stdout] test empty_result_alignment::empty_result_serializes_result_type_complete ... ok
[INFO] [stdout] test elicitation_enum_schemas::untitled_multi_select_wire_shape ... ok
[INFO] [stdout] test elicitation_modes::untagged_discrimination_picks_form_when_mode_absent ... ok
[INFO] [stdout] test elicitation_enum_schemas::titled_single_select_wire_shape ... ok
[INFO] [stdout] test convention_meta_keys::tracing_keys_use_w3c_unprefixed_spelling ... ok
[INFO] [stdout] test elicitation_enum_schemas::schema_examples_round_trip ... ok
[INFO] [stdout] test elicitation_modes::url_mode_round_trips_with_required_mode_and_fields ... ok
[INFO] [stdout] test envelope::jsonrpc_error_response_id_optional_per_schema ... ok
[INFO] [stdout] test envelope::jsonrpc_error_object_omits_data_when_absent ... ok
[INFO] [stdout] test convention_meta_keys::log_level_constant_matches_schema_line_106 ... ok
[INFO] [stdout] test convention_meta_keys::schema_declared_meta_keys_match_request_meta_serialization ... ok
[INFO] [stdout] test envelope::jsonrpc_request_id_accepts_string_and_number ... ok
[INFO] [stdout] test empty_result_alignment::empty_result_with_meta_round_trips ... ok
[INFO] [stdout] test elicitation_enum_schemas::enum_schemas_round_trip ... ok
[INFO] [stdout] test envelope::jsonrpc_request_wire_shape ... ok
[INFO] [stdout] test envelope::jsonrpc_version_constant_is_literal_2_0 ... ok
[INFO] [stdout] test envelope::standard_jsonrpc_error_codes_match_schema_constants ... ok
[INFO] [stdout] test error_codes::invalid_params_variants_all_emit_minus_32602 ... ok
[INFO] [stdout] test envelope::jsonrpc_response_is_untagged_union ... ok
[INFO] [stdout] test error_codes::prompt_not_found_maps_to_invalid_params ... ok
[INFO] [stdout] test error_codes::missing_required_client_capability_emits_minus_32021_with_data ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_all_of ... ok
[INFO] [stdout] test envelope::jsonrpc_success_response_has_result_no_error ... ok
[INFO] [stdout] test error_codes::no_unauthorised_error_codes_emitted ... ok
[INFO] [stdout] test error_codes::tool_not_found_maps_to_invalid_params ... ok
[INFO] [stdout] test error_codes::resource_not_found_maps_to_invalid_params ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_one_of ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_conditional_keywords ... ok
[INFO] [stdout] test json_schema_2020_12::output_schema_accepts_non_object_root ... ok
[INFO] [stdout] test json_schema_2020_12::properties_field_accepts_2020_12_unknown_values ... ok
[INFO] [stdout] test envelope::jsonrpc_error_object_shape ... ok
[INFO] [stdout] test error_codes::unsupported_protocol_version_emits_minus_32022_with_data ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_schema_dialect_marker ... ok
[INFO] [stdout] test envelope::jsonrpc_error_response_has_error_no_result ... ok
[INFO] [stdout] test envelope::jsonrpc_notification_has_no_id ... ok
[INFO] [stdout] test method_strings::notifications_tools_list_changed_binding ... ok
[INFO] [stdout] test method_strings::notifications_progress_binding ... ok
[INFO] [stdout] test json_schema_2020_12::tool_with_2020_12_input_schema_round_trips ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_round_trips_top_level_2020_12_keywords ... ok
[INFO] [stdout] test method_strings::notifications_prompts_list_changed_binding ... ok
[INFO] [stdout] test method_strings::schema_method_count_matches_canonical_list ... ok
[INFO] [stdout] test method_strings::notifications_resources_updated_binding ... ok
[INFO] [stdout] test method_strings::prompts_get_binding ... ok
[INFO] [stdout] test method_strings::notifications_resources_list_changed_binding ... ok
[INFO] [stdout] test method_strings::subscriptions_listen_binding ... ok
[INFO] [stdout] test method_strings::server_discover_binding ... ok
[INFO] [stdout] test method_strings::tools_call_binding ... ok
[INFO] [stdout] test method_strings::tools_list_binding ... ok
[INFO] [stdout] test multi_round_trip::client_retries_with_responses_keyed_same_as_input_requests ... ok
[INFO] [stdout] test multi_round_trip::input_request_deserialize_rejects_missing_method ... ok
[INFO] [stdout] test method_strings::notifications_subscriptions_acknowledged_binding ... ok
[INFO] [stdout] test completion_alignment::complete_argument_shape ... ok
[INFO] [stdout] test multi_round_trip::input_required_result_deserialize_accepts_request_state_only ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_ref_and_defs ... ok
[INFO] [stdout] test json_schema_2020_12::input_schema_accepts_any_of ... ok
[INFO] [stdout] test multi_round_trip::input_required_result_deserialize_accepts_input_requests_only ... ok
[INFO] [stdout] test method_strings::prompts_list_binding ... ok
[INFO] [stdout] test method_strings::resources_read_binding ... ok
[INFO] [stdout] test multi_round_trip::input_request_deserialize_dispatches_on_method_string ... ok
[INFO] [stdout] test method_strings::resources_templates_list_binding ... ok
[INFO] [stdout] test method_strings::resources_list_binding ... ok
[INFO] [stdout] test method_strings::roots_list_binding ... ok
[INFO] [stdout] test multi_round_trip::input_required_well_formed_invariant ... ok
[INFO] [stdout] test method_strings::every_listed_method_appears_in_schema ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::annotations_audience_is_the_closed_role_union ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::prompt_reference_is_base_metadata_shaped ... ok
[INFO] [stdout] test multi_round_trip::input_request_deserialize_rejects_unknown_method ... ok
[INFO] [stdout] test multi_round_trip::input_required_result_deserialize_rejects_both_fields_absent ... ok
[INFO] [stdout] test prompts_alignment::get_prompt_params_input_responses_mixin_serializes ... ok
[INFO] [stdout] test multi_round_trip::input_response_mixin_wire_shape_is_uniform_across_three_extenders ... ok
[INFO] [stdout] test multi_round_trip::server_emits_input_required_result_with_one_request_and_state ... ok
[INFO] [stdout] test prompts_alignment::list_prompts_result_with_cache ... ok
[INFO] [stdout] test remaining_shapes::annotations_shape_matches_schema ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::ttl_ms_is_a_schema_number ... ok
[INFO] [stdout] test remaining_shapes::icon_shape_matches_schema ... ok
[INFO] [stdout] test prompts_alignment::get_prompt_params_arguments_is_string_map ... ok
[INFO] [stdout] test remaining_shapes::implementation_shape_matches_schema ... ok
[INFO] [stdout] test remaining_shapes::prompt_argument_shape_matches_schema ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::server_capability_objects_are_opaque ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::tool_choice_mode_is_optional_and_nothing_else_serializes ... ok
[INFO] [stdout] test remaining_shapes::prompt_message_role_values_match_schema ... ok
[INFO] [stdout] test remaining_shapes::prompt_shape_matches_schema ... ok
[INFO] [stdout] test remaining_shapes::resource_shape_matches_schema ... ok
[INFO] [stdout] test remaining_shapes::resource_template_shape_matches_schema ... ok
[INFO] [stdout] test remaining_shapes::role_default_value_user ... ok
[INFO] [stdout] test prompts_alignment::get_prompt_result_emits_result_type ... ok
[INFO] [stdout] test prompts_alignment::list_prompts_result_emits_result_type ... ok
[INFO] [stdout] test removed_methods::elicitation_complete_notification_is_gone ... ok
[INFO] [stdout] test removed_methods::initialize_method_is_gone ... ok
[INFO] [stdout] test remaining_shapes::prompt_message_only_user_and_assistant_roles ... ok
[INFO] [stdout] test removed_methods::ping_method_is_gone ... ok
[INFO] [stdout] test removed_methods::roots_list_changed_notification_is_gone ... ok
[INFO] [stdout] test removed_methods::initialized_notification_is_gone ... ok
[INFO] [stdout] test request_meta::log_level_serializes_under_namespaced_key ... ok
[INFO] [stdout] test removed_methods::resources_subscribe_method_is_gone ... ok
[INFO] [stdout] test removed_methods::server_discover_method_is_present_positive_control ... ok
[INFO] [stdout] test request_meta::optional_fields_absent_when_none ... ok
[INFO] [stdout] test removed_methods::logging_set_level_method_is_gone ... ok
[INFO] [stdout] test prompts_alignment::get_prompt_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test request_meta::accepts_absent_client_info ... ok
[INFO] [stdout] test removed_methods::resources_unsubscribe_method_is_gone ... ok
[INFO] [stdout] test request_meta::progress_token_serializes_under_short_camelcase_key ... ok
[INFO] [stdout] test prompts_alignment::get_prompt_params_omits_mixin_fields_when_absent ... ok
[INFO] [stdout] test request_meta::omits_client_info_from_the_wire_when_absent ... ok
[INFO] [stdout] test request_meta::rejects_missing_required_client_capabilities ... ok
[INFO] [stdout] test request_meta::rejects_malformed_client_info_when_present ... ok
[INFO] [stdout] test request_meta::rejects_missing_required_protocol_version ... ok
[INFO] [stdout] test request_meta::extra_keys_preserved_via_flatten ... ok
[INFO] [stdout] test removed_methods::tasks_methods_are_gone_from_core ... ok
[INFO] [stdout] test resources_alignment::read_resource_params_input_responses_mixin_serializes ... ok
[INFO] [stdout] test resources_alignment::list_resource_templates_result_with_cache ... ok
[INFO] [stdout] test resources_alignment::list_resources_result_emits_result_type ... ok
[INFO] [stdout] test resources_alignment::list_resource_templates_result_emits_result_type_and_camelcase_key ... ok
[INFO] [stdout] test resources_alignment::read_resource_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test resources_alignment::list_resources_result_with_cache_produces_compliant_wire_shape ... ok
[INFO] [stdout] test resources_alignment::list_resources_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test removed_methods::schema_protocol_version_constant_matches_crate ... ok
[INFO] [stdout] test resources_alignment::read_resource_params_omits_mixin_fields_when_absent ... ok
[INFO] [stdout] test resources_alignment::list_resources_result_emits_required_cache_fields_with_defaults ... ok
[INFO] [stdout] test resources_alignment::read_resource_result_defaults_to_private_scope ... ok
[INFO] [stdout] test p1_fidelity_2026_06_10::role_is_a_single_binding ... ok
[INFO] [stdout] test prompts_alignment::list_prompts_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test request_meta::required_fields_serialize_with_namespaced_keys ... ok
[INFO] [stdout] test request_meta::round_trip_preserves_all_fields ... ok
[INFO] [stdout] test resources_alignment::read_resource_result_emits_result_type ... ok
[INFO] [stdout] test resources_alignment::read_resource_result_with_cache ... ok
[INFO] [stdout] test result_discrimination::input_required_always_emits_result_type_on_wire ... ok
[INFO] [stdout] test sampling_message_alignment::tool_use_content_block_carries_id_name_input ... ok
[INFO] [stdout] test sampling_message_alignment::sampling_message_content_block_excludes_embedded_resource_variant ... ok
[INFO] [stdout] test sampling_message_alignment::untagged_content_round_trips_array ... ok
[INFO] [stdout] test sampling_message_alignment::multiple_blocks_content_serializes_as_array ... ok
[INFO] [stdout] test tests::test_notification_matches_typescript_spec ... ok
[INFO] [stdout] test sampling_message_alignment::single_block_content_serializes_as_object_not_array ... ok
[INFO] [stdout] test result_discrimination::pre_2026_result_without_result_type_defaults_to_complete ... ok
[INFO] [stdout] test sampling_message_alignment::create_message_result_supports_array_content_from_extends ... ok
[INFO] [stdout] test sampling_message_alignment::untagged_content_round_trips_single ... ok
[INFO] [stdout] test sampling_message_alignment::sampling_message_content_block_excludes_resource_link_variant ... ok
[INFO] [stdout] test result_discrimination::unknown_result_type_value_is_preserved_as_other ... ok
[INFO] [stdout] test sampling_message_alignment::create_message_result_extends_sampling_message_shape ... ok
[INFO] [stdout] test tests::test_call_tool_request_matches_typescript_spec ... ok
[INFO] [stdout] test tests::test_optional_params_serialization ... ok
[INFO] [stdout] test tests::test_call_tool_response_matches_typescript_spec ... ok
[INFO] [stdout] test tests::test_meta_always_serialized ... ok
[INFO] [stdout] test tests::test_list_tools_request_matches_typescript_spec ... ok
[INFO] [stdout] test tools_alignment::call_tool_params_omits_mixin_fields_when_absent ... ok
[INFO] [stdout] test tests::test_resource_updated_notification_with_uri ... ok
[INFO] [stdout] test tests::test_progress_notification_with_params ... ok
[INFO] [stdout] test tools_alignment::call_tool_result_always_emits_result_type ... ok
[INFO] [stdout] test tools_alignment::call_tool_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test tools_alignment::list_tools_result_round_trips_with_cache ... ok
[INFO] [stdout] test tools_alignment::list_tools_result_emits_required_cache_fields_with_defaults ... ok
[INFO] [stdout] test tools_alignment::call_tool_params_with_input_responses_mixes_in_correctly ... ok
[INFO] [stdout] test tools_alignment::list_tools_result_emits_result_type ... ok
[INFO] [stdout] test tools_alignment::tools_call_request_emits_correct_method ... ok
[INFO] [stdout] test tools_alignment::structured_content_accepts_any_json_value ... ok
[INFO] [stdout] test tools_alignment::tools_list_request_emits_correct_method ... ok
[INFO] [stdout] test tools_alignment::list_tools_result_back_compat_accepts_missing_result_type ... ok
[INFO] [stdout] test tools_alignment::list_tools_result_with_cache_produces_compliant_wire_shape ... ok
[INFO] [stdout] test sampling_message_alignment::sampling_message_meta_is_camelcase_underscore_meta ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 189 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/docs_consistency.rs (/opt/rustwide/target/debug/build/turul-mcp-protocol-2026-07-28/f8feec52a738bd64/out/docs_consistency-f8feec52a738bd64)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test compliance_md_see_count_matches_the_vendored_schema ... ok
[INFO] [stdout] test shipped_docs_do_not_locate_this_crates_artifacts_under_the_draft_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests turul_mcp_protocol_2026_07_28
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/caching.rs - caching::CacheableResult (line 49) ... ignored
[INFO] [stdout] test src/notifications.rs - notifications::ToolListChangedNotification (line 148) ... ignored
[INFO] [stdout] test src/prelude.rs - prelude (line 8) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.34s; merged doctests compilation took 0.32s
[INFO] running `Command { std: "docker" "inspect" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1", kill_on_drop: false }`
[INFO] [stdout] 31ecd82df80725884232f7eac6152db0b3657ad20b78e12bd42bf4fda35afba1
