[INFO] fetching crate entelix-core 0.6.1...
[INFO] testing entelix-core-0.6.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate entelix-core 0.6.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate entelix-core 0.6.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate entelix-core 0.6.1
[INFO] tweaked toml for crates.io crate entelix-core 0.6.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate entelix-core 0.6.1 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 entelix-core 0.6.1 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6
[INFO] running `Command { std: "docker" "start" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", 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" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6" "/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" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", 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" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling rust_decimal v1.42.0
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling referencing v0.46.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling jsonschema v0.46.4
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[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.3
[INFO] [stderr]    Compiling entelix-core v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 37s
[INFO] running `Command { std: "docker" "inspect" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", 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" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling referencing v0.46.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling jsonschema v0.46.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling entelix-core v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 19s
[INFO] running `Command { std: "docker" "inspect" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", 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" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/entelix-core/e7c935c12de3c262/out/entelix_core-e7c935c12de3c262)
[INFO] [stdout] 
[INFO] [stdout] running 214 tests
[INFO] [stdout] test agent_context::tests::with_deadline_delegates_to_core ... ok
[INFO] [stdout] test agent_context::tests::typed_deps_thread_through_constructor ... ok
[INFO] [stdout] test agent_context::tests::into_parts_decomposes_and_round_trips ... ok
[INFO] [stdout] test agent_context::tests::forwarders_match_core ... ok
[INFO] [stdout] test agent_context::tests::parent_cancellation_cascades_to_child ... ok
[INFO] [stdout] test agent_context::tests::map_deps_transforms_typed_handle ... ok
[INFO] [stdout] test agent_context::tests::with_idempotency_key_threads_through_core ... ok
[INFO] [stdout] test agent_context::tests::add_extension_typed_lookup_via_forwarder ... ok
[INFO] [stdout] test agent_context::tests::default_targets_unit_deps ... ok
[INFO] [stdout] test auth::tests::chained_provider_falls_through_on_missing ... ok
[INFO] [stdout] test agent_context::tests::with_thread_id_threads_through_core ... ok
[INFO] [stdout] test codecs::vertex_anthropic::tests::decode_delegates_to_direct_anthropic_response_shape ... ok
[INFO] [stdout] test auth::tests::chained_provider_short_circuits_on_real_error ... ok
[INFO] [stdout] test auth::tests::chained_provider_returns_missing_when_all_sources_exhausted ... ok
[INFO] [stdout] test agent_context::tests::debug_includes_core_and_deps ... ok
[INFO] [stdout] test agent_context::tests::from_execution_context_wraps_with_unit_deps ... ok
[INFO] [stdout] test agent_context::tests::clone_shares_extensions_via_arc_refcount ... ok
[INFO] [stdout] test agent_context::tests::add_extension_does_not_alter_deps ... ok
[INFO] [stdout] test agent_context::tests::child_clones_deps_and_branches_cancellation ... ok
[INFO] [stdout] test codecs::vertex_anthropic::tests::encode_preserves_messages_and_max_tokens ... ok
[INFO] [stdout] test codecs::vertex_anthropic::tests::encode_replaces_model_with_anthropic_version_in_body ... ok
[INFO] [stdout] test codecs::vertex_anthropic::tests::encode_streaming_applies_same_rewrites ... ok
[INFO] [stdout] test agent_context::tests::with_tenant_id_overrides_default ... ok
[INFO] [stdout] test auth::tests::cached_provider_serves_from_cache_within_ttl ... ok
[INFO] [stdout] test agent_context::tests::with_run_id_attaches_correlation ... ok
[INFO] [stdout] test agent_context::tests::run_budget_forwarder_returns_attached_handle ... ok
[INFO] [stdout] test codecs::vertex_anthropic::tests::encode_strips_anthropic_version_header ... ok
[INFO] [stdout] test codecs::vertex_gemini::tests::encode_body_delegates_to_inner_unchanged ... ok
[INFO] [stdout] test extensions::tests::absent_type_returns_none ... ok
[INFO] [stdout] test extensions::tests::arc_returned_from_get_outlives_extensions_clone ... ok
[INFO] [stdout] test context::extension_tests::add_extension_threads_typed_value ... ok
[INFO] [stdout] test codecs::vertex_gemini::tests::encode_emits_publisher_partial_path ... ok
[INFO] [stdout] test context::extension_tests::child_inherits_extensions ... ok
[INFO] [stdout] test extensions::tests::contains_reflects_insertion ... ok
[INFO] [stdout] test codecs::vertex_gemini::tests::encode_streaming_emits_publisher_partial_path_with_sse_alt ... ok
[INFO] [stdout] test context::extension_tests::add_extension_is_copy_on_write ... ok
[INFO] [stdout] test context::extension_tests::fresh_context_has_no_extensions ... ok
[INFO] [stdout] test extensions::tests::copy_on_write_does_not_mutate_original ... ok
[INFO] [stdout] test interruption::tests::interrupt_returns_custom_kind ... ok
[INFO] [stdout] test ir::cache::tests::wire_ttl_field_is_stable ... ok
[INFO] [stdout] test ir::provider_echo::tests::find_picks_first_match ... ok
[INFO] [stdout] test ir::provider_echo::tests::payload_field_handles_non_object ... ok
[INFO] [stdout] test ir::provider_echo::tests::payload_field_lookup ... ok
[INFO] [stdout] test ir::provider_echo::tests::round_trip_serde ... ok
[INFO] [stdout] test ir::provider_extensions::tests::builder_chain_attaches_each_vendor_ext ... ok
[INFO] [stdout] test ir::provider_extensions::tests::default_is_empty ... ok
[INFO] [stdout] test ir::provider_extensions::tests::provider_extensions_serde_round_trip ... ok
[INFO] [stdout] test ir::reasoning::tests::default_is_medium ... ok
[INFO] [stdout] test ir::cache::tests::cache_control_round_trips_via_serde ... ok
[INFO] [stdout] test extensions::tests::multiple_distinct_types_coexist ... ok
[INFO] [stdout] test extensions::tests::debug_surfaces_cardinality ... ok
[INFO] [stdout] test ir::reasoning::tests::serde_round_trip_vendor_specific ... ok
[INFO] [stdout] test ir::structured::tests::best_effort_constructor_clears_strict_flag ... ok
[INFO] [stdout] test ir::structured::tests::new_accepts_valid_object_schema ... ok
[INFO] [stdout] test ir::reasoning::tests::is_canonical_branches ... ok
[INFO] [stdout] test context::extension_tests::extension_arc_outlives_dropped_context ... ok
[INFO] [stdout] test extensions::tests::empty_extensions_have_no_entries ... ok
[INFO] [stdout] test ir::structured::tests::new_rejects_empty_name ... ok
[INFO] [stdout] test extensions::tests::insert_and_get_round_trip ... ok
[INFO] [stdout] test ir::structured::tests::new_rejects_non_object_schema ... ok
[INFO] [stdout] test ir::structured::tests::new_rejects_whitespace_only_name ... ok
[INFO] [stdout] test ir::structured::tests::strict_constructor_sets_strict_flag ... ok
[INFO] [stdout] test ir::reasoning::tests::serde_round_trip_canonical ... ok
[INFO] [stdout] test extensions::tests::second_insert_of_same_type_replaces ... ok
[INFO] [stdout] test ir::system::tests::map_blocks_lets_redactor_rebuild_with_transformed_text ... ok
[INFO] [stdout] test llm_facing::tests::render_for_llm_invalid_request_carries_caller_message ... ok
[INFO] [stdout] test llm_facing::tests::render_for_llm_omits_provider_status ... ok
[INFO] [stdout] test llm_facing::tests::strip_breaks_mutually_recursive_ref_cycle ... ok
[INFO] [stdout] test llm_facing::tests::strip_breaks_self_referential_ref_cycle ... ok
[INFO] [stdout] test llm_facing::tests::strip_inlines_refs_and_drops_defs_envelope ... ok
[INFO] [stdout] test interruption::tests::interrupt_with_carries_typed_kind ... ok
[INFO] [stdout] test interruption::tests::interruption_kind_serializes_with_typed_tag ... ok
[INFO] [stdout] test ir::system::tests::cached_constructor_attaches_cache_control ... ok
[INFO] [stdout] test ir::system::tests::from_str_produces_single_uncached_block ... ok
[INFO] [stdout] test llm_facing::tests::strip_inlines_shared_non_cyclic_ref_at_every_usage ... ok
[INFO] [stdout] test ir::system::tests::round_trips_via_serde_when_cached ... ok
[INFO] [stdout] test ir::system::tests::clone_is_atomic_refcount_bump ... ok
[INFO] [stdout] test llm_facing::tests::strip_keeps_meaningful_format_specifiers ... ok
[INFO] [stdout] test ir::system::tests::empty_prompt_has_no_blocks_and_renders_to_empty_string ... ok
[INFO] [stdout] test overrides::tests::request_overrides_setters_chain ... ok
[INFO] [stdout] test llm_facing::tests::strip_removes_schema_envelope ... ok
[INFO] [stdout] test overrides::tests::request_overrides_empty ... ok
[INFO] [stdout] test overrides::tests::run_overrides_setters_chain ... ok
[INFO] [stdout] test overrides::tests::run_overrides_empty ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_cost_blocks_when_estimate_overshoots ... ok
[INFO] [stdout] test ir::cache::tests::const_constructors_match_variants ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_cost_no_op_when_axis_unbounded ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_tokens_input_fires_before_total ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_cost_passes_when_estimate_fits ... ok
[INFO] [stdout] test run_budget::tests::cost_unlimited_accumulates_without_breaching ... ok
[INFO] [stdout] test ir::provider_extensions::tests::empty_serialization_omits_inactive_vendor_keys ... ok
[INFO] [stdout] test run_budget::tests::output_tokens_limit_post_observe_breaks ... ok
[INFO] [stdout] test run_budget::tests::snapshot_returns_owned_values ... ok
[INFO] [stdout] test ir::structured::tests::round_trips_via_serde ... ok
[INFO] [stdout] test run_budget::tests::tool_calls_limit_pre_check_breaks ... ok
[INFO] [stdout] test ir::system::tests::concat_text_joins_blocks_with_double_newline ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_tokens_blocks_on_output_axis ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_tokens_blocks_on_total_axis ... ok
[INFO] [stdout] test sandbox::tests::sandbox_language_round_trips_via_serde ... ok
[INFO] [stdout] test tenant_id::tests::borrow_str_enables_hashmap_lookup_by_str ... ok
[INFO] [stdout] test run_budget::tests::total_tokens_limit_combines_input_and_output ... ok
[INFO] [stdout] test run_budget::tests::unlimited_budget_passes_every_check ... ok
[INFO] [stdout] test sandbox::tests::command_spec_new_seeds_argv_and_defaults ... ok
[INFO] [stdout] test tenant_id::tests::default_returns_default_tenant ... ok
[INFO] [stdout] test sandbox::tests::command_output_helpers_decode_utf8_lossily ... ok
[INFO] [stdout] test sandbox::tests::command_spec_default_has_empty_argv ... ok
[INFO] [stdout] test overrides::tests::request_overrides_stop_sequences_empty_vs_none ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_tokens_blocks_on_input_axis ... ok
[INFO] [stdout] test tenant_id::tests::deserialize_accepts_non_empty ... ok
[INFO] [stdout] test tenant_id::tests::deserialize_rejects_empty_string ... ok
[INFO] [stdout] test tenant_id::tests::round_trip_via_serde ... ok
[INFO] [stdout] test tokens::tests::arc_blanket_impl_forwards ... ok
[INFO] [stdout] test tenant_id::tests::try_from_rejects_empty_string ... ok
[INFO] [stdout] test tokens::tests::byte_count_handles_multibyte_utf8_at_byte_granularity ... ok
[INFO] [stdout] test tenant_id::tests::serialize_emits_bare_string ... ok
[INFO] [stdout] test tokens::tests::count_messages_sums_text_parts_only ... ok
[INFO] [stdout] test run_budget::tests::check_pre_request_tokens_no_op_when_all_axes_unbounded ... ok
[INFO] [stdout] test tokens::tests::encoding_name_surfaces_for_otel_attribute ... ok
[INFO] [stdout] test run_budget::tests::clone_shares_atomic_state ... ok
[INFO] [stdout] test run_budget::tests::cost_clone_shares_arc_state ... ok
[INFO] [stdout] test run_budget::tests::cost_usd_limit_post_observe_breaks ... ok
[INFO] [stdout] test run_budget::tests::input_tokens_limit_post_observe_breaks ... ok
[INFO] [stdout] test run_budget::tests::limit_accessors_reflect_configuration ... ok
[INFO] [stdout] test run_budget::tests::request_limit_pre_check_increments_then_breaks ... ok
[INFO] [stdout] test tenant_id::tests::default_clones_share_arc ... ok
[INFO] [stdout] test tokens::tests::byte_count_rounds_up ... ok
[INFO] [stdout] test tokens::tests::count_messages_default_impl_skips_non_text_parts ... ok
[INFO] [stdout] test tenant_id::tests::new_panics_on_empty - should panic ... ok
[INFO] [stdout] test tenant_id::tests::try_from_accepts_non_empty ... ok
[INFO] [stdout] test tenant_id::tests::try_from_rejects_empty_str ... ok
[INFO] [stdout] test tokens::tests::registry_ignores_wrong_provider ... ok
[INFO] [stdout] test tokens::tests::resolution_pattern_match_yields_counter ... ok
[INFO] [stdout] test tools::cache::tests::apply_on_empty_input_is_a_noop ... ok
[INFO] [stdout] test tools::cache::tests::none_leaves_specs_unchanged ... ok
[INFO] [stdout] test tokens::tests::registry_last_wins_on_tie ... ok
[INFO] [stdout] test tokens::tests::registry_len_excludes_fallback ... ok
[INFO] [stdout] test tokens::tests::registry_longest_prefix_wins_regardless_of_registration_order ... ok
[INFO] [stdout] test tokens::tests::registry_resolves_exact_provider_and_prefix ... ok
[INFO] [stdout] test tokens::tests::registry_returns_fallback_when_empty ... ok
[INFO] [stdout] test tools::effect::tests::retry_hint_const_ctor_baseline ... ok
[INFO] [stdout] test tools::cache::tests::per_spec_marks_every_spec ... ok
[INFO] [stdout] test tools::error_kind::tests::bit_indices_are_unique_and_fit_in_set_width ... ok
[INFO] [stdout] test tools::error_kind::tests::http_429_with_retry_after_classifies_as_rate_limit ... ok
[INFO] [stdout] test tools::cache::tests::suffix_marks_only_the_last_spec ... ok
[INFO] [stdout] test tools::error_kind::tests::http_429_without_retry_after_classifies_as_quota ... ok
[INFO] [stdout] test tokens::tests::registry_with_default_replaces_fallback ... ok
[INFO] [stdout] test tools::effect::tests::effect_default_is_read_only ... ok
[INFO] [stdout] test tools::effect::tests::effect_serde_round_trip ... ok
[INFO] [stdout] test tools::effect::tests::effect_wire_strings_are_stable ... ok
[INFO] [stdout] test tools::effect::tests::retry_hint_zero_attempts_panics - should panic ... ok
[INFO] [stdout] test tools::error_kind::tests::config_classifies_as_internal ... ok
[INFO] [stdout] test tools::error_kind::tests::http_401_403_classify_as_auth ... ok
[INFO] [stdout] test tools::error_kind::tests::http_408_and_425_classify_as_transient ... ok
[INFO] [stdout] test tokens::tests::resolution_match_and_fallback_are_distinguishable ... ok
[INFO] [stdout] test tools::error_kind::tests::http_4xx_other_classifies_as_permanent ... ok
[INFO] [stdout] test tools::error_kind::tests::invalid_request_and_serde_classify_as_validation ... ok
[INFO] [stdout] test tools::error_policy::tests::validation_failure_passes_through_under_operator_safe ... ok
[INFO] [stdout] test tools::error_kind::tests::provider_5xx_classifies_as_transient ... ok
[INFO] [stdout] test tools::error_kind::tests::tool_error_kind_set_without_and_union ... ok
[INFO] [stdout] test tools::error_kind::tests::tool_error_kind_set_const_construction ... ok
[INFO] [stdout] test tools::error_kind::tests::tool_error_terminal_unwraps_to_inner_kind ... ok
[INFO] [stdout] test tools::progress::tests::current_tool_invocation_rejects_invalid_identity ... ok
[INFO] [stdout] test tools::error_kind::tests::usage_limit_exceeded_classifies_as_quota ... ok
[INFO] [stdout] test tools::registry::tests::cache_mode_is_inherited_through_filter_views ... ok
[INFO] [stdout] test tools::error_policy::tests::empty_policy_is_full_passthrough ... ok
[INFO] [stdout] test tools::error_policy::tests::auth_failure_escalates_under_operator_safe_default ... ok
[INFO] [stdout] test tools::registry::tests::canonical_fingerprint_changes_when_description_changes ... ok
[INFO] [stdout] test tools::registry::tests::canonical_fingerprint_is_empty_sha256_for_empty_registry ... ok
[INFO] [stdout] test tools::registry::tests::canonical_fingerprint_is_insensitive_to_cache_mode ... ok
[INFO] [stdout] test tokens::tests::registry_falls_through_to_fallback_on_non_matching_model ... ok
[INFO] [stdout] test tools::error_policy::tests::success_is_uninstrumented ... ok
[INFO] [stdout] test tools::registry::tests::canonical_fingerprint_is_order_invariant ... ok
[INFO] [stdout] test tools::registry::tests::filter_view_narrows_by_name_set ... ok
[INFO] [stdout] test tools::registry::tests::layer_names_track_compose_order_and_namedlayer_identity ... ok
[INFO] [stdout] test tools::registry::tests::dispatch_unknown_tool_returns_invalid_request ... ok
[INFO] [stdout] test tools::error_policy::tests::control_signals_short_circuit_classification ... ok
[INFO] [stdout] test tools::registry::tests::registry_iterators_and_accessors ... ok
[INFO] [stdout] test tools::registry::tests::duplicate_registration_is_a_config_error ... ok
[INFO] [stdout] test tools::registry::tests::restricted_to_rejects_unknown_names_with_diagnostic ... ok
[INFO] [stdout] test tools::registry::tests::tool_specs_share_arc_across_clones_no_deep_clone ... ok
[INFO] [stdout] test tools::registry::tests::tool_specs_with_suffix_mode_marks_only_the_last_spec ... ok
[INFO] [stdout] test tools::registry::tests::restricted_to_succeeds_for_known_names ... ok
[INFO] [stdout] test tools::registry::tests::tool_specs_default_mode_emits_lexically_sorted_specs_with_no_cache ... ok
[INFO] [stdout] test tools::error_kind::tests::provider_network_classifies_as_transient ... ok
[INFO] [stdout] test tools::error_kind::tests::provider_dns_classifies_as_transient ... ok
[INFO] [stdout] test tools::metadata::tests::builder_chain_is_const_friendly ... ok
[INFO] [stdout] test tools::metadata::tests::function_defaults_are_conservative ... ok
[INFO] [stdout] test tools::error_policy::tests::already_terminal_passes_through_unchanged ... ok
[INFO] [stdout] test tools::metadata::tests::with_retry_hint_implies_idempotent ... ok
[INFO] [stdout] test tools::toolset::tests::toolset_rejects_ambiguous_ids_and_tool_names ... ok
[INFO] [stdout] test tools::progress::tests::current_tool_invocation_accepts_valid_identity ... ok
[INFO] [stdout] test tools::toolset::tests::toolset_rejects_empty_tool_descriptions ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_does_not_retry_permanent_status_codes ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_does_not_retry_usage_limit_exceeded ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_propagates_vendor_retry_after_hint ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_retries_transport_class_failures ... ok
[INFO] [stdout] test transports::retry::tests::ensure_idempotency_key_stamps_once_and_subsequent_calls_observe_the_same_value ... ok
[INFO] [stdout] test transports::retry::tests::retry_policy_overrides_compose ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_retries_transient_http_status_codes ... ok
[INFO] [stdout] test transports::retry::tests::retry_policy_standard_uses_default_max_attempts ... ok
[INFO] [stdout] test tools::toolset::tests::toolset_rejects_empty_id ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_does_not_retry_caller_intent_or_programming_errors ... ok
[INFO] [stdout] test tools::registry::tests::tool_specs_with_per_spec_mode_marks_every_spec ... ok
[INFO] [stdout] test tools::scope::tests::scope_wrap_fires_on_dispatch ... ok
[INFO] [stdout] test tools::scope::tests::scope_wrap_fires_per_dispatch ... ok
[INFO] [stdout] test tools::toolset::tests::toolset_rejects_duplicate_tool_names ... ok
[INFO] [stdout] test tools::toolset::tests::restricted_to_is_strict_and_stable ... ok
[INFO] [stdout] test tools::registry::tests::layer_order_is_last_registered_outermost ... ok
[INFO] [stdout] test tools::toolset::tests::install_into_preserves_registry_dispatch ... ok
[INFO] [stdout] test tools::registry::tests::dispatch_round_trips_through_inner_service ... ok
[INFO] [stdout] test tools::scope::tests::scope_wrap_inherited_by_narrowed_view ... ok
[INFO] [stdout] test tools::toolset::tests::toolset_accepts_free_form_tool_descriptions ... ok
[INFO] [stdout] test transports::retry::tests::default_classifier_does_not_attach_retry_after_when_vendor_does_not_supply_one ... ok
[INFO] [stderr]      Running tests/anthropic_codec.rs (/opt/rustwide/target/release/build/entelix-core/bae0f23cbe91844a/out/anthropic_codec-bae0f23cbe91844a)
[INFO] [stdout] test auth::tests::cached_provider_refreshes_after_ttl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 214 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test capabilities_are_full_featured ... ok
[INFO] [stdout] test anthropic_end_user_id_threads_into_metadata ... ok
[INFO] [stdout] test anthropic_ext_betas_empty_emits_no_header ... ok
[INFO] [stdout] test decode_cache_token_fields ... ok
[INFO] [stdout] test anthropic_seed_emits_lossy_encode ... ok
[INFO] [stdout] test anthropic_ext_betas_streaming_path_carries_header ... ok
[INFO] [stdout] test decode_keeps_document_citation_when_index_is_present ... ok
[INFO] [stdout] test decode_tool_use_response ... ok
[INFO] [stdout] test decode_stop_sequence_carries_matched_string ... ok
[INFO] [stdout] test anthropic_codec_warns_on_foreign_vendor_extension ... ok
[INFO] [stdout] test anthropic_ext_betas_emit_comma_joined_header ... ok
[INFO] [stdout] test codec_name_is_stable ... ok
[INFO] [stdout] test decode_drops_document_citation_when_index_is_missing ... ok
[INFO] [stdout] test decode_carries_encode_warnings_forward ... ok
[INFO] [stdout] test encode_minimal_request_emits_required_fields ... ok
[INFO] [stdout] test encode_image_url_and_base64_variants ... ok
[INFO] [stdout] test decode_text_response_with_end_turn ... ok
[INFO] [stdout] test decode_unknown_stop_reason_emits_warning_and_other_variant ... ok
[INFO] [stdout] test decode_unknown_content_block_emits_warning ... ok
[INFO] [stdout] test encode_rejects_missing_max_tokens ... ok
[INFO] [stdout] test structured_output_strips_envelope_keys_from_response_format ... ok
[INFO] [stdout] test parallel_tool_calls_without_tools_emits_lossy_encode_on_anthropic ... ok
[INFO] [stdout] test encode_empty_messages_returns_invalid_request ... ok
[INFO] [stdout] test anthropic_thinking_emits_top_level_thinking_object_for_explicit_budget_models ... ok
[INFO] [stdout] test parallel_tool_calls_true_emits_disable_false_on_anthropic ... ok
[INFO] [stdout] test encode_system_role_message_flattens_into_top_level ... ok
[INFO] [stdout] test encode_tool_choice_specific_includes_name ... ok
[INFO] [stdout] test encode_temperature_top_p_stop_sequences_pass_through ... ok
[INFO] [stdout] test encode_tool_result_json_payload_emits_warning_and_stringifies ... ok
[INFO] [stdout] test encode_tools_emits_per_spec_cache_control_marker ... ok
[INFO] [stdout] test encode_top_level_system_passes_through ... ok
[INFO] [stdout] test parallel_tool_calls_inverts_into_anthropic_tool_choice ... ok
[INFO] [stdout] test encode_tool_role_becomes_user_with_tool_result ... ok
[INFO] [stdout] test encode_tools_preserves_nullable_array_type_natively ... ok
[INFO] [stdout] test encode_tools_preserves_one_of_const_disjunction_natively ... ok
[INFO] [stdout] test top_k_passes_through_natively_on_anthropic ... ok
[INFO] [stderr]      Running tests/anthropic_streaming.rs (/opt/rustwide/target/release/build/entelix-core/9ff503bf75394f23/out/anthropic_streaming-9ff503bf75394f23)
[INFO] [stdout] test encode_tools_with_choice_required ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test decode_stream_emits_encode_warnings_first ... ok
[INFO] [stdout] test decode_stream_tool_use_round_trips ... ok
[INFO] [stdout] test decode_stream_emits_warning_when_content_block_start_index_is_missing ... ok
[INFO] [stdout] test decode_stream_full_text_run_round_trips ... ok
[INFO] [stderr]      Running tests/auth_basics.rs (/opt/rustwide/target/release/build/entelix-core/67151032704ab27f/out/auth_basics-67151032704ab27f)
[INFO] [stdout] test decode_stream_split_across_chunks ... ok
[INFO] [stdout] test decode_stream_surfaces_error_event_as_provider_error ... ok
[INFO] [stdout] test encode_streaming_marks_request_and_sets_accept_header ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test bearer_provider_prepends_bearer_prefix ... ok
[INFO] [stdout] test anthropic_provider_emits_x_api_key ... ok
[INFO] [stdout] test invalid_header_name_returns_config_error ... ok
[INFO] [stdout] test custom_header_name_accepted ... ok
[INFO] [stderr]      Running tests/backoff.rs (/opt/rustwide/target/release/build/entelix-core/2b9fb90085d02e15/out/backoff-2b9fb90085d02e15)
[INFO] [stdout] test provider_object_safe_via_arc_dyn ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test jitter_stays_within_unjittered_plus_ratio ... ok
[INFO] [stdout] test default_is_sensible ... ok
[INFO] [stdout] test no_jitter_doubles_per_attempt_until_max ... ok
[INFO] [stdout] test ratio_clamped_to_zero_one ... ok
[INFO] [stdout] test jitter_is_deterministic_with_seeded_rng ... ok
[INFO] [stdout] test delay_zero_after_max_attempts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bedrock_converse_codec.rs (/opt/rustwide/target/release/build/entelix-core/e021fbf036bdee9f/out/bedrock_converse_codec-e021fbf036bdee9f)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test bedrock_anthropic_threads_end_user_id_through_metadata ... ok
[INFO] [stdout] test bedrock_extract_rate_limit_returns_none_when_no_signals_present ... ok
[INFO] [stdout] test bedrock_threads_anthropic_thinking_through_additional_model_request_fields ... ok
[INFO] [stdout] test bedrock_codec_warns_on_foreign_vendor_extension ... ok
[INFO] [stdout] test decode_unknown_stop_reason_emits_warning ... ok
[INFO] [stdout] test bedrock_emits_field_precise_lossy_for_unsupported_ir_fields ... ok
[INFO] [stdout] test bedrock_non_anthropic_emits_lossy_for_end_user_id ... ok
[INFO] [stdout] test decode_text_response ... ok
[INFO] [stdout] test decode_tool_use_response ... ok
[INFO] [stdout] test bedrock_extract_rate_limit_captures_amzn_bedrock_headers_and_retry_after ... ok
[INFO] [stdout] test bedrock_ext_guardrail_threads_into_guardrail_config ... ok
[INFO] [stdout] test bedrock_ext_performance_tier_threads_into_performance_config ... ok
[INFO] [stdout] test encode_streaming_uses_converse_stream_path ... ok
[INFO] [stdout] test decode_documented_other_stop_reasons_round_trip_typed ... ok
[INFO] [stdout] test encode_assistant_tool_use_emits_tool_use_block ... ok
[INFO] [stdout] test encode_minimal_request_targets_converse_path ... ok
[INFO] [stdout] test encode_system_routes_into_top_level_system_array ... ok
[INFO] [stdout] test encode_tool_result_wraps_into_user_message_with_tool_result_block ... ok
[INFO] [stdout] test encode_tools_emits_toolspec_array ... ok
[INFO] [stdout] test encode_tools_preserves_nullable_array_type_natively ... ok
[INFO] [stdout] test structured_output_strips_envelope_keys_from_response_format ... ok
[INFO] [stdout] test encode_tools_preserves_one_of_const_disjunction_natively ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cache_and_response_format.rs (/opt/rustwide/target/release/build/entelix-core/ea9c1ef6d707ffa0/out/cache_and_response_format-ea9c1ef6d707ffa0)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test response_format_strict_constructor_sets_strict_flag ... ok
[INFO] [stdout] test openai_chat_native_response_format_emits_json_schema ... ok
[INFO] [stdout] test openai_chat_emits_lossy_encode_warning_for_cached_system ... ok
[INFO] [stdout] test openai_responses_native_response_format_emits_text_format ... ok
[INFO] [stdout] test anthropic_non_strict_response_format_warns_about_implicit_strict ... ok
[INFO] [stdout] test anthropic_native_cache_control_emits_array_form ... ok
[INFO] [stdout] test anthropic_uncached_system_uses_simple_string_form ... ok
[INFO] [stdout] test gemini_emits_lossy_encode_warning_for_cached_system ... ok
[INFO] [stdout] test bedrock_native_response_format_routes_through_additional_model_request_fields ... ok
[INFO] [stdout] test json_schema_spec_rejects_invalid_input_at_construction ... ok
[INFO] [stdout] test anthropic_native_response_format_emits_output_config ... ok
[INFO] [stdout] test openai_responses_emits_lossy_encode_warning_for_cached_system ... ok
[INFO] [stderr]      Running tests/cache_control_expansion.rs (/opt/rustwide/target/release/build/entelix-core/51c3434d9a1a6b05/out/cache_control_expansion-51c3434d9a1a6b05)
[INFO] [stdout] test gemini_native_response_format_emits_response_json_schema ... ok
[INFO] [stdout] test bedrock_converse_emits_native_cache_point_marker ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test bedrock_tool_result_cache_control_emits_cache_point ... ok
[INFO] [stdout] test openai_responses_cache_key_emits_prompt_cache_key ... ok
[INFO] [stdout] test cache_control_helper_is_noop_on_tool_use ... ok
[INFO] [stdout] test bedrock_user_message_cache_control_emits_cache_point ... ok
[INFO] [stdout] test anthropic_per_block_cache_control_emits_directive_on_wire ... ok
[INFO] [stdout] test cache_control_helpers_round_trip_on_content_parts ... ok
[INFO] [stdout] test gemini_ext_on_openai_request_emits_provider_extension_ignored ... ok
[INFO] [stdout] test bedrock_assistant_thinking_cache_control_emits_cache_point ... ok
[INFO] [stdout] test anthropic_five_minute_cache_omits_ttl_field ... ok
[INFO] [stdout] test anthropic_tool_spec_cache_control_attaches_to_tool_declaration ... ok
[INFO] [stdout] test openai_chat_cache_key_emits_prompt_cache_key ... ok
[INFO] [stdout] test openai_chat_ext_on_anthropic_request_emits_provider_extension_ignored ... ok
[INFO] [stdout] test bedrock_one_hour_ttl_emits_lossy_encode_warning ... ok
[INFO] [stdout] test bedrock_tool_spec_cache_control_emits_cache_point_after_tool ... ok
[INFO] [stdout] test gemini_cached_content_emits_native_field ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/chat_model.rs (/opt/rustwide/target/release/build/entelix-core/0f01a240cfbcd3ff/out/chat_model-0f01a240cfbcd3ff)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test chat_model_clone_shares_inner_handles ... ok
[INFO] [stdout] test complete_round_trips_via_codec_and_transport ... ok
[INFO] [stdout] test layer_fires_pre_and_post_around_complete_full ... ok
[INFO] [stdout] test layer_names_track_compose_order_and_namedlayer_identity ... ok
[INFO] [stdout] test complete_returns_provider_error_on_4xx ... ok
[INFO] [stdout] test layers_compose_in_outer_first_order ... ok
[INFO] [stdout] test layer_mutation_of_request_reaches_codec ... ok
[INFO] [stdout] test layer_can_mutate_decoded_response ... ok
[INFO] [stdout] test complete_propagates_builder_defaults_into_request ... ok
[INFO] [stdout] test pre_layer_error_aborts_before_codec_encode ... ok
[INFO] [stdout] test run_overrides_absent_keeps_configured_defaults ... ok
[INFO] [stdout] test no_layer_attached_is_a_noop_call_path ... ok
[INFO] [stdout] test run_overrides_patch_model_and_system_prompt ... ok
[INFO] [stdout] test request_overrides_partial_override_keeps_unset_fields ... ok
[INFO] [stdout] test request_overrides_patch_sampling_and_response_format ... ok
[INFO] [stdout] test request_overrides_stop_sequences_empty_clears_configured ... ok
[INFO] [stdout] test request_and_run_overrides_compose_independently ... ok
[INFO] [stdout] test provider_shortcuts_compose_codec_transport_and_auth_in_one_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/codec_consistency_matrix.rs (/opt/rustwide/target/release/build/entelix-core/fa642b934156d21c/out/codec_consistency_matrix-fa642b934156d21c)
[INFO] [stdout] running 10 tests
[INFO] [stdout] test five_codecs_consistently_emit_other_on_missing_finish_reason ... ok
[INFO] [stdout] test anthropic_text_streaming_matches_oneshot ... ok
[INFO] [stdout] test anthropic_thinking_streaming_matches_oneshot ... ok
[INFO] [stdout] test anthropic_tool_use_streaming_matches_oneshot ... ok
[INFO] [stdout] test openai_responses_text_streaming_matches_oneshot ... ok
[INFO] [stdout] test gemini_function_call_streaming_matches_oneshot ... ok
[INFO] [stdout] test gemini_text_streaming_matches_oneshot ... ok
[INFO] [stdout] test openai_chat_text_streaming_matches_oneshot ... ok
[INFO] [stdout] test five_codecs_consistently_warn_on_unknown_finish_reason ... ok
[INFO] [stdout] test five_codecs_preserve_stop_sequence_or_warn_loudly ... ok
[INFO] [stderr]      Running tests/codec_robustness_proptest.rs (/opt/rustwide/target/release/build/entelix-core/a794473cecec5f70/out/codec_robustness_proptest-a794473cecec5f70)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test anthropic_decode_never_panics ... ok
[INFO] [stdout] test openai_responses_decode_never_panics ... ok
[INFO] [stdout] test bedrock_decode_never_panics ... ok
[INFO] [stdout] test openai_chat_decode_never_panics ... ok
[INFO] [stdout] test shaped_json_decode_safety ... ok
[INFO] [stdout] test gemini_decode_never_panics ... ok
[INFO] [stdout] test bedrock_encode_is_total ... ok
[INFO] [stdout] test openai_chat_encode_is_total ... ok
[INFO] [stdout] test anthropic_encode_is_total ... ok
[INFO] [stdout] test gemini_encode_is_total ... ok
[INFO] [stdout] test openai_responses_encode_is_total ... ok
[INFO] [stderr]      Running tests/codec_streaming_fallback.rs (/opt/rustwide/target/release/build/entelix-core/2973be99cb961860/out/codec_streaming_fallback-2973be99cb961860)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test fallback_decode_stream_emits_full_delta_sequence ... ok
[INFO] [stderr]      Running tests/codec_transport_basics.rs (/opt/rustwide/target/release/build/entelix-core/c203223415991d76/out/codec_transport_basics-c203223415991d76)
[INFO] [stdout] test fallback_streaming_round_trips_through_aggregator ... ok
[INFO] [stdout] test fallback_stream_propagates_byte_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test codec_emits_lossy_warning_for_dropped_field ... ok
[INFO] [stdout] test codec_encode_decode_roundtrips_via_loopback ... ok
[INFO] [stdout] test codec_and_transport_object_safe_via_arc_dyn ... ok
[INFO] [stdout] test codec_capabilities_lookup_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/complete_typed_retry.rs (/opt/rustwide/target/release/build/entelix-core/e0ce958925ac3415/out/complete_typed_retry-e0ce958925ac3415)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test validator_accepts_first_response_with_zero_retries ... ok
[INFO] [stdout] test validator_rejection_triggers_retry_within_budget ... ok
[INFO] [stdout] test schema_mismatch_with_zero_retries_surfaces_model_retry ... ok
[INFO] [stdout] test validator_non_model_retry_error_bubbles_unchanged ... ok
[INFO] [stdout] test schema_mismatch_with_retries_recovers_when_second_attempt_valid ... ok
[INFO] [stdout] test mixed_schema_and_validator_failures_share_one_budget ... ok
[INFO] [stdout] test schema_mismatch_retries_exhausted_surfaces_model_retry ... ok
[INFO] [stdout] test validator_persistent_rejection_exhausts_budget_and_surfaces_model_retry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/direct_transport.rs (/opt/rustwide/target/release/build/entelix-core/fb4deca296d22508/out/direct_transport-fb4deca296d22508)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test anthropic_helper_uses_correct_base_url ... ok
[INFO] [stdout] test cancelled_token_short_circuits_send ... ok
[INFO] [stdout] test happy_path_propagates_headers_and_body ... ok
[INFO] [stdout] test non_2xx_status_is_returned_to_caller_for_codec_handling ... ok
[INFO] [stderr]      Running tests/direct_transport_streaming.rs (/opt/rustwide/target/release/build/entelix-core/e9eb70bf53269610/out/direct_transport_streaming-e9eb70bf53269610)
[INFO] [stdout] test deadline_exceeded_when_provider_is_slow ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test send_streaming_through_anthropic_codec_round_trips ... ok
[INFO] [stdout] test send_streaming_non_2xx_returns_buffered_error_body ... ok
[INFO] [stdout] test send_streaming_returns_byte_stream_with_full_body ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/error_wire_code.rs (/opt/rustwide/target/release/build/entelix-core/449fb8ac9205fb99/out/error_wire_code-449fb8ac9205fb99)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test deadline_exceeded_maps_to_server ... ok
[INFO] [stdout] test envelope_is_copy_value_semantics ... ok
[INFO] [stdout] test error_class_display_is_lowercase_stable ... ok
[INFO] [stdout] test model_retry_maps_to_client ... ok
[INFO] [stdout] test provider_http_429_is_rate_limited_client ... ok
[INFO] [stdout] test invalid_request_maps_to_client ... ok
[INFO] [stdout] test provider_transport_class_maps_to_server ... ok
[INFO] [stdout] test retry_after_does_not_alter_wire_shape ... ok
[INFO] [stdout] test retry_after_on_non_provider_variant_is_no_op ... ok
[INFO] [stdout] test interrupted_maps_to_client ... ok
[INFO] [stdout] test envelope_serialises_to_json_with_lowercase_class_and_omitted_nones ... ok
[INFO] [stdout] test provider_http_401_and_403_collapse_to_upstream_unauthorized ... ok
[INFO] [stdout] test cancelled_maps_to_client ... ok
[INFO] [stdout] test provider_status_is_none_for_transport_class_failures ... ok
[INFO] [stdout] test provider_http_4xx_default_is_upstream_invalid_client ... ok
[INFO] [stdout] test config_maps_to_server ... ok
[INFO] [stdout] test provider_http_5xx_is_upstream_unavailable_server ... ok
[INFO] [stdout] test retry_after_truncates_sub_second_to_whole_seconds ... ok
[INFO] [stdout] test auth_maps_to_client ... ok
[INFO] [stdout] test serde_maps_to_server ... ok
[INFO] [stdout] test provider_http_non_terminal_status_coerces_to_network ... ok
[INFO] [stdout] test usage_limit_exceeded_maps_to_client ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/events.rs (/opt/rustwide/target/release/build/entelix-core/dbe16af1659e6d1e/out/events-dbe16af1659e6d1e)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test event_serde_roundtrip ... ok
[INFO] [stdout] test subscribers_only_see_events_after_subscribe ... ok
[INFO] [stdout] test cloned_bus_shares_channel ... ok
[INFO] [stdout] test subscribers_receive_published_events ... ok
[INFO] [stderr]      Running tests/gemini_codec.rs (/opt/rustwide/target/release/build/entelix-core/bb25c8000c5ee183/out/gemini_codec-bb25c8000c5ee183)
[INFO] [stdout] test warning_event_carries_lossy_encode ... ok
[INFO] [stdout] test publish_with_no_subscribers_returns_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test encode_tool_result_emits_function_response_with_real_name ... ok
[INFO] [stdout] test encode_tool_use_emits_function_call_with_reconstructible_id ... ok
[INFO] [stdout] test gemini_end_user_id_emits_lossy_encode ... ok
[INFO] [stdout] test encode_system_routes_into_system_instruction ... ok
[INFO] [stdout] test decode_text_response ... ok
[INFO] [stdout] test decode_thinking_usage_sums_into_output_tokens ... ok
[INFO] [stdout] test encode_minimal_request_emits_contents_array ... ok
[INFO] [stdout] test encode_streaming_path_uses_stream_endpoint ... ok
[INFO] [stdout] test gemini_ext_candidate_count_creates_generation_config_when_missing ... ok
[INFO] [stdout] test encode_tools_emits_function_declarations ... ok
[INFO] [stdout] test gemini_codec_warns_on_foreign_vendor_extension ... ok
[INFO] [stdout] test decode_stream_text_round_trips ... ok
[INFO] [stdout] test encode_assistant_uses_model_role ... ok
[INFO] [stdout] test code_execution_toolkind_emits_native_gemini_entry ... ok
[INFO] [stdout] test input_schema_collapses_one_of_const_integers_to_enum ... ok
[INFO] [stdout] test input_schema_collapses_schemars_documented_enum_with_sibling_type ... ok
[INFO] [stdout] test gemini_ext_candidate_count_threads_into_generation_config ... ok
[INFO] [stdout] test gemini_seed_threads_into_generation_config ... ok
[INFO] [stdout] test gemini_ext_safety_settings_thread_into_top_level ... ok
[INFO] [stdout] test input_schema_collapses_one_of_const_strings_to_enum ... ok
[INFO] [stdout] test input_schema_collapse_omits_description_block_when_alternatives_carry_none ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_const_types_differ ... ok
[INFO] [stdout] test decode_stream_function_call_round_trips ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_alternative_type_disagrees_with_const ... ok
[INFO] [stdout] test input_schema_collapses_one_of_const_booleans_to_enum ... ok
[INFO] [stdout] test decode_function_call_reconstructs_tool_use_id_from_name_and_index ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_enum_already_present ... ok
[INFO] [stdout] test input_schema_collapses_documented_enum_and_folds_descriptions ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_const_is_object ... ok
[INFO] [stdout] test input_schema_combined_rules_handle_option_of_enum ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_alternative_carries_unknown_key ... ok
[INFO] [stdout] test input_schema_collapses_any_of_const_alternatives ... ok
[INFO] [stdout] test input_schema_collapse_appends_to_existing_parent_description ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_parent_has_structural_keys ... ok
[INFO] [stdout] test input_schema_declines_collapse_when_parent_has_sibling_const_literal ... ok
[INFO] [stdout] test input_schema_empty_type_array_warns_and_passes_through ... ok
[INFO] [stdout] test input_schema_collapses_one_of_const_mixed_numbers_to_number_type ... ok
[INFO] [stdout] test input_schema_infers_type_when_const_lacks_sibling_type ... ok
[INFO] [stdout] test input_schema_passes_boolean_additional_properties_through ... ok
[INFO] [stdout] test input_schema_passes_scalar_type_unchanged ... ok
[INFO] [stdout] test input_schema_translation_is_idempotent ... ok
[INFO] [stdout] test input_schema_unions_null_first_order_agnostic ... ok
[INFO] [stdout] test output_strategy_tool_strips_and_translates_synthetic_decl ... ok
[INFO] [stdout] test input_schema_multi_type_union_with_null_coerces_to_nullable_first ... ok
[INFO] [stdout] test input_schema_warns_on_const_with_inconsistent_sibling_type ... ok
[INFO] [stdout] test input_schema_multi_type_union_without_null_coerces_to_first ... ok
[INFO] [stdout] test input_schema_passes_through_const_when_enum_already_present ... ok
[INFO] [stdout] test input_schema_unions_string_null_to_nullable ... ok
[INFO] [stdout] test input_schema_translates_standalone_integer_const_to_enum ... ok
[INFO] [stdout] test input_schema_preserves_const_sibling_keys_through_translation ... ok
[INFO] [stdout] test input_schema_recurses_into_additional_properties_object ... ok
[INFO] [stdout] test input_schema_recurses_into_items ... ok
[INFO] [stdout] test parallel_tool_calls_emits_lossy_encode_on_gemini ... ok
[INFO] [stdout] test input_schema_recurses_into_nested_properties ... ok
[INFO] [stdout] test input_schema_null_only_type_warns_and_passes_through ... ok
[INFO] [stdout] test input_schema_walks_one_of_with_non_const_alternative_without_warning ... ok
[INFO] [stdout] test top_k_passes_through_natively_on_gemini ... ok
[INFO] [stdout] test url_context_ext_appends_native_tool_entry ... ok
[INFO] [stdout] test input_schema_translates_standalone_string_const_to_enum ... ok
[INFO] [stdout] test input_schema_translates_const_inside_internally_tagged_enum_variant ... ok
[INFO] [stdout] test input_schema_non_string_non_array_type_warns_and_passes_through ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ir_roundtrip.rs (/opt/rustwide/target/release/build/entelix-core/6ccbc6c342a25012/out/ir_roundtrip-6ccbc6c342a25012)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test capabilities_default_is_conservative ... ok
[INFO] [stdout] test content_part_roundtrip_all_variants ... ok
[INFO] [stdout] test message_roundtrip ... ok
[INFO] [stdout] test model_response_full_roundtrip ... ok
[INFO] [stdout] test model_warning_lossy_encode ... ok
[INFO] [stdout] test stop_reason_variants_roundtrip ... ok
[INFO] [stdout] test tool_choice_default_is_auto ... ok
[INFO] [stdout] test tool_spec_roundtrip ... ok
[INFO] [stdout] test model_response_accessors_no_text_blocks_return_none ... ok
[INFO] [stdout] test model_response_first_text_skips_non_text_blocks ... ok
[INFO] [stdout] test role_serde_uses_snake_case ... ok
[INFO] [stderr]      Running tests/live_anthropic.rs (/opt/rustwide/target/release/build/entelix-core/eea3d0696281a2b6/out/live_anthropic-eea3d0696281a2b6)
[INFO] [stdout] test model_request_default_roundtrips ... ok
[INFO] [stdout] test message_tool_result_constructors_emit_tool_role_with_correct_id_and_name ... ok
[INFO] [stdout] test usage_aggregates_correctly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test anthropic_minimal_chat_round_trip ... ignored, live-API: requires ANTHROPIC_API_KEY
[INFO] [stderr]      Running tests/live_gemini.rs (/opt/rustwide/target/release/build/entelix-core/29a3e0592eceec85/out/live_gemini-29a3e0592eceec85)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/live_openai_chat.rs (/opt/rustwide/target/release/build/entelix-core/72b1df0220bca428/out/live_openai_chat-72b1df0220bca428)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test gemini_minimal_round_trip ... ignored, live-API: requires GEMINI_API_KEY
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/live_openai_responses.rs (/opt/rustwide/target/release/build/entelix-core/784dee5d0043e79f/out/live_openai_responses-784dee5d0043e79f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test openai_chat_minimal_round_trip ... ignored, live-API: requires OPENAI_API_KEY
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test openai_responses_minimal_round_trip ... ignored, live-API: requires OPENAI_API_KEY
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lossy_warning_completeness.rs (/opt/rustwide/target/release/build/entelix-core/237c20ed9ca2f2db/out/lossy_warning_completeness-237c20ed9ca2f2db)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/multi_turn_continue.rs (/opt/rustwide/target/release/build/entelix-core/3e8016c5e2d3ab14/out/multi_turn_continue-3e8016c5e2d3ab14)
[INFO] [stdout] test matrix_every_ir_feature_either_native_or_lossy_encoded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test carries_multiple_provider_echoes_unchanged ... ok
[INFO] [stdout] test carries_non_text_assistant_content_into_next_turn ... ok
[INFO] [stdout] test replaces_existing_continued_from ... ok
[INFO] [stdout] test preserves_model_system_tools_and_sampling_knobs ... ok
[INFO] [stdout] test empty_echoes_yields_empty_continued_from ... ok
[INFO] [stderr]      Running tests/openai_chat_codec.rs (/opt/rustwide/target/release/build/entelix-core/3bcd35c1d402d5a2/out/openai_chat_codec-3bcd35c1d402d5a2)
[INFO] [stdout] test appends_assistant_then_user_in_order ... ok
[INFO] [stdout] test chains_provider_echoes_from_response_to_request ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test encode_streaming_marks_request_and_includes_stream_options ... ok
[INFO] [stdout] test encode_system_field_becomes_first_system_message ... ok
[INFO] [stdout] test encode_minimal_request_emits_chat_completions_shape ... ok
[INFO] [stdout] test decode_stream_text_round_trips_through_aggregator ... ok
[INFO] [stdout] test encode_tools_preserves_nullable_array_type_natively ... ok
[INFO] [stdout] test decode_stream_tool_call_round_trips ... ok
[INFO] [stdout] test parallel_tool_calls_true_passes_through_natively_on_openai_chat ... ok
[INFO] [stdout] test encode_tools_preserves_one_of_const_disjunction_natively ... ok
[INFO] [stdout] test parallel_tool_calls_passes_through_natively_on_openai_chat ... ok
[INFO] [stdout] test reasoning_effort_emits_lossy_encode_on_non_reasoning_models ... ok
[INFO] [stdout] test decode_assistant_text_response ... ok
[INFO] [stdout] test encode_user_image_yields_array_content_with_image_url ... ok
[INFO] [stdout] test encode_assistant_tool_use_emits_tool_calls_array ... ok
[INFO] [stdout] test decode_assistant_tool_call_response ... ok
[INFO] [stdout] test encode_tools_and_tool_choice ... ok
[INFO] [stdout] test openai_chat_seed_and_end_user_id_thread_into_body ... ok
[INFO] [stdout] test encode_tool_result_emits_tool_role_message ... ok
[INFO] [stdout] test top_k_emits_lossy_encode_on_openai_chat ... ok
[INFO] [stdout] test openai_chat_codec_warns_on_foreign_vendor_extension ... ok
[INFO] [stdout] test decode_stream_emits_warnings_in_first ... ok
[INFO] [stdout] test service_tier_threads_into_body ... ok
[INFO] [stdout] test reasoning_effort_threads_into_body_on_o_series_models ... ok
[INFO] [stderr]      Running tests/openai_responses_chain_dedup.rs (/opt/rustwide/target/release/build/entelix-core/b9200df6c02fe127/out/openai_responses_chain_dedup-b9200df6c02fe127)
[INFO] [stdout] test structured_output_strips_envelope_keys_from_response_format ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test chain_mode_skips_prior_assistant_and_pre_assistant_messages ... ok
[INFO] [stdout] test chain_mode_with_no_assistant_in_transcript_encodes_everything ... ok
[INFO] [stdout] test non_chain_mode_carries_full_transcript ... ok
[INFO] [stdout] test chain_mode_with_tool_result_after_assistant_keeps_tool_message ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/openai_responses_codec.rs (/opt/rustwide/target/release/build/entelix-core/be4d3bd10a56fbe5/out/openai_responses_codec-be4d3bd10a56fbe5)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test decode_tool_use_response ... ok
[INFO] [stdout] test encode_tools_preserves_nullable_array_type_natively ... ok
[INFO] [stdout] test openai_responses_seed_and_end_user_id_thread_into_body ... ok
[INFO] [stdout] test decode_text_response ... ok
[INFO] [stdout] test decode_stream_text_round_trips ... ok
[INFO] [stdout] test decode_stream_tool_call_round_trips ... ok
[INFO] [stdout] test encode_assistant_tool_use_emits_separate_function_call_item ... ok
[INFO] [stdout] test encode_tools_emits_top_level_function_array ... ok
[INFO] [stdout] test encode_tools_preserves_one_of_const_disjunction_natively ... ok
[INFO] [stdout] test openai_responses_ext_reasoning_summary_optional ... ok
[INFO] [stdout] test top_k_emits_lossy_encode_on_openai_responses ... ok
[INFO] [stdout] test parallel_tool_calls_passes_through_natively_on_openai_responses ... ok
[INFO] [stdout] test encode_system_routes_into_instructions ... ok
[INFO] [stdout] test structured_output_strips_envelope_keys_from_response_format ... ok
[INFO] [stdout] test encode_tool_result_emits_function_call_output_item ... ok
[INFO] [stdout] test openai_responses_codec_warns_on_foreign_vendor_extension ... ok
[INFO] [stdout] test openai_responses_ext_reasoning_effort_emits_top_level_reasoning_object ... ok
[INFO] [stdout] test service_tier_threads_into_body ... ok
[INFO] [stdout] test encode_minimal_request_emits_responses_shape ... ok
[INFO] [stderr]      Running tests/provider_echo_round_trip.rs (/opt/rustwide/target/release/build/entelix-core/bfedafb74706f420/out/provider_echo_round_trip-bfedafb74706f420)
[INFO] [stdout] test encode_streaming_marks_request ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test cache_control_and_provider_echoes_coexist_on_same_part ... ok
[INFO] [stdout] test content_part_clone_preserves_provider_echoes_verbatim ... ok
[INFO] [stdout] test gemini_thought_signature_round_trips_on_thinking_part ... ok
[INFO] [stdout] test cross_vendor_anthropic_and_gemini_isolation_on_anthropic_wire ... ok
[INFO] [stdout] test openai_responses_previous_response_id_request_chain ... ok
[INFO] [stdout] test openai_chat_silently_drops_foreign_provider_echoes_on_encode ... ok
[INFO] [stdout] test openai_responses_function_call_item_id_round_trips ... ok
[INFO] [stdout] test vertex_anthropic_signature_inherits_anthropic_provider_key ... ok
[INFO] [stdout] test stream_aggregator_propagates_start_provider_echoes_to_response ... ok
[INFO] [stderr]      Running tests/rate_limit.rs (/opt/rustwide/target/release/build/entelix-core/05394d68e54089c6/out/rate_limit-05394d68e54089c6)
[INFO] [stdout] test anthropic_empty_signature_is_skipped_on_decode ... ok
[INFO] [stdout] test anthropic_signature_round_trip_preserves_value_verbatim ... ok
[INFO] [stdout] test cross_vendor_ir_preserves_foreign_blobs_through_decode ... ok
[INFO] [stdout] test bedrock_converse_redacted_content_routes_to_redacted_thinking_variant ... ok
[INFO] [stdout] test bedrock_converse_signature_round_trip ... ok
[INFO] [stdout] test anthropic_redacted_thinking_round_trips_data_field ... ok
[INFO] [stdout] test gemini_decoder_tolerates_legacy_camelcase_thoughtsignature_on_wire ... ok
[INFO] [stdout] test structured_output_request_with_thinking_history_preserves_signature ... ok
[INFO] [stdout] test gemini_thought_signature_round_trips_on_function_call_part ... ok
[INFO] [stdout] test vertex_gemini_inherits_gemini_provider_key_through_composition ... ok
[INFO] [stdout] test openai_responses_encrypted_content_round_trips_on_reasoning_item ... ok
[INFO] [stdout] test cross_vendor_anthropic_and_gemini_isolation_on_gemini_wire ... ok
[INFO] [stdout] test openai_responses_streaming_captures_response_id_for_chain_continuation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test approaching_limit_heuristic_fires_under_floor ... ok
[INFO] [stdout] test anthropic_extracts_remaining_and_reset ... ok
[INFO] [stdout] test approaching_limit_returns_false_when_no_counters ... ok
[INFO] [stdout] test bedrock_returns_none_for_default_impl ... ok
[INFO] [stdout] test openai_chat_extracts_remaining ... ok
[INFO] [stdout] test openai_responses_uses_same_extractor_as_chat ... ok
[INFO] [stdout] test unparseable_count_is_dropped_silently ... ok
[INFO] [stdout] test gemini_returns_none_when_no_rate_limit_header ... ok
[INFO] [stdout] test empty_headers_yield_none_for_anthropic ... ok
[INFO] [stderr]      Running tests/retry_layer.rs (/opt/rustwide/target/release/build/entelix-core/176aa1d55d4ea787/out/retry_layer-176aa1d55d4ea787)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test deadline_already_past_at_call_time_short_circuits_immediately ... ok
[INFO] [stdout] test does_not_retry_4xx_auth ... ok
[INFO] [stdout] test max_attempts_one_disables_retry ... ok
[INFO] [stdout] test retries_network_failures_status_zero ... ok
[INFO] [stdout] test retries_429_rate_limit ... ok
[INFO] [stdout] test retries_transient_5xx_then_succeeds ... ok
[INFO] [stdout] test exhausts_attempts_and_returns_last_error ... ok
[INFO] [stdout] test cancellation_short_circuits_retry_loop ... ok
[INFO] [stdout] test vendor_retry_after_capped_at_backoff_max ... ok
[INFO] [stdout] test deadline_truncates_backoff_and_surfaces_deadline_exceeded ... ok
[INFO] [stdout] test vendor_retry_after_beats_configured_backoff ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/retry_tool_layer.rs (/opt/rustwide/target/release/build/entelix-core/e6849c6719ed5df6/out/retry_tool_layer-e6849c6719ed5df6)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test no_hint_means_no_retry ... ok
[INFO] [stdout] test permanent_error_short_circuits_even_with_hint ... ok
[INFO] [stdout] test hint_exhausts_attempts_and_bubbles_last_error ... ok
[INFO] [stdout] test hint_retries_transient_until_success ... ok
[INFO] [stdout] test cancellation_during_backoff_short_circuits ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/skill_registry.rs (/opt/rustwide/target/release/build/entelix-core/bdf2dc4b7ec0bd49/out/skill_registry-bdf2dc4b7ec0bd49)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test filter_narrows_authority_does_not_widen ... ok
[INFO] [stdout] test registry_rejects_duplicate_name ... ok
[INFO] [stdout] test summaries_are_stable_sorted_and_carry_version ... ok
[INFO] [stdout] test registry_register_then_lookup_round_trips ... ok
[INFO] [stdout] test filter_yields_independent_registry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stream_aggregator.rs (/opt/rustwide/target/release/build/entelix-core/c72ad8ee0f8af7a7/out/stream_aggregator-c72ad8ee0f8af7a7)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test multiple_tool_blocks_preserve_order ... ok
[INFO] [stdout] test text_during_tool_block_returns_invalid_request ... ok
[INFO] [stdout] test warnings_collected_in_order ... ok
[INFO] [stdout] test tool_use_block_buffers_then_parses_input ... ok
[INFO] [stdout] test is_finished_flips_on_stop ... ok
[INFO] [stdout] test malformed_tool_input_json_returns_actionable_invalid_request ... ok
[INFO] [stdout] test duplicate_start_returns_invalid_request ... ok
[INFO] [stdout] test duplicate_stop_delta_with_different_reason_is_rejected ... ok
[INFO] [stdout] test finalize_with_open_tool_block_returns_invalid_request ... ok
[INFO] [stdout] test finalize_without_usage_attaches_lossy_warning ... ok
[INFO] [stdout] test empty_tool_input_defaults_to_empty_object ... ok
[INFO] [stdout] test finalize_without_stop_returns_invalid_request ... ok
[INFO] [stdout] test happy_path_text_only_response ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stream_typed.rs (/opt/rustwide/target/release/build/entelix-core/7fedc77a91bc6165/out/stream_typed-7fedc77a91bc6165)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running tests/streaming_thinking.rs (/opt/rustwide/target/release/build/entelix-core/8c2d385f003430d3/out/streaming_thinking-8c2d385f003430d3)
[INFO] [stdout] test stream_typed_emits_deltas_through_stream_field ... ok
[INFO] [stdout] test stream_typed_resolves_completion_to_typed_value ... ok
[INFO] [stdout] test stream_typed_schema_mismatch_surfaces_model_retry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test aggregator_thinking_then_text_preserves_intra_turn_order ... ok
[INFO] [stdout] test gemini_stream_yields_thinking_when_part_is_thought ... ok
[INFO] [stdout] test anthropic_stream_yields_thinking_with_signature ... ok
[INFO] [stdout] test openai_responses_stream_yields_thinking_for_reasoning_delta ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/structured_output_strict_preflight.rs (/opt/rustwide/target/release/build/entelix-core/8d60b52f17a7c4c4/out/structured_output_strict_preflight-8d60b52f17a7c4c4)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test strict_preflight_passes_for_valid_object_schema ... ok
[INFO] [stdout] test strict_preflight_recurses_into_any_of ... ok
[INFO] [stdout] test strict_preflight_rejects_partial_required_list ... ok
[INFO] [stdout] test openai_chat_emits_lossy_warning_for_invalid_strict_schema ... ok
[INFO] [stdout] test openai_chat_skips_preflight_when_strict_false ... ok
[INFO] [stdout] test strict_preflight_is_noop_when_strict_false ... ok
[INFO] [stdout] test strict_preflight_rejects_missing_additional_properties_false ... ok
[INFO] [stdout] test openai_responses_emits_lossy_warning_for_invalid_strict_schema ... ok
[INFO] [stdout] test openai_responses_clean_for_valid_strict_schema ... ok
[INFO] [stdout] test strict_preflight_recurses_into_array_items ... ok
[INFO] [stdout] test strict_preflight_recurses_into_nested_object ... ok
[INFO] [stdout] test openai_chat_clean_for_valid_strict_schema ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tenant_id.rs (/opt/rustwide/target/release/build/entelix-core/0b5c7755300ebf10/out/tenant_id-0b5c7755300ebf10)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tenant_id_propagates_through_clone ... ok
[INFO] [stdout] test with_tenant_id_overrides ... ok
[INFO] [stdout] test new_context_has_default_tenant ... ok
[INFO] [stdout] test tenant_id_independent_of_thread_id ... ok
[INFO] [stdout] test default_impl_matches_new ... ok
[INFO] [stdout] test cancellation_inheritance_preserves_tenant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tool_basics.rs (/opt/rustwide/target/release/build/entelix-core/42b6e898640af3fe/out/tool_basics-42b6e898640af3fe)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tool_metadata_is_accessible ... ok
[INFO] [stdout] test tool_object_safe_via_arc_dyn ... ok
[INFO] [stdout] test tool_execute_returns_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tool_registry_d_free_layers.rs (/opt/rustwide/target/release/build/entelix-core/68d55db60ebe4ae1/out/tool_registry_d_free_layers-68d55db60ebe4ae1)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test same_layer_type_works_against_unit_deps_registry ... ok
[INFO] [stdout] test d_free_layer_wraps_typed_deps_registry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests entelix_core
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test src/approval.rs - approval::PendingApprovalDecisions (line 72) ... ignored
[INFO] [stdout] test src/chat.rs - chat::ChatModel<C,T>::layer (line 654) ... ignored
[INFO] [stdout] test src/error.rs - error::Error::provider_network_from (line 276) ... ignored
[INFO] [stdout] test src/ir/request.rs - ir::request::ModelRequest::continue_turn (line 193) ... ignored
[INFO] [stdout] test src/output_validator.rs - output_validator (line 20) ... ignored
[INFO] [stdout] test src/overrides.rs - overrides (line 34) ... ignored
[INFO] [stdout] test src/stream.rs - stream::StreamAggregator (line 151) ... ignored
[INFO] [stdout] test src/tls.rs - tls::install_default_tls (line 27) ... ignored
[INFO] [stdout] test src/tokens.rs - tokens::Resolution (line 269) ... ignored
[INFO] [stdout] test src/tools/error_policy.rs - tools::error_policy (line 30) ... ignored
[INFO] [stdout] test src/tools/registry.rs - tools::registry::ToolRegistry<D>::layer (line 322) ... ignored
[INFO] [stdout] test src/tools/retry_layer.rs - tools::retry_layer (line 40) ... ignored
[INFO] [stdout] test src/tools/scope.rs - tools::scope (line 35) ... ignored
[INFO] [stdout] test src/tools/tool.rs - tools::tool::Tool (line 35) ... ignored
[INFO] [stdout] test src/tools/error_kind.rs - tools::error_kind::ToolErrorKindSet (line 206) ... ok
[INFO] [stdout] test src/agent_context.rs - agent_context (line 30) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.79s; merged doctests compilation took 0.78s
[INFO] running `Command { std: "docker" "inspect" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6", kill_on_drop: false }`
[INFO] [stdout] 477e8f40e1b74c4d4fc534bb8fda30e3776175c742a25e90907b59e7e901dac6
