[INFO] fetching crate meerkat-core 0.5.2...
[INFO] testing meerkat-core-0.5.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate meerkat-core 0.5.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate meerkat-core 0.5.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate meerkat-core 0.5.2
[INFO] tweaked toml for crates.io crate meerkat-core 0.5.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate meerkat-core 0.5.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate meerkat-core 0.5.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding meerkat-models v0.5.2
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c589e7641f724b27b94751d6fa14418e887134e203d6cacbc86f2565ee49f82e
[INFO] running `Command { std: "docker" "start" "-a" "c589e7641f724b27b94751d6fa14418e887134e203d6cacbc86f2565ee49f82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c589e7641f724b27b94751d6fa14418e887134e203d6cacbc86f2565ee49f82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c589e7641f724b27b94751d6fa14418e887134e203d6cacbc86f2565ee49f82e", kill_on_drop: false }`
[INFO] [stdout] c589e7641f724b27b94751d6fa14418e887134e203d6cacbc86f2565ee49f82e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52d197c986c08c7b14373f8538daad03d6e6ad70c63317b571c0505114445e10
[INFO] running `Command { std: "docker" "start" "-a" "52d197c986c08c7b14373f8538daad03d6e6ad70c63317b571c0505114445e10", kill_on_drop: false }`
[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 stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.3
[INFO] [stderr]    Compiling indexmap v2.13.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 serde_derive v1.0.228
[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 thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[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 email_address v0.2.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling referencing v0.26.2
[INFO] [stderr]    Compiling meerkat-models v0.5.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling jsonschema v0.26.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling meerkat-core v0.5.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "52d197c986c08c7b14373f8538daad03d6e6ad70c63317b571c0505114445e10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52d197c986c08c7b14373f8538daad03d6e6ad70c63317b571c0505114445e10", kill_on_drop: false }`
[INFO] [stdout] 52d197c986c08c7b14373f8538daad03d6e6ad70c63317b571c0505114445e10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94a351ac276d221f16486846358e8d224db0b0bd1d1e3424b7ce174f94e7d739
[INFO] running `Command { std: "docker" "start" "-a" "94a351ac276d221f16486846358e8d224db0b0bd1d1e3424b7ce174f94e7d739", 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 tempfile v3.24.0
[INFO] [stderr]    Compiling meerkat-core v0.5.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "94a351ac276d221f16486846358e8d224db0b0bd1d1e3424b7ce174f94e7d739", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94a351ac276d221f16486846358e8d224db0b0bd1d1e3424b7ce174f94e7d739", kill_on_drop: false }`
[INFO] [stdout] 94a351ac276d221f16486846358e8d224db0b0bd1d1e3424b7ce174f94e7d739
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8d2a065dd4e19466d7c23c2b64f60093d82da683590a9da8d937157c1fae4de1
[INFO] running `Command { std: "docker" "start" "-a" "8d2a065dd4e19466d7c23c2b64f60093d82da683590a9da8d937157c1fae4de1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/meerkat_core-ba2ce25cc7394711)
[INFO] [stdout] 
[INFO] [stdout] running 570 tests
[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_json_fence ... ok
[INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_none ... 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_deep ... ok
[INFO] [stdout] test agent::compact::tests::estimate_tokens_uses_video_heuristic_for_user_and_tool_results ... ok
[INFO] [stdout] test agent::compact::tests::load_compaction_cadence_infers_boundary_count_from_existing_history ... ok
[INFO] [stdout] test agent::builder::tests::test_regression_builder_applies_system_prompt_to_new_session ... ok
[INFO] [stdout] test agent::skills::tests::test_strip_skill_ref ... ok
[INFO] [stdout] test agent::builder::tests::test_builder_preserves_existing_system_prompt_on_resume ... ok
[INFO] [stdout] test agent::extraction::tests::test_unwrap_named_object_wrapper_preserves_declared_wrapper_key ... 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::skills::tests::test_detect_skill_ref_midsentence ... 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::completed_with_max_turns_zero_returns_immediately ... 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_seeds_applied_cursor_from_feed_watermark ... ok
[INFO] [stdout] test agent::state::tests::builder_restores_inherited_filter_from_session_metadata ... ok
[INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_namespaced ... 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::skills::tests::test_detect_skill_ref_simple ... ok
[INFO] [stdout] test agent::state::tests::extraction_exhaust_returns_validation_error ... ok
[INFO] [stdout] test agent::skills::tests::test_detect_skill_ref_only ... ok
[INFO] [stdout] test agent::state::tests::calling_llm_with_max_turns_zero_completes_with_zero_turns ... ok
[INFO] [stdout] test agent::state::tests::deferred_catalog_delta_events_track_hidden_catalog_changes_across_boundaries ... ok
[INFO] [stdout] test agent::state::tests::builder_preserves_unknown_persisted_filter_tools_as_dormant_intent ... ok
[INFO] [stdout] test agent::state::tests::llm_execution_hydrates_blob_refs_before_provider_call ... 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::direct_builder_exact_catalog_without_control_plane_keeps_deferred_tools_inline ... ok
[INFO] [stdout] test agent::builder::tests::test_builder_applied_cursor_zero_without_feed ... ok
[INFO] [stdout] test agent::state::tests::run_completed_event_uses_hook_rewritten_text ... ok
[INFO] [stdout] test agent::state::tests::provider_and_dispatch_share_the_same_combined_visible_set_for_control_tools ... ok
[INFO] [stdout] test agent::state::tests::pending_skill_keys_are_resolved_and_injected_into_runtime_prompt ... ok
[INFO] [stdout] test agent::state::tests::run_completed_hook_failure_emits_run_failed_without_run_completed ... ok
[INFO] [stdout] test agent::state::tests::run_loop_fails_safe_to_full_tools_with_warning_event_and_notice ... ok
[INFO] [stdout] test agent::state::tests::run_without_primary_channel_still_emits_run_lifecycle_to_tap ... ok
[INFO] [stdout] test agent::state::tests::provider_receives_filtered_tools_and_dispatch_blocks_hidden_tools ... 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::token_budget_exhausted_after_llm_call_routes_through_authority ... ok
[INFO] [stdout] test agent::tests::test_comms_runtime_trait_defaults_hide_unimplemented_features ... ok
[INFO] [stdout] test agent::state::tests::deferred_tools_become_visible_only_after_load_effect_reaches_the_next_boundary ... ok
[INFO] [stdout] test agent::tests::test_inline_peer_notification_policy_from_raw ... ok
[INFO] [stdout] test agent::tests::test_remove_trusted_peer_default_unsupported ... ok
[INFO] [stdout] test agent::builder::tests::test_regression_builder_applies_system_prompt_to_resumed_session ... ok
[INFO] [stdout] test agent::state::tests::tool_call_budget_exhausted_routes_through_authority ... ok
[INFO] [stdout] test agent::state::tests::reused_session_follow_up_run_can_compact_before_first_llm_call ... ok
[INFO] [stdout] test agent::tests::unit_001_terminal_status_values ... 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 agent::builder::tests::test_builder_event_tap_receives_turn_started_without_primary_event_tx ... ok
[INFO] [stdout] test comms::tests::peer_message_requires_handling_mode ... ok
[INFO] [stdout] test agent::state::tests::run_with_events_emits_run_completed_for_max_turns_zero ... ok
[INFO] [stdout] test comms::tests::peer_name_validation ... ok
[INFO] [stdout] test comms::tests::peer_request_requires_handling_mode ... ok
[INFO] [stdout] test comms::tests::peer_request_with_both_prefers_params ... ok
[INFO] [stdout] test comms::tests::peer_request_with_body_only_promotes_to_params ... ok
[INFO] [stdout] test comms::tests::peer_request_with_neither_gives_empty_object ... ok
[INFO] [stdout] test budget::tests::test_budget_pool_reclaim ... ok
[INFO] [stdout] test agent::tests::unit_002_detached_op_completion_has_no_operation_id ... ok
[INFO] [stdout] test comms::tests::peer_message_with_handling_mode_is_accepted ... ok
[INFO] [stdout] test agent::state::tests::turn_boundary_denial_blocks_boundary_side_effects_and_turn_completed ... ok
[INFO] [stdout] test comms::tests::peer_directory_entry_fields ... ok
[INFO] [stdout] test comms::tests::peer_request_with_params_only ... ok
[INFO] [stdout] test comms::tests::peer_response_accepted_with_handling_mode_rejected ... ok
[INFO] [stdout] test comms::tests::peer_response_completed_with_handling_mode_accepted ... 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::retry_config_default_has_inherit_call_timeout ... 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::retry_policy_from_config_with_inherit_override ... ok
[INFO] [stdout] test config::tests::retry_policy_from_config_with_disabled_override ... ok
[INFO] [stdout] test config::tests::call_timeout_override_toml_deserialize_disabled ... ok
[INFO] [stdout] test config::tests::retry_policy_from_config_with_value_override ... ok
[INFO] [stdout] test config::tests::test_comms_auth_mode_serde_roundtrip ... ok
[INFO] [stdout] test config::tests::test_budget_config_serialization ... ok
[INFO] [stdout] test completion_feed::tests::mock_feed_with_watermark_seeds_at_expected_value ... ok
[INFO] [stdout] test config::tests::test_comms_auth_mode_default_is_open ... ok
[INFO] [stdout] test config::tests::call_timeout_override_toml_deserialize_complex_duration ... ok
[INFO] [stdout] test config::tests::test_comms_config_event_address_toml_roundtrip ... ok
[INFO] [stdout] test config::tests::retry_config_from_toml_with_call_timeout_value ... ok
[INFO] [stdout] test config::tests::retry_config_from_toml_omitted_is_inherit ... ok
[INFO] [stdout] test config::tests::config_merge_preserves_call_timeout_override ... ok
[INFO] [stdout] test config::tests::retry_config_from_toml_with_call_timeout_disabled ... 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 comms::tests::trusted_peer_spec_keeps_peer_id_and_address ... ok
[INFO] [stdout] test config::tests::test_config_default ... ok
[INFO] [stdout] test config::tests::test_comms_runtime_config_default_has_open_auth ... 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_hooks_entries_append ... ok
[INFO] [stdout] test config::tests::test_merge_self_hosted_partial_override_preserves_unrelated_inherited_entries ... ok
[INFO] [stdout] test config::tests::test_provider_infer_from_model ... ok
[INFO] [stdout] test config::tests::test_provider_parse_strict ... ok
[INFO] [stdout] test config::tests::test_provider_tool_defaults_not_serialized ... ok
[INFO] [stdout] test config::tests::test_merge_extraction_prompt_survives_layering ... ok
[INFO] [stdout] test config::tests::test_provider_tools_defaults_all_enabled ... ok
[INFO] [stdout] test config::tests::test_merge_self_hosted_empty_table_clears_inherited_entries ... ok
[INFO] [stdout] test config::tests::test_merge_toml_retry_omitted_fields_preserve_lower_layer ... 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_provider_config_serialization ... ok
[INFO] [stdout] test config::tests::test_merge_toml_tools_omitted_fields_preserve_lower_layer ... ok
[INFO] [stdout] test config::tests::test_provider_tools_merge_preserves_when_absent ... ok
[INFO] [stdout] test config::tests::test_provider_tools_merge_overrides_single_provider ... ok
[INFO] [stdout] test config::tests::test_merge_self_hosted_partial_server_override_preserves_existing_fields ... ok
[INFO] [stdout] test config::tests::test_provider_tools_roundtrip_toml ... ok
[INFO] [stdout] test config::tests::test_merge_self_hosted_preserves_lower_layer_servers_and_models ... ok
[INFO] [stdout] test config::tests::test_retry_config_to_policy ... ok
[INFO] [stdout] test config_runtime::tests::config_envelope_policy_controls_resolved_paths_exposure ... ok
[INFO] [stdout] test config::tests::test_validate_rejects_zero_min_turns_between_compactions ... ok
[INFO] [stdout] test config::tests::test_self_hosted_bearer_token_is_not_serialized ... ok
[INFO] [stdout] test config::tests::test_self_hosted_server_config_defaults_to_chat_completions ... 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_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_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 error::tests::test_build_error_is_not_recoverable ... ok
[INFO] [stdout] test config::tests::test_validate_rejects_zero_max_tokens ... ok
[INFO] [stdout] test config::tests::test_self_hosted_transport_accepts_openai_compatible_alias ... ok
[INFO] [stdout] test error::tests::test_is_rate_limited_false_for_other_errors ... 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_terminal_failure_carries_typed_outcome ... ok
[INFO] [stdout] test error::tests::test_timeout_variants_are_distinct ... ok
[INFO] [stdout] test event::tests::test_budget_type_serialization ... ok
[INFO] [stdout] test event::tests::test_agent_event_type_mapping_is_total_for_all_variants ... 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 error::tests::test_auth_error_not_recoverable ... ok
[INFO] [stdout] test event::tests::test_agent_event_json_schema ... ok
[INFO] [stdout] test error::tests::test_terminal_failure_display_includes_outcome ... ok
[INFO] [stdout] test event::tests::test_compare_event_envelopes_total_order ... ok
[INFO] [stdout] test event::tests::test_scoped_agent_event_roundtrip ... ok
[INFO] [stdout] test error::tests::test_timeout_variants_not_graceful ... ok
[INFO] [stdout] test error::tests::test_is_rate_limited_true_for_rate_limit_error ... ok
[INFO] [stdout] test event_tap::tests::tap_emit_primary_none_returns_true ... ok
[INFO] [stdout] test error::tests::test_terminal_failure_all_hard_failure_outcomes ... ok
[INFO] [stdout] test event_tap::tests::tap_emit_sends_to_both_tap_and_primary ... ok
[INFO] [stdout] test config::tests::test_regression_load_succeeds_without_config_toml ... ok
[INFO] [stdout] test event_tap::tests::tap_send_terminal_delivers_within_timeout ... ok
[INFO] [stdout] test error::tests::test_retry_after_hint_returns_none_for_non_rate_limit ... 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_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_debug ... ok
[INFO] [stdout] test gateway::tests::gateway_exact_catalog_tracks_unavailable_winners ... ok
[INFO] [stdout] test gateway::tests::test_availability_always ... ok
[INFO] [stdout] test gateway::tests::test_availability_dynamic ... ok
[INFO] [stdout] test gateway::tests::dynamic_tool_composite_exact_catalog_keeps_first_winner_even_when_unavailable ... ok
[INFO] [stdout] test gateway::tests::choke_003_gateway_dedups_background_completions_by_job_id ... ok
[INFO] [stdout] test event_injector::tests::test_event_injector_as_dyn_trait ... ok
[INFO] [stdout] test gateway::tests::gateway_exact_catalog_is_disabled_by_non_exact_child ... ok
[INFO] [stdout] test gateway::tests::test_availability_when_true ... ok
[INFO] [stdout] test gateway::tests::test_availability_when_false ... ok
[INFO] [stdout] test gateway::tests::test_builder_maybe_add ... ok
[INFO] [stdout] test gateway::tests::test_collision_detection_ignores_availability ... ok
[INFO] [stdout] test gateway::tests::test_dispatcher_all_or_nothing_visibility ... 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_gateway_no_overlay ... ok
[INFO] [stdout] test hooks::tests::hook_patch_interleaved_reorders_text_before_images ... ok
[INFO] [stdout] test hooks::tests::hook_patch_replaces_text_preserves_images ... ok
[INFO] [stdout] test gateway::tests::test_gateway_not_found ... ok
[INFO] [stdout] test hooks::tests::hook_patch_sets_is_error ... ok
[INFO] [stdout] test gateway::tests::test_gateway_routes_to_base ... ok
[INFO] [stdout] test hooks::tests::hook_patch_text_only_unchanged ... ok
[INFO] [stdout] test gateway::tests::test_gateway_unavailable_dispatch ... ok
[INFO] [stdout] test hooks::tests::hook_tool_result_has_images_roundtrip ... ok
[INFO] [stdout] test gateway::tests::test_gateway_routes_to_overlay ... ok
[INFO] [stdout] test hooks::tests::hook_patch_image_only_result_prepends_text ... ok
[INFO] [stdout] test hooks::tests::hook_tool_result_has_images_serde_default ... ok
[INFO] [stdout] test hooks::tests::hook_result_text_only_has_images_false ... ok
[INFO] [stdout] test hooks::tests::hook_result_from_multimodal_uses_text_projection ... ok
[INFO] [stdout] test interaction::tests::inbox_interaction_preserves_runtime_hints ... ok
[INFO] [stdout] test gateway::tests::test_builder_multiple_dispatchers ... ok
[INFO] [stdout] test interaction::tests::response_status_json_roundtrip_all_variants ... 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::interaction_content_message_json_roundtrip ... ok
[INFO] [stdout] test interaction::tests::interaction_content_request_json_roundtrip ... ok
[INFO] [stdout] test interaction::tests::interaction_id_json_roundtrip ... 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_new_is_unique ... 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 interaction::tests::interaction_content_response_json_roundtrip ... 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 config_runtime::tests::generation_conflict_is_enforced ... ok
[INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_display ... ok
[INFO] [stdout] test lifecycle::run_control::tests::cancel_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::identifiers::tests::run_id_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::run_event::tests::run_event_run_id_accessor ... ok
[INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_new_is_unique ... ok
[INFO] [stdout] test lifecycle::identifiers::tests::wait_request_id_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::run_control::tests::stop_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::identifiers::tests::input_id_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::run_event::tests::contributing_input_ids_empty_for_non_carrying_events ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::conversation_append_role_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::conversation_append_serde ... 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_primitive::tests::core_renderable_reference_serde ... ok
[INFO] [stdout] test lifecycle::run_event::tests::run_completed_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::core_renderable_text_serde ... ok
[INFO] [stdout] test lifecycle::run_event::tests::run_failed_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::execution_kind_serde_round_trip ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::context_only_immediate_false_with_appends ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::extract_content_from_staged_blocks ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::context_only_immediate_false_wrong_boundary ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::extract_content_from_staged_text ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::context_only_immediate_true ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::extract_content_single_text_block_collapses ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::core_renderable_json_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::non_staged_is_not_context_only ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::run_primitive_contributing_input_ids ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::run_apply_boundary_serde_roundtrip ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::conversation_context_append_serde ... ok
[INFO] [stdout] test lifecycle::run_event::tests::run_started_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::extract_content_from_staged_empty ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::turn_metadata_without_execution_kind_deserializes ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::staged_run_input_serde ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::turn_metadata_execution_kind_defaults_to_none ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::turn_metadata_execution_kind_round_trips ... 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 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_staged_input_serde ... ok
[INFO] [stdout] test lifecycle::run_receipt::tests::receipt_without_digest ... ok
[INFO] [stdout] test mcp_config::tests::test_http_transport_sse ... ok
[INFO] [stdout] test mcp_config::tests::test_merge_project_over_user ... ok
[INFO] [stdout] test mcp_config::tests::test_http_transport_defaults_to_streamable ... ok
[INFO] [stdout] test mcp_config::tests::test_parse_mcp_toml ... ok
[INFO] [stdout] test lifecycle::run_primitive::tests::run_primitive_immediate_append_serde ... ok
[INFO] [stdout] test mcp_config::tests::test_load_with_scopes_from_roots_none_is_empty ... ok
[INFO] [stdout] test mcp_config::tests::test_rejects_conflicting_transport_fields ... ok
[INFO] [stdout] test model_registry::tests::merges_self_hosted_models_into_registry ... ok
[INFO] [stdout] test ops::tests::session_effect_grant_manage_mob_serde_round_trip ... ok
[INFO] [stdout] test mcp_config::tests::test_find_project_mcp_finds_config_in_current_dir ... ok
[INFO] [stdout] test mcp_config::tests::test_find_project_mcp_does_not_walk_up_tree ... ok
[INFO] [stdout] test model_registry::tests::rejects_unknown_server_reference ... ok
[INFO] [stdout] test model_registry::tests::falls_back_to_inferred_builtin_profiles_for_non_catalog_models ... ok
[INFO] [stdout] test model_registry::tests::rejects_duplicate_model_ids ... 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::barrier_constructor_produces_barrier_policy ... ok
[INFO] [stdout] test ops::tests::test_concurrency_limits_default ... ok
[INFO] [stdout] test ops::tests::detached_constructor_produces_detached_policy ... ok
[INFO] [stdout] test ops::tests::test_operation_id_encoding ... ok
[INFO] [stdout] test ops::tests::test_work_kind_serialization ... ok
[INFO] [stdout] test ops::tests::tool_dispatch_outcome_sync_result_has_empty_effects ... ok
[INFO] [stdout] test ops::tests::tool_dispatch_outcome_with_session_effects ... 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 ops::tests::test_tool_access_policy_serialization ... ok
[INFO] [stdout] test mcp_config::tests::test_load_with_scopes_from_roots_precedence_and_dedup ... ok
[INFO] [stdout] test peer_meta::tests::test_peer_meta_default_is_empty ... ok
[INFO] [stdout] test mcp_config::tests::test_load_from_files ... ok
[INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_empty_roundtrip ... ok
[INFO] [stdout] test prompt::tests::test_custom_prompt_overrides_default ... ok
[INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_roundtrip ... ok
[INFO] [stdout] test peer_meta::tests::test_peer_meta_labels_deterministic_order ... ok
[INFO] [stdout] test peer_meta::tests::test_peer_meta_serde_description_only ... 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_find_project_agents_md_in_meerkat_dir ... ok
[INFO] [stdout] test retry::tests::test_call_timeout_builder ... ok
[INFO] [stdout] test retry::tests::test_max_delay_cap ... ok
[INFO] [stdout] test prompt::tests::test_missing_agents_md_returns_none ... ok
[INFO] [stdout] test retry::tests::test_delay_calculation ... ok
[INFO] [stdout] test prompt::tests::test_find_project_agents_md_root_takes_precedence ... ok
[INFO] [stdout] test retry::tests::test_retry_policy_default ... 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 retry::tests::test_should_retry ... ok
[INFO] [stdout] test retry::tests::test_retry_policy_serialization ... ok
[INFO] [stdout] test runtime_bootstrap::tests::selection_conflict_is_rejected ... ok
[INFO] [stdout] test retry::tests::test_retry_policy_serialization_with_call_timeout ... ok
[INFO] [stdout] test prompt::tests::test_empty_agents_md_ignored ... ok
[INFO] [stdout] test prompt::tests::test_global_agents_md_injected ... ok
[INFO] [stdout] test prompt::tests::test_project_agents_md_injected ... ok
[INFO] [stdout] test runtime_bootstrap::tests::workspace_selection_is_deterministic ... ok
[INFO] [stdout] test prompt::tests::test_both_global_and_project_agents_md ... ok
[INFO] [stdout] test schema::tests::test_invalid_root_rejected ... ok
[INFO] [stdout] test schema::tests::test_normalize_adds_properties_and_required ... ok
[INFO] [stdout] test schema::tests::test_normalize_recurses_nested_objects ... ok
[INFO] [stdout] test schema::tests::test_normalize_preserves_existing_object_shape ... ok
[INFO] [stdout] test service::tests::grant_manage_mob_in_place_is_idempotent ... ok
[INFO] [stdout] test service::tests::grant_manage_mob_in_place_accumulates ... ok
[INFO] [stdout] test service::tests::has_live_session_defaults_to_unsupported ... ok
[INFO] [stdout] test service::tests::mob_tool_snapshot_context_parent_owned_returns_tools ... ok
[INFO] [stdout] test service::tests::grant_manage_mob_in_place_adds_mob_id ... ok
[INFO] [stdout] test service::tests::mob_tool_snapshot_context_standalone ... ok
[INFO] [stdout] test session::tests::has_pending_boundary_after_assistant_message ... ok
[INFO] [stdout] test prompt::tests::test_agents_md_size_limit ... ok
[INFO] [stdout] test runtime_bootstrap::tests::explicit_realm_id_validation ... ok
[INFO] [stdout] test session::tests::has_pending_boundary_after_system ... ok
[INFO] [stdout] test session::tests::test_session_fork ... ok
[INFO] [stdout] test session::tests::has_pending_boundary_after_tool_results ... ok
[INFO] [stdout] test session::tests::has_pending_boundary_after_user_message ... ok
[INFO] [stdout] test session::tests::has_pending_boundary_empty_session ... ok
[INFO] [stdout] test session::tests::test_fork_at_shares_arc_prefix ... 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_push_cow_behavior ... ok
[INFO] [stdout] test session::tests::test_session_metadata ... ok
[INFO] [stdout] test session::tests::test_session_mob_tool_authority_context_roundtrip ... ok
[INFO] [stdout] test session::tests::test_session_serialization ... ok
[INFO] [stdout] test session::tests::test_session_new ... ok
[INFO] [stdout] test session::tests::test_session_tool_visibility_state_roundtrip ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_rejects_build_only_overrides_after_first_turn_started ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_preserves_existing_system_prompt_after_first_turn_started ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_uses_context_fallback_for_realm_metadata ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_model_override_clears_persisted_self_hosted_binding ... ok
[INFO] [stdout] test session_recovery::tests::has_materialization_overrides_ignores_live_turn_only_inputs ... ok
[INFO] [stdout] test session_recovery::tests::session_allows_first_turn_build_overrides_tracks_deferred_phase ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_rejects_provider_override_without_model ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_merge_when_remaps_do_not_cover_all_origins ... ok
[INFO] [stdout] test prompt::tests::test_find_project_agents_md_root ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_can_override_metadata_and_tooling_fields ... ok
[INFO] [stdout] test session_recovery::tests::build_recovered_session_prefers_overrides_and_preserves_persisted_build_state ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_uuid_mutation_without_lineage ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_rotate_without_remaps ... ok
[INFO] [stdout] test skills::tests::test_collection_prefix_match_segment ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_when_required_from_skill_is_missing ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_split_when_remaps_do_not_cover_all_targets ... ok
[INFO] [stdout] test skills::tests::test_apply_filter_collection ... ok
[INFO] [stdout] test skills::identity::tests::registry_rejects_uuid_collision_with_conflicting_fingerprint ... ok
[INFO] [stdout] test skills::tests::test_derive_collections_basic ... ok
[INFO] [stdout] test skills::tests::test_apply_filter_query ... ok
[INFO] [stdout] test skills::tests::test_derive_collections_empty ... ok
[INFO] [stdout] test skills::identity::tests::registry_resolves_alias_and_applies_remap ... 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_skill_id_nested_collection ... ok
[INFO] [stdout] test skills::tests::test_skill_id_name_extraction ... 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 session::tests::test_session_push ... ok
[INFO] [stdout] test session::tests::test_touch_updates_timestamp ... 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_introspection_entry_shadowed_roundtrip ... ok
[INFO] [stdout] test skills::tests::test_skill_key_json_roundtrip_stable ... ok
[INFO] [stdout] test skills::tests::test_skill_name_slug_validation ... ok
[INFO] [stdout] test skills::tests::test_source_health_state_default_thresholds ... 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 skills_config::tests::test_env_expansion_missing_var_errors ... ok
[INFO] [stdout] test skills_config::tests::test_env_expansion_in_auth_token ... ok
[INFO] [stdout] test skills_config::tests::test_default_config ... ok
[INFO] [stdout] test skills::tests::test_skill_key_remap_roundtrip ... ok
[INFO] [stdout] test skills_config::tests::test_load_from_paths_no_files ... ok
[INFO] [stdout] test skills::tests::test_skill_ref_boundary_legacy_and_structured_equivalence ... ok
[INFO] [stdout] test skills_config::tests::test_merge_project_over_user ... ok
[INFO] [stdout] test skills_config::tests::test_parse_filesystem_repo ... 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_http_repo ... ok
[INFO] [stdout] test skills_config::tests::test_parse_stdio_repo ... ok
[INFO] [stdout] test skills_config::tests::test_missing_source_uuid_is_rejected ... ok
[INFO] [stdout] test state::tests::test_error_recovery_path ... ok
[INFO] [stdout] test session::tests::test_session_meta_from_session ... ok
[INFO] [stdout] test agent::state::tests::rate_limit_without_hint_respects_budget_cap ... ok
[INFO] [stdout] test skills_config::tests::test_merge_project_shadows_user_repo ... ok
[INFO] [stdout] test state::tests::test_state_is_terminal ... ok
[INFO] [stdout] test config_runtime::tests::concurrent_writes_with_same_expected_generation_conflict ... ok
[INFO] [stdout] test state::tests::test_state_serialization ... ok
[INFO] [stdout] test state::tests::test_full_happy_path ... ok
[INFO] [stdout] test skills_config::tests::test_load_from_paths_with_file ... ok
[INFO] [stdout] test state::tests::test_state_transition_failure ... ok
[INFO] [stdout] test state::tests::test_state_transition_success ... ok
[INFO] [stdout] test state::tests::test_valid_transitions_from_calling_llm ... ok
[INFO] [stdout] test state::tests::test_valid_transitions_from_cancelling ... ok
[INFO] [stdout] test state::tests::test_state_is_waiting ... ok
[INFO] [stdout] test state::tests::test_valid_transitions_from_draining_events ... ok
[INFO] [stdout] test state::tests::test_valid_transitions_from_waiting_for_ops ... ok
[INFO] [stdout] test state::tests::test_valid_transitions_from_error_recovery ... ok
[INFO] [stdout] test tool_scope::tests::control_tools_remain_visible_and_unfilterable ... ok
[INFO] [stdout] test tool_scope::tests::filter_algebra_is_most_restrictive ... ok
[INFO] [stdout] test tool_scope::tests::deferred_tools_stay_hidden_until_requested_boundary_applies ... ok
[INFO] [stdout] test tool_scope::tests::inherited_metadata_key_is_distinct_from_external ... ok
[INFO] [stdout] test tool_scope::tests::late_deferred_names_stay_hidden_until_requested_after_projection_refresh ... ok
[INFO] [stdout] test tool_scope::tests::requested_witness_mismatch_prevents_rebinding_a_dormant_deferred_name ... ok
[INFO] [stdout] test tool_scope::tests::set_base_filter_composes_with_external_filter ... ok
[INFO] [stdout] test tool_scope::tests::filter_witness_mismatch_prevents_rebinding_a_dormant_filter_name ... ok
[INFO] [stdout] test tool_scope::tests::set_base_filter_restricts_visible_tools ... 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 turn_execution_authority::tests::acknowledge_terminal_from_cancelled_resets_to_ready ... ok
[INFO] [stdout] test tool_scope::tests::turn_overlay_is_ephemeral_and_most_restrictive ... 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_completed_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::all_barrier_ops_block_tool_calls_resolved_until_satisfied ... ok
[INFO] [stdout] test turn_execution_authority::tests::barrier_satisfied_reset_after_tool_calls_resolved ... ok
[INFO] [stdout] test turn_execution_authority::tests::boundary_complete_goes_to_completed ... 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::budget_exhausted_still_classified_as_success ... ok
[INFO] [stdout] test turn_execution_authority::tests::boundary_continue_with_cancel_after_boundary_goes_to_cancelled ... 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_extracting ... 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::detached_only_ops_do_not_block_tool_calls_resolved ... ok
[INFO] [stdout] test turn_execution_authority::tests::enter_extraction_from_draining_boundary ... ok
[INFO] [stdout] test turn_execution_authority::tests::extraction_start_goes_to_calling_llm ... ok
[INFO] [stdout] test turn_execution_authority::tests::cancellation_observed ... ok
[INFO] [stdout] test turn_execution_authority::tests::extraction_validation_passed_completes ... ok
[INFO] [stdout] test turn_execution_authority::tests::extraction_validation_failed_retries_when_attempts_remain ... ok
[INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_error_recovery ... 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_conversation_turn_happy_path ... ok
[INFO] [stdout] test turn_execution_authority::tests::cancel_after_boundary_stays_in_same_phase ... ok
[INFO] [stdout] test turn_execution_authority::tests::full_error_recovery_path ... ok
[INFO] [stdout] test turn_execution_authority::tests::extraction_validation_failed_exhausts_when_no_retries_remain ... ok
[INFO] [stdout] test turn_execution_authority::tests::llm_returned_tool_calls_zero_count_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::full_extraction_retry_cycle ... ok
[INFO] [stdout] test turn_execution_authority::tests::llm_returned_terminal ... ok
[INFO] [stdout] test turn_execution_authority::tests::ops_barrier_satisfied_rejected_when_already_satisfied ... ok
[INFO] [stdout] test turn_execution_authority::tests::llm_returned_tool_calls ... ok
[INFO] [stdout] test turn_execution_authority::tests::primitive_applied_conversation_turn_goes_to_calling_llm ... ok
[INFO] [stdout] test turn_execution_authority::tests::primitive_applied_immediate_append_completes ... ok
[INFO] [stdout] test turn_execution_authority::tests::primitive_applied_immediate_append_with_cancel_after_boundary ... ok
[INFO] [stdout] test turn_execution_authority::tests::extraction_wrong_run_id_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::primitive_applied_wrong_run_id_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::fatal_failure_classified_as_hard_failure ... ok
[INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_applying_primitive ... ok
[INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_calling_llm ... ok
[INFO] [stdout] test turn_execution_authority::tests::fatal_failure_from_various_phases ... ok
[INFO] [stdout] test turn_execution_authority::tests::recoverable_failure_from_draining_boundary ... 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::mixed_barrier_and_detached_ops_still_block_until_barrier_satisfied ... ok
[INFO] [stdout] test tool_scope::tests::staged_update_is_boundary_only_until_apply_staged ... ok
[INFO] [stdout] test turn_execution_authority::tests::ops_barrier_satisfied_wrong_run_id_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::start_from_non_ready_is_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::start_immediate_append_from_ready ... ok
[INFO] [stdout] test turn_execution_authority::tests::start_immediate_context_from_ready ... ok
[INFO] [stdout] test turn_execution_authority::tests::time_budget_exceeded_classified_as_hard_failure ... ok
[INFO] [stdout] test turn_execution_authority::tests::cancel_now_from_applying_primitive ... ok
[INFO] [stdout] test turn_execution_authority::tests::register_pending_ops_records_turn_local_wait_set ... ok
[INFO] [stdout] test turn_execution_authority::tests::can_accept_probes_without_mutation ... ok
[INFO] [stdout] test turn_execution_authority::tests::retry_requested_from_error_recovery ... ok
[INFO] [stdout] test tool_scope::tests::structural_base_change_preserves_dormant_filter_names ... ok
[INFO] [stdout] test turn_execution_authority::tests::start_conversation_run_from_ready ... 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_from_wrong_phase_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::tool_calls_resolved_without_registered_wait_set_rejected ... ok
[INFO] [stdout] test turn_execution_authority::tests::wrong_run_id_rejected_everywhere ... 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_image_roundtrip ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_block_image_roundtrips_blob_source ... ok
[INFO] [stdout] test turn_execution_authority::tests::time_budget_exceeded_from_error_recovery ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_input_deserialize_array ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_block_text_roundtrip ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_block_video_requires_duration_ms ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_block_video_roundtrip ... ok
[INFO] [stdout] test turn_execution_authority::tests::tool_calls_resolved ... ok
[INFO] [stdout] test turn_execution_authority::tests::turn_phase_to_loop_state_mapping ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_block_display_video ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_input_from_blocks ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_input_deserialize_string ... ok
[INFO] [stdout] test types::tests::content_block_tests::image_block_serializes_inline_source_discriminator ... 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::content_input_video_helpers_work ... ok
[INFO] [stdout] test types::tests::content_block_tests::text_projection_image_excludes_source_path ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_input_from_string ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_def_without_provenance_backward_compat ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_def_without_provenance_skips_serialization ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_def_new_constructor ... ok
[INFO] [stdout] test types::tests::content_block_tests::text_projection_text_returns_text ... ok
[INFO] [stdout] test types::tests::content_block_tests::text_projection_video_returns_placeholder ... 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_deserialize_array ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_result_has_images ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_result_has_video ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_provenance_roundtrip_all_kinds ... 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_serialize_with_image_array ... 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_serialize_text_only_string ... ok
[INFO] [stdout] test types::tests::content_block_tests::user_message_deserialize_legacy_string ... 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_tool_use_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_with_gemini_meta ... 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_assistant_message_has_tool_calls ... 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_block_text_roundtrip ... 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_tool_calls_iterator ... ok
[INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_anthropic_roundtrip ... ok
[INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_gemini_roundtrip ... 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_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::ordered_transcript_types::test_provider_meta_openai_roundtrip ... 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_message_tool_calls_empty ... ok
[INFO] [stdout] test types::tests::ordered_transcript_types::test_tool_call_view_parse_args ... ok
[INFO] [stdout] test types::tests::ordered_transcript_types::test_tool_call_view_parse_args_error ... ok
[INFO] [stdout] test types::tests::test_artifact_ref_serialization ... ok
[INFO] [stdout] test types::tests::test_output_schema_deserialize_raw_with_schema_key ... ok
[INFO] [stdout] test types::tests::test_message_json_schema ... ok
[INFO] [stdout] test types::tests::test_output_schema_serde_skip_none_name ... ok
[INFO] [stdout] test types::tests::test_output_schema_with_name ... ok
[INFO] [stdout] test types::tests::test_output_schema_from_type ... ok
[INFO] [stdout] test types::tests::test_output_schema_deserialize_raw ... ok
[INFO] [stdout] test types::tests::test_output_schema_deserialize_wrapper ... ok
[INFO] [stdout] test types::tests::test_run_result_json_schema ... ok
[INFO] [stdout] test types::tests::test_output_schema_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::test_run_result_without_structured_output_skips_field ... ok
[INFO] [stdout] test types::tests::test_session_checkpoint_empty ... ok
[INFO] [stdout] test types::tests::test_session_id_encoding ... 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_legacy_user_notice_deserializes_to_system_notice ... ok
[INFO] [stdout] test types::tests::test_output_schema_new ... ok
[INFO] [stdout] test types::tests::ordered_transcript_types::test_provider_meta_openai_without_encrypted_content ... ok
[INFO] [stdout] test types::tests::test_run_result_with_structured_output ... ok
[INFO] [stdout] test types::tests::test_session_checkpoint_complex ... ok
[INFO] [stdout] test types::tests::test_tool_def_serialization ... 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] 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_usage_accumulation ... ok
[INFO] [stdout] test types::tests::test_user_message_render_metadata_serialization ... ok
[INFO] [stdout] test types::tests::test_output_schema_strict ... ok
[INFO] [stdout] test types::tests::test_reserved_prefix_user_text_stays_user_without_notice_metadata ... ok
[INFO] [stdout] test types::tests::content_block_tests::content_input_serialize_text_as_string ... ok
[INFO] [stdout] test types::tests::content_block_tests::image_block_requires_source_discriminator ... ok
[INFO] [stdout] test types::tests::content_block_tests::tool_def_with_provenance_roundtrip ... ok
[INFO] [stdout] test agent::state::tests::retry_after_hint_delays_second_attempt ... ok
[INFO] [stdout] test agent::state::tests::extraction_retry_recovers_on_second_attempt ... ok
[INFO] [stdout] test agent::state::tests::extraction_happy_path_returns_structured_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 570 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hooks_behavior.rs (/opt/rustwide/target/debug/deps/hooks_behavior-d3072a24248ca383)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test run_started_deny_blocks_run ... ok
[INFO] [stdout] test run_failed_hook_is_invoked_on_llm_error ... ok
[INFO] [stdout] test post_llm_rewrite_mutates_assistant_content ... ok
[INFO] [stdout] test pre_llm_rewrite_mutates_request_payload ... ok
[INFO] [stdout] test turn_boundary_deny_blocks_next_turn ... ok
[INFO] [stdout] test pre_tool_deny_blocks_dispatch ... ok
[INFO] [stdout] test post_tool_rewrite_mutates_result ... ok
[INFO] [stdout] test pre_tool_rewrite_mutates_args ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hooks_contracts.rs (/opt/rustwide/target/debug/deps/hooks_contracts-ebd27bae2fac5866)
[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_event_schema_contract ... ok
[INFO] [stdout] test hook_invocation_outcome_roundtrip_contract ... ok
[INFO] [stdout] test hooks_config_roundtrip_contract ... ok
[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.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test hooks_contracts`
[INFO] running `Command { std: "docker" "inspect" "8d2a065dd4e19466d7c23c2b64f60093d82da683590a9da8d937157c1fae4de1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d2a065dd4e19466d7c23c2b64f60093d82da683590a9da8d937157c1fae4de1", kill_on_drop: false }`
[INFO] [stdout] 8d2a065dd4e19466d7c23c2b64f60093d82da683590a9da8d937157c1fae4de1
