[INFO] fetching crate meerkat-core 0.5.0... [INFO] testing meerkat-core-0.5.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate meerkat-core 0.5.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate meerkat-core 0.5.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate meerkat-core 0.5.0 [INFO] tweaked toml for crates.io crate meerkat-core 0.5.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate meerkat-core 0.5.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate meerkat-core 0.5.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 1 package to latest compatible version [INFO] [stderr] Adding meerkat-models v0.5.1 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v0.8.23 [INFO] [stderr] Downloaded futures-macro v0.3.32 [INFO] [stderr] Downloaded toml_datetime v0.6.11 [INFO] [stderr] Downloaded serde_spanned v0.6.9 [INFO] [stderr] Downloaded strum v0.27.2 [INFO] [stderr] Downloaded tokio_with_wasm_proc v0.8.8 [INFO] [stderr] Downloaded tokio_with_wasm v0.8.8 [INFO] [stderr] Downloaded humantime-serde v1.1.1 [INFO] [stderr] Downloaded redox_users v0.4.6 [INFO] [stderr] Downloaded dirs v5.0.1 [INFO] [stderr] Downloaded dirs-sys v0.4.1 [INFO] [stderr] Downloaded dyn-clone v1.0.20 [INFO] [stderr] Downloaded toml_write v0.1.2 [INFO] [stderr] Downloaded futures-executor v0.3.32 [INFO] [stderr] Downloaded humantime v2.3.0 [INFO] [stderr] Downloaded strum_macros v0.27.2 [INFO] [stderr] Downloaded serde_derive_internals v0.29.1 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded toml_edit v0.22.27 [INFO] [stderr] Downloaded jsonschema v0.26.2 [INFO] [stderr] Downloaded schemars v1.2.1 [INFO] [stderr] Downloaded referencing v0.26.2 [INFO] [stderr] Downloaded schemars_derive v1.2.1 [INFO] [stderr] Downloaded meerkat-models v0.5.1 [INFO] [stderr] Downloaded chrono v0.4.44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f120407391299a572485d361f4d28a3260e508961ef7c22bf1469dfcd880c0af [INFO] running `Command { std: "docker" "start" "-a" "f120407391299a572485d361f4d28a3260e508961ef7c22bf1469dfcd880c0af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f120407391299a572485d361f4d28a3260e508961ef7c22bf1469dfcd880c0af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f120407391299a572485d361f4d28a3260e508961ef7c22bf1469dfcd880c0af", kill_on_drop: false }` [INFO] [stdout] f120407391299a572485d361f4d28a3260e508961ef7c22bf1469dfcd880c0af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 411cea0d7f47492b099bbcfedca847cc70fc558ff4cc514773b97a1db0cee3b7 [INFO] running `Command { std: "docker" "start" "-a" "411cea0d7f47492b099bbcfedca847cc70fc558ff4cc514773b97a1db0cee3b7", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling fancy-regex v0.14.0 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling fluent-uri v0.3.2 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling referencing v0.26.2 [INFO] [stderr] Compiling humantime-serde v1.1.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling meerkat-models v0.5.1 [INFO] [stderr] Compiling jsonschema v0.26.2 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling meerkat-core v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s [INFO] running `Command { std: "docker" "inspect" "411cea0d7f47492b099bbcfedca847cc70fc558ff4cc514773b97a1db0cee3b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "411cea0d7f47492b099bbcfedca847cc70fc558ff4cc514773b97a1db0cee3b7", kill_on_drop: false }` [INFO] [stdout] 411cea0d7f47492b099bbcfedca847cc70fc558ff4cc514773b97a1db0cee3b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10a0b0c197de027eb247d5a2364ddc2a0aef97c6b4c71a2790daa92167b903f2 [INFO] running `Command { std: "docker" "start" "-a" "10a0b0c197de027eb247d5a2364ddc2a0aef97c6b4c71a2790daa92167b903f2", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling meerkat-core v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 28s [INFO] running `Command { std: "docker" "inspect" "10a0b0c197de027eb247d5a2364ddc2a0aef97c6b4c71a2790daa92167b903f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10a0b0c197de027eb247d5a2364ddc2a0aef97c6b4c71a2790daa92167b903f2", kill_on_drop: false }` [INFO] [stdout] 10a0b0c197de027eb247d5a2364ddc2a0aef97c6b4c71a2790daa92167b903f2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ff7a1d35579182f0f83c39c6cc6713732cbb418552fced08b7c4dca892fa8d71 [INFO] running `Command { std: "docker" "start" "-a" "ff7a1d35579182f0f83c39c6cc6713732cbb418552fced08b7c4dca892fa8d71", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/meerkat_core-5e51872c3b983fc1) [INFO] [stdout] [INFO] [stdout] running 482 tests [INFO] [stdout] test agent::compact::tests::load_compaction_cadence_infers_boundary_count_from_existing_history ... ok [INFO] [stdout] test agent::extraction::tests::test_strip_code_fences_json_fence ... ok [INFO] [stdout] test agent::extraction::tests::test_strip_code_fences_no_fences ... ok [INFO] [stdout] test agent::compact::tests::persisted_compaction_cadence_round_trips_through_session_metadata ... ok [INFO] [stdout] test agent::extraction::tests::test_strip_code_fences_plain_fence ... ok [INFO] [stdout] test agent::extraction::tests::test_strip_code_fences_with_whitespace ... ok [INFO] [stdout] test agent::extraction::tests::test_unwrap_named_object_wrapper_preserves_declared_wrapper_key ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_namespaced ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_midsentence ... ok [INFO] [stdout] test agent::extraction::tests::test_unwrap_named_object_wrapper_when_inner_matches_schema ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_none ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_deep ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_only ... ok [INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_simple ... ok [INFO] [stdout] test agent::skills::tests::test_strip_skill_ref ... ok [INFO] [stdout] test agent::builder::tests::test_regression_builder_applies_system_prompt_to_resumed_session ... ok [INFO] [stdout] test agent::builder::tests::test_regression_builder_applies_system_prompt_to_new_session ... ok [INFO] [stdout] test agent::builder::tests::test_builder_preserves_existing_system_prompt_on_resume ... ok [INFO] [stdout] test agent::state::tests::compute_retry_delay_uses_30s_floor_for_rate_limited_without_hint ... ok [INFO] [stdout] test agent::state::tests::calling_llm_with_max_turns_zero_completes_with_zero_turns ... ok [INFO] [stdout] test agent::state::tests::calling_llm_with_budget_exhausted_completes_with_zero_turns ... ok [INFO] [stdout] test agent::builder::tests::test_builder_event_tap_receives_turn_started_without_primary_event_tx ... ok [INFO] [stdout] test agent::state::tests::completed_with_max_turns_zero_returns_immediately ... ok [INFO] [stdout] test agent::state::tests::builder_prunes_unknown_persisted_filter_tools ... ok [INFO] [stdout] test agent::state::tests::compute_retry_delay_uses_30s_floor_when_hint_below_floor ... ok [INFO] [stdout] test agent::state::tests::compute_retry_delay_uses_computed_for_non_rate_limited ... ok [INFO] [stdout] test agent::state::tests::compute_retry_delay_uses_computed_when_greater_than_hint ... ok [INFO] [stdout] test agent::state::tests::compute_retry_delay_uses_hint_when_greater_than_computed ... ok [INFO] [stdout] test agent::state::tests::builder_restores_persisted_external_filter_from_session_metadata ... ok [INFO] [stdout] test agent::state::tests::llm_execution_hydrates_blob_refs_before_provider_call ... ok [INFO] [stdout] test agent::state::tests::extraction_exhaust_returns_validation_error ... ok [INFO] [stdout] test agent::state::tests::pending_skill_keys_are_resolved_and_injected_into_runtime_prompt ... ok [INFO] [stdout] test agent::state::tests::provider_receives_filtered_tools_and_dispatch_blocks_hidden_tools ... ok [INFO] [stdout] test agent::state::tests::error_recovery_with_max_turns_zero_completes ... ok [INFO] [stdout] test agent::state::tests::rewrite_assistant_text_rewrites_all_text_blocks ... ok [INFO] [stdout] test agent::state::tests::run_completed_hook_failure_emits_run_failed_without_run_completed ... ok [INFO] [stdout] test agent::state::tests::reused_session_follow_up_run_can_compact_before_first_llm_call ... ok [INFO] [stdout] test agent::state::tests::run_completed_event_uses_hook_rewritten_text ... ok [INFO] [stdout] test agent::state::tests::run_without_primary_channel_still_emits_run_lifecycle_to_tap ... ok [INFO] [stdout] test agent::state::tests::run_with_events_emits_run_completed_for_max_turns_zero ... ok [INFO] [stdout] test agent::state::tests::token_budget_exhausted_after_llm_call_routes_through_authority ... ok [INFO] [stdout] test agent::state::tests::turn_boundary_denial_blocks_boundary_side_effects_and_turn_completed ... ok [INFO] [stdout] test agent::tests::test_comms_runtime_trait_defaults_hide_unimplemented_features ... ok [INFO] [stdout] test agent::tests::test_filtered_dispatcher_bind_wait_interrupt_forwards ... ok [INFO] [stdout] test agent::tests::test_filtered_dispatcher_bind_wait_interrupt_shared_ownership ... ok [INFO] [stdout] test agent::tests::test_inline_peer_notification_policy_from_raw ... ok [INFO] [stdout] test agent::state::tests::tool_call_budget_exhausted_routes_through_authority ... ok [INFO] [stdout] test agent::tests::test_remove_trusted_peer_default_unsupported ... ok [INFO] [stdout] test budget::tests::test_budget_pool_reclaim ... ok [INFO] [stdout] test budget::tests::test_budget_pool_reserve ... ok [INFO] [stdout] test budget::tests::test_budget_token_limit ... ok [INFO] [stdout] test budget::tests::test_budget_tool_call_limit ... ok [INFO] [stdout] test budget::tests::test_budget_unlimited ... ok [INFO] [stdout] test comms::tests::peer_directory_entry_fields ... ok [INFO] [stdout] test comms::tests::input_stream_mode_roundtrip ... ok [INFO] [stdout] test comms::tests::peer_name_validation ... ok [INFO] [stdout] test comms::tests::peer_request_with_body_only_promotes_to_params ... ok [INFO] [stdout] test comms::tests::peer_request_with_both_prefers_params ... ok [INFO] [stdout] test comms::tests::peer_request_with_neither_gives_empty_object ... ok [INFO] [stdout] test comms::tests::peer_request_with_params_only ... ok [INFO] [stdout] test comms::tests::trusted_peer_spec_keeps_peer_id_and_address ... ok [INFO] [stdout] test comms::tests::trusted_peer_spec_requires_valid_name ... ok [INFO] [stdout] test config::tests::call_timeout_override_default_is_inherit ... ok [INFO] [stdout] test config::tests::call_timeout_override_disabled_is_not_inherit ... ok [INFO] [stdout] test config::tests::call_timeout_override_toml_deserialize_complex_duration ... ok [INFO] [stdout] test config::tests::call_timeout_override_toml_deserialize_disabled ... ok [INFO] [stdout] test config::tests::call_timeout_override_toml_deserialize_duration ... ok [INFO] [stdout] test config::tests::call_timeout_override_value_is_not_inherit ... ok [INFO] [stdout] test config::tests::config_merge_preserves_call_timeout_override ... ok [INFO] [stdout] test config::tests::retry_config_default_has_inherit_call_timeout ... ok [INFO] [stdout] test config::tests::retry_config_from_toml_omitted_is_inherit ... ok [INFO] [stdout] test config::tests::retry_config_from_toml_with_call_timeout_disabled ... ok [INFO] [stdout] test config::tests::retry_config_from_toml_with_call_timeout_value ... ok [INFO] [stdout] test config::tests::retry_policy_from_config_with_disabled_override ... ok [INFO] [stdout] test config::tests::retry_policy_from_config_with_inherit_override ... ok [INFO] [stdout] test config::tests::retry_policy_from_config_with_value_override ... ok [INFO] [stdout] test config::tests::test_budget_config_serialization ... ok [INFO] [stdout] test config::tests::test_comms_auth_mode_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_comms_auth_mode_default_is_open ... ok [INFO] [stdout] test config::tests::test_comms_auth_mode_toml_roundtrip ... ok [INFO] [stdout] test config::tests::test_comms_config_event_address_defaults_none ... ok [INFO] [stdout] test agent::state::tests::run_loop_boundary_applies_filter_and_emits_tool_config_changed_and_notice ... ok [INFO] [stdout] test agent::state::tests::run_loop_fails_safe_to_full_tools_with_warning_event_and_notice ... ok [INFO] [stdout] test config::tests::test_config_default ... ok [INFO] [stdout] test config::tests::test_comms_config_event_address_toml_roundtrip ... ok [INFO] [stdout] test config::tests::test_config_layering ... ok [INFO] [stdout] test config::tests::test_merge_providers_section_replaces_non_default ... ok [INFO] [stdout] test config::tests::test_merge_extraction_prompt_survives_layering ... ok [INFO] [stdout] test config::tests::test_comms_runtime_config_default_has_open_auth ... ok [INFO] [stdout] test config::tests::test_merge_hooks_entries_append ... ok [INFO] [stdout] test config::tests::test_merge_toml_tools_explicit_default_overrides_lower_layer ... ok [INFO] [stdout] test config::tests::test_plain_event_source_display ... ok [INFO] [stdout] test config::tests::test_plain_event_source_serde_roundtrip ... ok [INFO] [stdout] test config::tests::test_merge_toml_tools_omitted_fields_preserve_lower_layer ... ok [INFO] [stdout] test config::tests::test_provider_config_serialization ... ok [INFO] [stdout] test config::tests::test_provider_infer_from_model ... ok [INFO] [stdout] test config::tests::test_merge_toml_retry_omitted_fields_preserve_lower_layer ... ok [INFO] [stdout] test config::tests::test_provider_parse_strict ... ok [INFO] [stdout] test config::tests::test_retry_config_to_policy ... ok [INFO] [stdout] test config::tests::test_validate_rejects_provider_api_key_conflict ... ok [INFO] [stdout] test config::tests::test_validate_rejects_provider_base_url_conflict ... ok [INFO] [stdout] test config::tests::test_validate_rejects_zero_agent_max_tokens_per_turn ... ok [INFO] [stdout] test config::tests::test_validate_rejects_zero_max_tokens ... ok [INFO] [stdout] test config::tests::test_validate_rejects_zero_min_turns_between_compactions ... ok [INFO] [stdout] test config_runtime::tests::config_envelope_policy_controls_resolved_paths_exposure ... ok [INFO] [stdout] test error::tests::test_auth_error_not_recoverable ... ok [INFO] [stdout] test error::tests::test_build_error_display ... ok [INFO] [stdout] test error::tests::test_build_error_is_not_graceful ... ok [INFO] [stdout] test error::tests::test_build_error_is_not_recoverable ... ok [INFO] [stdout] test error::tests::test_build_error_variant_exists_and_carries_message ... ok [INFO] [stdout] test error::tests::test_call_timeout_is_recoverable ... ok [INFO] [stdout] test error::tests::test_call_timeout_typed_mapping ... ok [INFO] [stdout] test config::tests::test_regression_load_succeeds_without_config_toml ... ok [INFO] [stdout] test error::tests::test_is_rate_limited_false_for_other_errors ... ok [INFO] [stdout] test error::tests::test_is_rate_limited_true_for_rate_limit_error ... ok [INFO] [stdout] test error::tests::test_network_timeout_is_recoverable ... ok [INFO] [stdout] test error::tests::test_network_timeout_typed_mapping ... ok [INFO] [stdout] test error::tests::test_retry_after_hint_returns_duration_for_rate_limit ... ok [INFO] [stdout] test error::tests::test_retry_after_hint_returns_none_for_non_rate_limit ... ok [INFO] [stdout] test error::tests::test_terminal_failure_all_hard_failure_outcomes ... ok [INFO] [stdout] test error::tests::test_terminal_failure_carries_typed_outcome ... ok [INFO] [stdout] test error::tests::test_terminal_failure_display_includes_outcome ... ok [INFO] [stdout] test error::tests::test_timeout_variants_are_distinct ... ok [INFO] [stdout] test error::tests::test_timeout_variants_not_graceful ... ok [INFO] [stdout] test event::tests::test_agent_event_json_schema ... ok [INFO] [stdout] test event::tests::test_agent_event_type_mapping_is_total_for_all_variants ... ok [INFO] [stdout] test event::tests::test_budget_type_serialization ... ok [INFO] [stdout] test event::tests::test_compare_event_envelopes_total_order ... ok [INFO] [stdout] test event::tests::test_event_envelope_roundtrip ... ok [INFO] [stdout] test event::tests::test_scope_id_from_path_formats ... ok [INFO] [stdout] test event::tests::test_scoped_agent_event_roundtrip ... ok [INFO] [stdout] test event_injector::tests::test_event_injector_as_dyn_trait ... ok [INFO] [stdout] test event_injector::tests::test_event_injector_error_display ... ok [INFO] [stdout] test event_injector::tests::test_event_injector_trait_compiles ... ok [INFO] [stdout] test event_tap::tests::tap_emit_primary_none_returns_true ... ok [INFO] [stdout] test event_tap::tests::tap_emit_sends_to_both_tap_and_primary ... ok [INFO] [stdout] test event_tap::tests::tap_send_terminal_delivers_within_timeout ... ok [INFO] [stdout] test event_tap::tests::tap_send_terminal_no_subscriber_is_noop ... ok [INFO] [stdout] test event_tap::tests::tap_try_send_delivers_to_active_subscriber ... ok [INFO] [stdout] test event_tap::tests::tap_try_send_full_channel_sets_truncated_and_sends_marker ... ok [INFO] [stdout] test event_tap::tests::tap_try_send_none_is_noop ... ok [INFO] [stdout] test gateway::tests::test_availability_always ... ok [INFO] [stdout] test gateway::tests::test_availability_debug ... ok [INFO] [stdout] test gateway::tests::test_availability_dynamic ... ok [INFO] [stdout] test gateway::tests::test_availability_when_false ... ok [INFO] [stdout] test gateway::tests::test_availability_when_true ... ok [INFO] [stdout] test gateway::tests::test_builder_maybe_add ... ok [INFO] [stdout] test gateway::tests::test_builder_multiple_dispatchers ... ok [INFO] [stdout] test gateway::tests::test_dispatcher_all_or_nothing_visibility ... ok [INFO] [stdout] test gateway::tests::test_gateway_bind_wait_interrupt_shared_ownership ... ok [INFO] [stdout] test gateway::tests::test_gateway_bind_wait_interrupt_unsupported_when_no_entry_rebound ... ok [INFO] [stdout] test gateway::tests::test_gateway_collision_error ... ok [INFO] [stdout] test gateway::tests::test_gateway_conditional_visibility ... ok [INFO] [stdout] test gateway::tests::test_gateway_merges_tools ... ok [INFO] [stdout] test gateway::tests::test_collision_detection_ignores_availability ... ok [INFO] [stdout] test gateway::tests::test_gateway_no_overlay ... ok [INFO] [stdout] test config_runtime::tests::generation_conflict_is_enforced ... ok [INFO] [stdout] test gateway::tests::test_gateway_routes_to_overlay ... ok [INFO] [stdout] test gateway::tests::test_gateway_not_found ... ok [INFO] [stdout] test gateway::tests::test_gateway_routes_to_base ... ok [INFO] [stdout] test config_runtime::tests::concurrent_writes_with_same_expected_generation_conflict ... ok [INFO] [stdout] test hooks::tests::hook_patch_interleaved_reorders_text_before_images ... ok [INFO] [stdout] test gateway::tests::test_gateway_unavailable_dispatch ... ok [INFO] [stdout] test hooks::tests::hook_patch_sets_is_error ... ok [INFO] [stdout] test hooks::tests::hook_patch_image_only_result_prepends_text ... ok [INFO] [stdout] test hooks::tests::hook_patch_replaces_text_preserves_images ... ok [INFO] [stdout] test agent::state::tests::rate_limit_without_hint_respects_budget_cap ... ok [INFO] [stdout] test gateway::tests::test_unsupported_dispatcher_returns_unsupported ... ok [INFO] [stdout] test hooks::tests::hook_tool_result_has_images_roundtrip ... ok [INFO] [stdout] test hooks::tests::hook_tool_result_has_images_serde_default ... ok [INFO] [stdout] test interaction::tests::inbox_interaction_preserves_runtime_hints ... ok [INFO] [stdout] test interaction::tests::interaction_content_message_json_roundtrip ... ok [INFO] [stdout] test interaction::tests::interaction_content_request_json_roundtrip ... ok [INFO] [stdout] test interaction::tests::interaction_content_response_json_roundtrip ... ok [INFO] [stdout] test hooks::tests::hook_result_from_multimodal_uses_text_projection ... ok [INFO] [stdout] test hooks::tests::hook_result_text_only_has_images_false ... ok [INFO] [stdout] test hooks::tests::hook_patch_text_only_unchanged ... ok [INFO] [stdout] test interaction::tests::interaction_id_json_roundtrip ... ok [INFO] [stdout] test lifecycle::core_executor::tests::core_executor_error_display ... ok [INFO] [stdout] test interaction::tests::interaction_message_without_blocks_compat ... ok [INFO] [stdout] test interaction::tests::response_status_json_roundtrip_all_variants ... ok [INFO] [stdout] test interaction::tests::interaction_message_with_blocks_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::input_id_display ... ok [INFO] [stdout] test lifecycle::identifiers::tests::input_id_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::run_id_and_input_id_are_distinct_types ... ok [INFO] [stdout] test lifecycle::identifiers::tests::run_id_display ... ok [INFO] [stdout] test lifecycle::identifiers::tests::run_id_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_display ... ok [INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_new_is_unique ... ok [INFO] [stdout] test lifecycle::run_control::tests::cancel_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::input_id_new_is_unique ... ok [INFO] [stdout] test lifecycle::run_event::tests::contributing_input_ids_empty_for_non_carrying_events ... ok [INFO] [stdout] test lifecycle::run_event::tests::boundary_applied_serde ... ok [INFO] [stdout] test lifecycle::run_event::tests::run_cancelled_serde ... ok [INFO] [stdout] test lifecycle::run_event::tests::run_completed_serde ... ok [INFO] [stdout] test lifecycle::run_event::tests::run_event_run_id_accessor ... ok [INFO] [stdout] test lifecycle::run_event::tests::run_failed_serde ... ok [INFO] [stdout] test lifecycle::run_event::tests::run_started_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::conversation_append_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::conversation_context_append_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::core_renderable_json_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::core_renderable_reference_serde ... ok [INFO] [stdout] test lifecycle::identifiers::tests::run_id_from_uuid_roundtrip ... ok [INFO] [stdout] test lifecycle::identifiers::tests::run_id_new_is_unique ... ok [INFO] [stdout] test lifecycle::run_control::tests::stop_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::run_apply_boundary_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::core_renderable_text_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::run_primitive_immediate_append_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::run_primitive_staged_input_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::staged_run_input_serde ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::conversation_append_role_serde ... ok [INFO] [stdout] test lifecycle::run_receipt::tests::receipt_preserves_contributing_input_ids ... ok [INFO] [stdout] test lifecycle::run_receipt::tests::receipt_serde_roundtrip ... ok [INFO] [stdout] test lifecycle::run_receipt::tests::receipt_without_digest ... ok [INFO] [stdout] test mcp_config::tests::test_empty_config_loads ... ok [INFO] [stdout] test mcp_config::tests::test_env_expansion_in_config ... ok [INFO] [stdout] test lifecycle::run_primitive::tests::run_primitive_contributing_input_ids ... ok [INFO] [stdout] test mcp_config::tests::test_http_transport_sse ... ok [INFO] [stdout] test mcp_config::tests::test_http_transport_defaults_to_streamable ... ok [INFO] [stdout] test mcp_config::tests::test_find_project_mcp_finds_config_in_current_dir ... ok [INFO] [stdout] test mcp_config::tests::test_load_with_scopes_from_roots_none_is_empty ... ok [INFO] [stdout] test mcp_config::tests::test_merge_project_over_user ... ok [INFO] [stdout] test mcp_config::tests::test_rejects_conflicting_transport_fields ... ok [INFO] [stdout] test ops::tests::barrier_constructor_produces_barrier_policy ... ok [INFO] [stdout] test mcp_config::tests::test_parse_mcp_toml ... ok [INFO] [stdout] test ops::tests::detached_constructor_produces_detached_policy ... ok [INFO] [stdout] test ops::tests::test_concurrency_limits_default ... ok [INFO] [stdout] test ops::tests::test_context_strategy_serialization ... ok [INFO] [stdout] test ops::tests::test_fork_budget_policy_serialization ... ok [INFO] [stdout] test ops::tests::test_op_event_serialization ... ok [INFO] [stdout] test ops::tests::test_operation_id_encoding ... ok [INFO] [stdout] test ops::tests::test_tool_access_policy_serialization ... ok [INFO] [stdout] test ops::tests::test_work_kind_serialization ... ok [INFO] [stdout] test mcp_config::tests::test_load_from_files ... ok [INFO] [stdout] test ops_lifecycle::tests::already_resolved_watch_returns_terminal_outcome ... ok [INFO] [stdout] test ops_lifecycle::tests::operation_kind_peer_expectation_matches_contract ... ok [INFO] [stdout] test ops_lifecycle::tests::terminal_statuses_match_contract ... ok [INFO] [stdout] test peer_meta::tests::test_peer_meta_labels_deterministic_order ... ok [INFO] [stdout] test peer_meta::tests::test_peer_meta_default_is_empty ... ok [INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_roundtrip ... ok [INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_empty_roundtrip ... ok [INFO] [stdout] test mcp_config::tests::test_find_project_mcp_does_not_walk_up_tree ... ok [INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_description_only ... ok [INFO] [stdout] test prompt::tests::test_custom_prompt_overrides_default ... ok [INFO] [stdout] test prompt::tests::test_default_prompt_used_when_no_override ... ok [INFO] [stdout] test prompt::tests::test_agents_md_disabled ... ok [INFO] [stdout] test prompt::tests::test_agents_md_size_limit ... ok [INFO] [stdout] test prompt::tests::test_empty_agents_md_ignored ... ok [INFO] [stdout] test prompt::tests::test_both_global_and_project_agents_md ... ok [INFO] [stdout] test mcp_config::tests::test_load_with_scopes_from_roots_precedence_and_dedup ... ok [INFO] [stdout] test prompt::tests::test_missing_agents_md_returns_none ... ok [INFO] [stdout] test prompt::tests::test_find_project_agents_md_root ... ok [INFO] [stdout] test prompt::tests::test_find_project_agents_md_in_meerkat_dir ... ok [INFO] [stdout] test prompt::tests::test_find_project_agents_md_root_takes_precedence ... ok [INFO] [stdout] test retry::tests::test_call_timeout_builder ... ok [INFO] [stdout] test retry::tests::test_delay_calculation ... ok [INFO] [stdout] test retry::tests::test_retry_policy_default ... ok [INFO] [stdout] test retry::tests::test_max_delay_cap ... ok [INFO] [stdout] test retry::tests::test_retry_policy_deserialization_missing_call_timeout ... ok [INFO] [stdout] test retry::tests::test_retry_policy_no_retry ... ok [INFO] [stdout] test prompt::tests::test_global_agents_md_injected ... ok [INFO] [stdout] test retry::tests::test_retry_policy_serialization ... ok [INFO] [stdout] test retry::tests::test_retry_policy_serialization_with_call_timeout ... ok [INFO] [stdout] test retry::tests::test_should_retry ... ok [INFO] [stdout] test runtime_bootstrap::tests::explicit_realm_id_validation ... ok [INFO] [stdout] test runtime_bootstrap::tests::selection_conflict_is_rejected ... ok [INFO] [stdout] test runtime_bootstrap::tests::workspace_selection_is_deterministic ... ok [INFO] [stdout] test schema::tests::test_normalize_adds_properties_and_required ... ok [INFO] [stdout] test schema::tests::test_invalid_root_rejected ... ok [INFO] [stdout] test schema::tests::test_normalize_preserves_existing_object_shape ... ok [INFO] [stdout] test schema::tests::test_normalize_recurses_nested_objects ... ok [INFO] [stdout] test session::tests::test_fork_at_shares_arc_prefix ... ok [INFO] [stdout] test service::tests::has_live_session_defaults_to_unsupported ... ok [INFO] [stdout] test session::tests::test_push_cow_behavior ... ok [INFO] [stdout] test session::tests::test_session_fork ... ok [INFO] [stdout] test session::tests::test_fork_shares_arc_no_clone ... ok [INFO] [stdout] test session::tests::test_push_batch_single_timestamp ... ok [INFO] [stdout] test session::tests::test_session_meta_from_session ... ok [INFO] [stdout] test session::tests::test_session_metadata ... ok [INFO] [stdout] test session::tests::test_session_new ... ok [INFO] [stdout] test prompt::tests::test_project_agents_md_injected ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_merge_when_remaps_do_not_cover_all_origins ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_rotate_without_remaps ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_split_when_remaps_do_not_cover_all_targets ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_uuid_collision_with_conflicting_fingerprint ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_uuid_mutation_without_lineage ... ok [INFO] [stdout] test skills::identity::tests::registry_resolves_alias_and_applies_remap ... ok [INFO] [stdout] test skills::identity::tests::registry_rejects_when_required_from_skill_is_missing ... ok [INFO] [stdout] test session::tests::test_session_serialization ... ok [INFO] [stdout] test skills::tests::test_apply_filter_query ... ok [INFO] [stdout] test skills::tests::test_collection_prefix_match_segment ... ok [INFO] [stdout] test skills::tests::test_derive_collections_basic ... ok [INFO] [stdout] test skills::tests::test_derive_collections_nested ... ok [INFO] [stdout] test skills::tests::test_identity_lineage_roundtrip ... ok [INFO] [stdout] test skills::tests::test_skill_filter_default_is_empty ... ok [INFO] [stdout] test skills::tests::test_skill_id_collection_extraction ... ok [INFO] [stdout] test skills::tests::test_derive_collections_empty ... ok [INFO] [stdout] test skills::tests::test_skill_id_nested_collection ... ok [INFO] [stdout] test skills::tests::test_skill_id_root_level ... ok [INFO] [stdout] test skills::tests::test_skill_introspection_entry_serde_roundtrip ... ok [INFO] [stdout] test skills::tests::test_skill_introspection_entry_shadowed_roundtrip ... ok [INFO] [stdout] test skills::tests::test_skill_key_json_roundtrip_stable ... ok [INFO] [stdout] test skills::tests::test_skill_key_remap_roundtrip ... ok [INFO] [stdout] test skills::tests::test_apply_filter_collection ... ok [INFO] [stdout] test skills::tests::test_skill_id_name_extraction ... ok [INFO] [stdout] test skills::tests::test_skill_name_slug_validation ... ok [INFO] [stdout] test skills::tests::test_source_health_state_overridden_thresholds ... ok [INFO] [stdout] test skills::tests::test_source_uuid_json_roundtrip_stable ... ok [INFO] [stdout] test skills_config::tests::test_build_identity_registry_from_config_rejects_partial_split_remap ... ok [INFO] [stdout] test session::tests::test_touch_updates_timestamp ... ok [INFO] [stdout] test skills_config::tests::test_default_config ... ok [INFO] [stdout] test skills_config::tests::test_env_expansion_in_auth_token ... ok [INFO] [stdout] test skills_config::tests::test_env_expansion_missing_var_errors ... ok [INFO] [stdout] test skills_config::tests::test_load_from_paths_no_files ... ok [INFO] [stdout] test skills_config::tests::test_merge_project_over_user ... ok [INFO] [stdout] test skills_config::tests::test_merge_project_shadows_user_repo ... ok [INFO] [stdout] test skills_config::tests::test_missing_source_uuid_is_rejected ... ok [INFO] [stdout] test skills::tests::test_skill_ref_boundary_legacy_and_structured_equivalence ... ok [INFO] [stdout] test skills_config::tests::test_parse_filesystem_repo ... ok [INFO] [stdout] test session::tests::test_session_push ... ok [INFO] [stdout] test skills::tests::test_source_health_state_default_thresholds ... ok [INFO] [stdout] test skills_config::tests::test_load_from_paths_with_file ... ok [INFO] [stdout] test state::tests::test_cancellation_path ... ok [INFO] [stdout] test state::tests::test_completed_is_terminal ... ok [INFO] [stdout] test skills_config::tests::test_parse_git_repo ... ok [INFO] [stdout] test skills_config::tests::test_parse_stdio_repo ... ok [INFO] [stdout] test skills_config::tests::test_parse_http_repo ... ok [INFO] [stdout] test state::tests::test_state_is_waiting ... ok [INFO] [stdout] test state::tests::test_error_recovery_path ... ok [INFO] [stdout] test state::tests::test_state_transition_failure ... ok [INFO] [stdout] test state::tests::test_state_serialization ... ok [INFO] [stdout] test state::tests::test_full_happy_path ... ok [INFO] [stdout] test state::tests::test_valid_transitions_from_calling_llm ... ok [INFO] [stdout] test state::tests::test_state_transition_success ... ok [INFO] [stdout] test state::tests::test_valid_transitions_from_error_recovery ... ok [INFO] [stdout] test state::tests::test_valid_transitions_from_cancelling ... ok [INFO] [stdout] test state::tests::test_valid_transitions_from_draining_events ... ok [INFO] [stdout] test state::tests::test_state_is_terminal ... ok [INFO] [stdout] test state::tests::test_valid_transitions_from_waiting_for_ops ... ok [INFO] [stdout] test tool_scope::tests::filter_algebra_is_most_restrictive ... ok [INFO] [stdout] test tool_scope::tests::stage_rejects_unknown_tools ... ok [INFO] [stdout] test tool_scope::tests::stage_revision_is_monotonic ... ok [INFO] [stdout] test tool_scope::tests::staged_update_is_boundary_only_until_apply_staged ... ok [INFO] [stdout] test tool_scope::tests::structural_base_change_prunes_active_and_pending_filters ... ok [INFO] [stdout] test turn_execution_authority::tests::acknowledge_terminal_from_completed_resets_to_ready ... ok [INFO] [stdout] test turn_execution_authority::tests::acknowledge_terminal_from_failed_resets_to_ready ... ok [INFO] [stdout] test turn_execution_authority::tests::acknowledge_terminal_from_cancelled_resets_to_ready ... ok [INFO] [stdout] test turn_execution_authority::tests::acknowledge_terminal_wrong_run_id_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::boundary_complete_goes_to_completed ... ok [INFO] [stdout] test turn_execution_authority::tests::all_barrier_ops_block_tool_calls_resolved_until_satisfied ... ok [INFO] [stdout] test turn_execution_authority::tests::boundary_complete_with_cancel_after_boundary_goes_to_cancelled ... ok [INFO] [stdout] test turn_execution_authority::tests::boundary_continue_goes_to_calling_llm ... ok [INFO] [stdout] test turn_execution_authority::tests::boundary_continue_with_cancel_after_boundary_goes_to_cancelled ... ok [INFO] [stdout] test tool_scope::tests::turn_overlay_is_ephemeral_and_most_restrictive ... ok [INFO] [stdout] test turn_execution_authority::tests::barrier_satisfied_reset_after_tool_calls_resolved ... ok [INFO] [stdout] test turn_execution_authority::tests::budget_exhausted_still_classified_as_success ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_now_from_applying_primitive ... ok [INFO] [stdout] test turn_execution_authority::tests::can_accept_probes_without_mutation ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_now_from_extracting ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_after_boundary_stays_in_same_phase ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_after_boundary_from_waiting_for_ops ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_now_from_various_phases ... ok [INFO] [stdout] test turn_execution_authority::tests::cancel_now_from_waiting_for_ops_clears_pending_op_refs ... ok [INFO] [stdout] test turn_execution_authority::tests::enter_extraction_from_draining_boundary ... ok [INFO] [stdout] test turn_execution_authority::tests::detached_only_ops_do_not_block_tool_calls_resolved ... ok [INFO] [stdout] test turn_execution_authority::tests::cancellation_observed ... ok [INFO] [stdout] test turn_execution_authority::tests::extraction_validation_failed_exhausts_when_no_retries_remain ... ok [INFO] [stdout] test turn_execution_authority::tests::extraction_start_goes_to_calling_llm ... ok [INFO] [stdout] test turn_execution_authority::tests::extraction_validation_failed_retries_when_attempts_remain ... ok [INFO] [stdout] test turn_execution_authority::tests::extraction_validation_passed_completes ... ok [INFO] [stdout] test turn_execution_authority::tests::fatal_failure_classified_as_hard_failure ... ok [INFO] [stdout] test turn_execution_authority::tests::extraction_wrong_run_id_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_applying_primitive ... ok [INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_error_recovery ... ok [INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_various_phases ... ok [INFO] [stdout] test agent::state::tests::retry_after_hint_delays_second_attempt ... ok [INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_extracting ... ok [INFO] [stdout] test turn_execution_authority::tests::full_cancel_after_boundary_path ... ok [INFO] [stdout] test turn_execution_authority::tests::full_error_recovery_path ... ok [INFO] [stdout] test turn_execution_authority::tests::full_conversation_turn_happy_path ... ok [INFO] [stdout] test turn_execution_authority::tests::full_extraction_retry_cycle ... ok [INFO] [stdout] test turn_execution_authority::tests::llm_returned_tool_calls ... ok [INFO] [stdout] test turn_execution_authority::tests::llm_returned_terminal ... ok [INFO] [stdout] test turn_execution_authority::tests::llm_returned_tool_calls_zero_count_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::mixed_barrier_and_detached_ops_still_block_until_barrier_satisfied ... ok [INFO] [stdout] test turn_execution_authority::tests::primitive_applied_conversation_turn_goes_to_calling_llm ... ok [INFO] [stdout] test turn_execution_authority::tests::ops_barrier_satisfied_rejected_when_already_satisfied ... ok [INFO] [stdout] test turn_execution_authority::tests::ops_barrier_satisfied_wrong_run_id_rejected ... ok [INFO] [stdout] test agent::state::tests::extraction_retry_recovers_on_second_attempt ... ok [INFO] [stdout] test turn_execution_authority::tests::primitive_applied_immediate_append_with_cancel_after_boundary ... ok [INFO] [stdout] test turn_execution_authority::tests::primitive_applied_immediate_append_completes ... ok [INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_waiting_for_ops ... ok [INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_waiting_for_ops_clears_pending_op_refs ... ok [INFO] [stdout] test turn_execution_authority::tests::register_pending_ops_records_turn_local_wait_set ... ok [INFO] [stdout] test turn_execution_authority::tests::start_from_non_ready_is_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::start_conversation_run_from_ready ... ok [INFO] [stdout] test agent::state::tests::extraction_happy_path_returns_structured_output ... ok [INFO] [stdout] test turn_execution_authority::tests::primitive_applied_wrong_run_id_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_draining_boundary ... ok [INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_calling_llm ... ok [INFO] [stdout] test turn_execution_authority::tests::start_immediate_context_from_ready ... ok [INFO] [stdout] test turn_execution_authority::tests::retry_requested_from_error_recovery ... ok [INFO] [stdout] test turn_execution_authority::tests::time_budget_exceeded_from_error_recovery ... ok [INFO] [stdout] test turn_execution_authority::tests::tool_calls_resolved_from_wrong_phase_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::time_budget_exceeded_from_various_phases ... ok [INFO] [stdout] test turn_execution_authority::tests::tool_calls_resolved_without_registered_wait_set_rejected ... ok [INFO] [stdout] test turn_execution_authority::tests::tool_calls_resolved ... ok [INFO] [stdout] test turn_execution_authority::tests::start_immediate_append_from_ready ... ok [INFO] [stdout] test turn_execution_authority::tests::wrong_run_id_rejected_everywhere ... ok [INFO] [stdout] test turn_execution_authority::tests::turn_phase_to_loop_state_mapping ... ok [INFO] [stdout] test turn_execution_authority::tests::time_budget_exceeded_classified_as_hard_failure ... ok [INFO] [stdout] test types::tests::content_block_tests::content_block_display_image ... ok [INFO] [stdout] test types::tests::content_block_tests::content_block_display_text ... ok [INFO] [stdout] test types::tests::content_block_tests::content_block_text_roundtrip ... ok [INFO] [stdout] test types::tests::content_block_tests::content_block_image_roundtrips_blob_source ... ok [INFO] [stdout] test types::tests::content_block_tests::content_input_deserialize_string ... ok [INFO] [stdout] test types::tests::content_block_tests::content_input_serialize_text_as_string ... ok [INFO] [stdout] test types::tests::content_block_tests::content_input_deserialize_array ... ok [INFO] [stdout] test types::tests::content_block_tests::content_block_image_roundtrip ... ok [INFO] [stdout] test types::tests::content_block_tests::content_input_from_string ... ok [INFO] [stdout] test types::tests::content_block_tests::image_block_requires_source_discriminator ... ok [INFO] [stdout] test types::tests::content_block_tests::content_input_from_blocks ... ok [INFO] [stdout] test types::tests::content_block_tests::text_projection_image_excludes_source_path ... ok [INFO] [stdout] test types::tests::content_block_tests::indexable_text_user_with_image_uses_projection ... ok [INFO] [stdout] test types::tests::content_block_tests::image_block_serializes_inline_source_discriminator ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_has_images ... ok [INFO] [stdout] test types::tests::content_block_tests::text_projection_text_returns_text ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_deserialize_legacy_string ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_serialize_with_image_array ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_deserialize_array ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_serialize_multi_text_blocks_as_array ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_serialize_text_only_string ... ok [INFO] [stdout] test types::tests::content_block_tests::tool_result_text_content_concatenates ... ok [INFO] [stdout] test types::tests::content_block_tests::user_message_deserialize_legacy_string ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_reasoning_empty_text ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_text_roundtrip ... ok [INFO] [stdout] test types::tests::content_block_tests::user_message_serialize_text_only_string ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_text_with_gemini_meta ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_display_empty ... ok [INFO] [stdout] test types::tests::content_block_tests::user_message_serialize_with_image_array ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_reasoning_roundtrip ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_display ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_tool_use_roundtrip ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_block_tool_use_with_gemini_meta ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_text_blocks ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_tool_calls_empty ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_tool_calls_iterator ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_get_tool_use ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_gemini_roundtrip ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_anthropic_roundtrip ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_assistant_message_has_tool_calls ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_openai_without_encrypted_content ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_tool_call_view_parse_args ... ok [INFO] [stdout] test types::tests::test_message_json_schema ... ok [INFO] [stdout] test types::tests::test_output_schema_deserialize_raw_with_schema_key ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_tool_call_view_parse_args_error ... ok [INFO] [stdout] test types::tests::test_output_schema_deserialize_wrapper ... ok [INFO] [stdout] test types::tests::test_artifact_ref_serialization ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_message_block_assistant_tool_use_roundtrip ... ok [INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_openai_roundtrip ... ok [INFO] [stdout] test types::tests::test_output_schema_strict ... ok [INFO] [stdout] test types::tests::test_output_schema_serde_roundtrip ... ok [INFO] [stdout] test types::tests::test_output_schema_from_type ... ok [INFO] [stdout] test types::tests::test_output_schema_serde_skip_none_name ... ok [INFO] [stdout] test types::tests::test_output_schema_new ... ok [INFO] [stdout] test types::tests::test_output_schema_deserialize_raw ... ok [INFO] [stdout] test types::tests::test_run_result_without_structured_output_skips_field ... ok [INFO] [stdout] test types::tests::test_run_result_json_schema ... ok [INFO] [stdout] test types::tests::test_session_checkpoint_empty ... ok [INFO] [stdout] test types::tests::test_output_schema_with_name ... ok [INFO] [stdout] test types::tests::test_session_id_encoding ... ok [INFO] [stdout] test types::tests::test_run_result_with_structured_output ... ok [INFO] [stdout] test types::tests::test_session_meta_timestamps ... ok [INFO] [stdout] test types::tests::test_stop_reason_mapping ... ok [INFO] [stdout] test types::tests::test_tool_result_from_tool_call ... ok [INFO] [stdout] test types::tests::test_tool_result_serialization ... ok [INFO] [stdout] test types::tests::test_tool_def_serialization ... ok [INFO] [stdout] test types::tests::test_usage_accumulation ... ok [INFO] [stdout] test types::tests::test_session_checkpoint_complex ... ok [INFO] [stdout] test types::tests::test_tool_call_serialization ... ok [INFO] [stdout] test types::tests::test_tool_def_empty_schema_serialization ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 482 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/hooks_behavior.rs (/opt/rustwide/target/debug/deps/hooks_behavior-e93aaa44c1036ee0) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test pre_llm_rewrite_mutates_request_payload ... ok [INFO] [stdout] test run_failed_hook_is_invoked_on_llm_error ... ok [INFO] [stdout] test run_started_deny_blocks_run ... ok [INFO] [stdout] test pre_tool_rewrite_mutates_args ... ok [INFO] [stdout] test pre_tool_deny_blocks_dispatch ... ok [INFO] [stdout] test post_llm_rewrite_mutates_assistant_content ... ok [INFO] [stdout] test turn_boundary_deny_blocks_next_turn ... ok [INFO] [stderr] Running tests/hooks_contracts.rs (/opt/rustwide/target/debug/deps/hooks_contracts-f7483446f86815c0) [INFO] [stdout] test post_tool_rewrite_mutates_result ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test run_override_fixture_contract ... FAILED [INFO] [stdout] test run_override_schema_roundtrip_contract ... ok [INFO] [stdout] test hook_invocation_outcome_roundtrip_contract ... ok [INFO] [stdout] test hook_event_schema_contract ... ok [INFO] [stdout] test hooks_config_roundtrip_contract ... ok [INFO] [stderr] error: test failed, to rerun pass `--test hooks_contracts` [INFO] [stdout] test layered_hook_precedence_global_then_project ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- run_override_fixture_contract stdout ---- [INFO] [stdout] Error: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] run_override_fixture_contract [INFO] [stdout] [INFO] [stdout] test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ff7a1d35579182f0f83c39c6cc6713732cbb418552fced08b7c4dca892fa8d71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff7a1d35579182f0f83c39c6cc6713732cbb418552fced08b7c4dca892fa8d71", kill_on_drop: false }` [INFO] [stdout] ff7a1d35579182f0f83c39c6cc6713732cbb418552fced08b7c4dca892fa8d71