Running phase: unpackPhase unpacking source archive /nix/store/0jj2kygvhcybkyyr1a94dp0y599lx9jl-source source root is source Executing cargoSetupPostUnpackHook Finished cargoSetupPostUnpackHook Running phase: patchPhase Executing cargoSetupPostPatchHook Validating consistency between /build/source/Cargo.lock and /build/buzz-sidecars-0.5.2-vendor/Cargo.lock Finished cargoSetupPostPatchHook Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase Running phase: buildPhase Executing cargoBuildHook cargoBuildHook flags: -j 12 --target x86_64-unknown-linux-gnu --offline --profile release -p buzz-acp -p buzz-agent -p buzz-dev-mcp -p git-credential-nostr -p buzz-cli Compiling proc-macro2 v1.0.106 Compiling quote v1.0.45 Compiling unicode-ident v1.0.24 Compiling libc v0.2.186 Compiling cfg-if v1.0.4 Compiling serde_core v1.0.228 Compiling shlex v1.3.0 Compiling find-msvc-tools v0.1.9 Compiling memchr v2.8.0 Compiling itoa v1.0.18 Compiling typenum v1.20.0 Compiling serde v1.0.228 Compiling stable_deref_trait v1.2.1 Compiling pin-project-lite v0.2.17 Compiling version_check v0.9.5 Compiling once_cell v1.21.4 Compiling zmij v1.0.21 Compiling bytes v1.11.1 Compiling futures-core v0.3.32 Compiling log v0.4.29 Compiling smallvec v1.15.1 Compiling zerocopy v0.8.48 Compiling generic-array v0.14.7 Compiling writeable v0.6.3 Compiling litemap v0.8.2 Compiling icu_normalizer_data v2.2.0 Compiling futures-sink v0.3.32 Compiling fs_extra v1.3.0 Compiling dunce v1.0.5 Compiling icu_properties_data v2.2.0 Compiling utf8_iter v1.0.4 Compiling percent-encoding v2.3.2 Compiling futures-channel v0.3.32 Compiling serde_json v1.0.150 Compiling syn v2.0.117 Compiling tracing-core v0.1.36 Compiling futures-task v0.3.32 Compiling futures-io v0.3.32 Compiling slab v0.4.12 Compiling form_urlencoded v1.2.2 Compiling aws-lc-rs v1.17.0 Compiling jobserver v0.1.34 Compiling http v1.4.0 Compiling base64 v0.22.1 Compiling cpufeatures v0.2.17 Compiling subtle v2.6.1 Compiling untrusted v0.9.0 Compiling cc v1.2.62 Compiling autocfg v1.5.0 Compiling thiserror v2.0.18 Compiling httparse v1.10.1 Compiling crypto-common v0.1.7 Compiling rustls v0.23.42 Compiling getrandom v0.4.3 Compiling rand_core v0.10.1 Compiling num-traits v0.2.19 Compiling bitflags v2.13.0 Compiling getrandom v0.2.17 Compiling errno v0.3.14 Compiling mio v1.2.0 Compiling socket2 v0.6.3 Compiling signal-hook-registry v1.4.8 Compiling getrandom v0.3.4 Compiling http-body v1.0.1 Compiling cmake v0.1.58 Compiling rand_core v0.6.4 Compiling block-padding v0.3.3 Compiling hybrid-array v0.4.13 Compiling hex v0.4.3 Compiling bitcoin-io v0.1.4 Compiling tower-service v0.3.3 Compiling foldhash v0.2.0 Compiling inout v0.1.4 Compiling hashbrown v0.17.1 Compiling rand_core v0.9.5 Compiling block-buffer v0.10.4 Compiling iana-time-zone v0.1.65 Compiling try-lock v0.2.5 Compiling cmov v0.5.3 Compiling arrayvec v0.7.6 Compiling want v0.3.1 Compiling aws-lc-sys v0.41.0 Compiling ring v0.17.14 Compiling secp256k1-sys v0.10.1 Compiling ctutils v0.4.2 Compiling hex-conservative v0.2.2 Compiling crypto-common v0.2.2 Compiling block-buffer v0.12.0 Compiling digest v0.10.7 Compiling cipher v0.4.4 Compiling sync_wrapper v1.0.2 Compiling ryu v1.0.23 Compiling equivalent v1.0.2 Compiling cpufeatures v0.3.0 Compiling tower-layer v0.3.3 Compiling httpdate v1.0.3 Compiling atomic-waker v1.1.2 Compiling const-oid v0.10.2 Compiling chacha20 v0.9.1 Compiling indexmap v2.14.0 Compiling sha1 v0.10.6 Compiling data-encoding v2.11.0 Compiling bech32 v0.11.1 Compiling ipnet v2.12.0 Compiling digest v0.11.3 Compiling synstructure v0.13.2 Compiling http-body-util v0.1.3 Compiling aho-corasick v1.1.4 Compiling ppv-lite86 v0.2.21 Compiling cfg_aliases v0.2.1 Compiling openssl-probe v0.2.1 Compiling regex-syntax v0.8.10 Compiling nix v0.31.3 Compiling sha2 v0.11.0 Compiling rand_chacha v0.3.1 Compiling rand v0.8.6 Compiling rand_chacha v0.9.0 Compiling rand v0.9.4 Compiling unsafe-libyaml v0.2.11 Compiling uuid v1.23.1 Compiling regex-automata v0.4.14 Compiling zerofrom-derive v0.1.7 Compiling serde_derive v1.0.228 Compiling yoke-derive v0.8.2 Compiling zeroize_derive v1.5.0 Compiling zerovec-derive v0.11.3 Compiling zerofrom v0.1.8 Compiling displaydoc v0.2.5 Compiling zeroize v1.9.0 Compiling yoke v0.8.2 Compiling tokio-macros v2.7.0 Compiling futures-macro v0.3.32 Compiling zerovec v0.11.6 Compiling zerotrie v0.2.4 Compiling rustls-pki-types v1.14.1 Compiling tokio v1.52.3 Compiling tracing-attributes v0.1.31 Compiling futures-util v0.3.32 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling icu_collections v2.2.0 Compiling icu_locale_core v2.2.0 Compiling thiserror-impl v2.0.18 Compiling webpki-roots v1.0.7 Compiling webpki-roots v0.26.11 Compiling rustls-native-certs v0.8.3 Compiling icu_provider v2.2.0 Compiling icu_normalizer v2.2.0 Compiling icu_properties v2.2.0 Compiling tracing v0.1.44 Compiling chrono v0.4.45 Compiling bitcoin_hashes v0.14.1 Compiling secp256k1 v0.29.1 Compiling serde_urlencoded v0.7.1 Compiling serde_yaml v0.9.34+deprecated Compiling idna_adapter v1.2.2 Compiling idna v1.1.0 Compiling utf8parse v0.2.2 Compiling strsim v0.11.1 Compiling ident_case v1.0.1 Compiling darling_core v0.23.0 Compiling url v2.5.8 Compiling anstyle-parse v1.0.0 Compiling chacha20 v0.10.0 Compiling hyper v1.9.0 Compiling hyper-util v0.1.20 Compiling tower v0.5.3 Compiling nostr v0.44.6 Compiling tower-http v0.6.11 Compiling ref-cast v1.0.25 Compiling is_terminal_polyfill v1.70.2 Compiling colorchoice v1.0.5 Compiling lazy_static v1.5.0 Compiling anstyle-query v1.1.5 Compiling anstyle v1.0.14 Compiling sharded-slab v0.1.7 Compiling anstream v1.0.0 Compiling darling_macro v0.23.0 Compiling rand v0.10.1 Compiling tokio-util v0.7.18 Compiling futures-executor v0.3.32 Compiling tracing-serde v0.2.0 Compiling matchers v0.2.0 Compiling ref-cast-impl v1.0.25 Compiling hmac v0.13.0 Compiling serde_derive_internals v0.29.1 Compiling tracing-log v0.2.0 Compiling thread_local v1.1.9 Compiling heck v0.5.0 Compiling nu-ansi-term v0.50.3 Compiling clap_lex v1.1.0 Compiling clap_builder v4.6.0 Compiling tracing-subscriber v0.3.23 Compiling clap_derive v4.6.1 Compiling schemars_derive v1.2.1 Compiling futures v0.3.32 Compiling darling v0.23.0 Compiling simd-adler32 v0.3.9 Compiling crossbeam-utils v0.8.21 Compiling rmcp v1.7.0 Compiling buzz-core v0.1.0 (/build/source/crates/buzz-core) Compiling dyn-clone v1.0.20 Compiling crc32fast v1.5.0 Compiling process-wrap v9.1.0 Compiling buzz-persona v0.1.0 (/build/source/crates/buzz-persona) Compiling rmcp-macros v1.7.0 Compiling schemars v1.2.1 Compiling buzz-sdk v0.1.0 (/build/source/crates/buzz-sdk) Compiling clap v4.6.1 Compiling tokio-stream v0.1.18 Compiling async-trait v0.1.89 Compiling fnv v1.0.7 Compiling crossbeam-epoch v0.9.20 Compiling pastey v0.2.3 Compiling rustversion v1.0.22 Compiling adler2 v2.0.1 Compiling byteorder v1.5.0 Compiling option-ext v0.2.0 Compiling dirs-sys v0.5.0 Compiling cfb v0.7.3 Compiling miniz_oxide v0.8.9 Compiling rustix v1.1.4 Compiling mime v0.3.17 Compiling axum-core v0.5.6 Compiling flate2 v1.1.9 Compiling infer v0.19.0 Compiling dirs v6.0.0 Compiling fdeflate v0.3.7 Compiling axum-macros v0.5.1 Compiling diffy v0.5.0 Compiling serde_path_to_error v0.1.20 Compiling bstr v1.12.1 Compiling same-file v1.0.6 Compiling anyhow v1.0.103 Compiling linux-raw-sys v0.12.1 Compiling winnow v1.0.3 Compiling quick-error v2.0.1 Compiling color_quant v1.1.0 Compiling byteorder-lite v0.1.0 Compiling matchit v0.8.4 Compiling pxfm v0.1.29 Compiling zune-core v0.5.1 Compiling weezl v0.1.12 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling image-webp v0.2.4 Compiling zune-jpeg v0.5.15 Compiling gif v0.14.2 Compiling globset v0.4.18 Compiling walkdir v2.5.0 Compiling png v0.18.1 Compiling arc-swap v1.9.1 Compiling crossbeam-deque v0.8.6 Compiling moxcms v0.8.1 Compiling git-credential-nostr v0.1.0 (/build/source/crates/git-credential-nostr) Compiling webbrowser v1.2.1 Compiling toml_datetime v1.1.1+spec-1.1.0 Compiling serde_spanned v1.1.1 Compiling toml_writer v1.1.1+spec-1.1.0 Compiling urlencoding v2.1.3 Compiling fastrand v2.4.1 Compiling bytemuck v1.25.0 Compiling toml v1.1.2+spec-1.1.0 Compiling tempfile v3.27.0 Compiling ignore v0.4.25 Compiling git-sign-nostr v0.1.0 (/build/source/crates/git-sign-nostr) Compiling similar v3.1.0 Compiling evalexpr v11.3.1 Compiling image v0.25.10 Compiling rustls-webpki v0.103.13 Compiling tokio-rustls v0.26.4 Compiling tungstenite v0.29.0 Compiling rustls-platform-verifier v0.7.0 Compiling hyper-rustls v0.27.9 Compiling reqwest v0.13.4 Compiling tokio-tungstenite v0.29.0 Compiling buzz-ws-client v0.1.0 (/build/source/crates/buzz-ws-client) Compiling axum v0.8.9 Compiling buzz-cli v0.1.0 (/build/source/crates/buzz-cli) Compiling buzz-acp v0.1.0 (/build/source/crates/buzz-acp) Compiling buzz-agent v0.1.0 (/build/source/crates/buzz-agent) Compiling buzz-dev-mcp v0.1.0 (/build/source/crates/buzz-dev-mcp) Finished `release` profile [optimized] target(s) in 3m 31s Executing cargoInstallPostBuildHook Finished cargoInstallPostBuildHook Finished cargoBuildHook buildPhase completed in 3 minutes 32 seconds Running phase: checkPhase Executing cargoCheckHook cargoCheckHook flags: -j 12 --profile release --target x86_64-unknown-linux-gnu --offline -p buzz-acp -p buzz-agent -p buzz-dev-mcp -p git-credential-nostr -p buzz-cli -- --skip=steer_rejected_on_run_id_mismatch Compiling tokio v1.52.3 Compiling git-credential-nostr v0.1.0 (/build/source/crates/git-credential-nostr) Compiling tokio-rustls v0.26.4 Compiling hyper v1.9.0 Compiling tower v0.5.3 Compiling tokio-util v0.7.18 Compiling tokio-stream v0.1.18 Compiling process-wrap v9.1.0 Compiling tokio-tungstenite v0.29.0 Compiling buzz-ws-client v0.1.0 (/build/source/crates/buzz-ws-client) Compiling tower-http v0.6.11 Compiling rmcp v1.7.0 Compiling hyper-util v0.1.20 Compiling hyper-rustls v0.27.9 Compiling axum v0.8.9 Compiling reqwest v0.13.4 Compiling buzz-cli v0.1.0 (/build/source/crates/buzz-cli) Compiling buzz-acp v0.1.0 (/build/source/crates/buzz-acp) Compiling buzz-agent v0.1.0 (/build/source/crates/buzz-agent) Compiling buzz-dev-mcp v0.1.0 (/build/source/crates/buzz-dev-mcp) Finished `release` profile [optimized] target(s) in 2m 55s Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_acp-698314f5cc23ec40) running 632 tests test acp::tests::active_run_id_sets_on_string ... ok test acp::tests::agent_error_from_json_uses_message_field_when_present ... ok test acp::tests::agent_error_from_json_falls_back_to_full_json_when_message_missing ... ok test acp::tests::build_codex_config_env_errors_on_invalid_parent_json ... ok test acp::tests::active_run_id_clears_on_null ... ok test acp::tests::build_codex_config_env_errors_on_non_object_persona_json ... ok test acp::tests::build_codex_config_env_errors_on_non_object_sandbox_workspace_write ... ok test acp::tests::active_run_id_untouched_when_missing ... ok test acp::tests::build_codex_config_env_errors_on_invalid_persona_json ... ok test acp::tests::build_codex_config_env_nested_persona_keys_survive_when_parent_has_same_top_level_key ... ok test acp::tests::build_codex_config_env_parent_env_wins_on_collisions_persona_keys_survive ... ok test acp::tests::build_codex_config_env_persona_keys_survive_merge ... ok test acp::tests::build_codex_config_env_parent_has_existing_sandbox_other_keys_survive ... ok test acp::tests::build_codex_config_env_generated_only_single_entry_with_signal_true_merges_with_parent ... ok test acp::tests::build_codex_config_env_persona_only_signal_false_returns_none ... ok test acp::tests::build_codex_config_env_sets_network_access_from_scratch ... ok test acp::tests::build_codex_config_env_returns_none_for_persona_only_no_generated_overlay ... ok test acp::tests::agent_request_with_matching_id_not_consumed_as_response ... ok test acp::tests::build_codex_config_env_returns_none_when_no_codex_config_in_extra_env ... ok test acp::tests::extract_model_config_options_empty_when_no_config_options ... ok test acp::tests::extract_model_config_options_empty_when_no_model_category ... ok test acp::tests::extract_model_config_options_finds_model_category ... ok test acp::tests::extract_model_state_returns_models_object ... ok test acp::tests::active_run_id_untouched_on_wrong_type ... ok test acp::tests::extract_model_state_none_when_absent ... ok test acp::tests::find_allow_once_by_kind_not_by_option_id ... ok test acp::tests::find_allow_once_returns_none_when_absent ... ok test acp::tests::find_reject_once_fallback_when_no_allow_once ... ok test acp::tests::agent_request_not_consumed_via_send_request ... ok test acp::tests::goose_system_prompt_preserves_invalid_params_as_error ... ok test acp::tests::goose_system_prompt_preserves_method_not_found_for_fallback ... ok test acp::tests::goose_system_prompt_request_uses_append_contract ... ok test acp::tests::goose_usage_malformed_notification_does_not_panic ... ok test acp::tests::goose_usage_second_turn_delta_reliable ... ok test acp::tests::hard_timeout_error_display ... ok test acp::tests::goose_usage_notification_recorded_and_take_returns_usage ... ok test acp::tests::id_comparison_works_for_numeric_and_string ... ok test acp::tests::hard_timeout_fires_when_deadline_is_immediate ... ok test acp::tests::idle_timeout_error_includes_duration ... ok test acp::tests::agent_exit_detected_as_eof ... ok test acp::tests::initialize_leaves_steering_unsupported_when_explicitly_false ... ok test acp::tests::initialize_leaves_steering_unsupported_when_meta_absent ... ok test acp::tests::initialize_records_steering_supported_when_advertised ... ok test acp::tests::initialize_request_format ... ok test acp::tests::idle_fires_before_hard_when_idle_is_shorter ... ok test acp::tests::model_in_catalog_false_when_absent_from_both_halves ... ok test acp::tests::model_in_catalog_false_when_both_halves_empty ... ok test acp::tests::model_in_catalog_true_when_in_available_models ... ok test acp::tests::model_in_catalog_true_when_in_config_options ... ok test acp::tests::idle_timeout_fires_on_silent_process ... ok test acp::tests::cancel_with_cleanup_grace_maps_expiry_to_cancel_drain_timeout ... ok test acp::tests::notification_has_no_id_field ... ok test acp::tests::permission_cancelled_response_preserves_id_type ... ok test acp::tests::permission_request_with_string_id ... ok test acp::tests::permission_response_cancelled_format ... ok test acp::tests::permission_response_selected_format ... ok test acp::tests::request_has_id_field ... ok test acp::tests::resolve_accepts_id_keyed_config_options ... ok test acp::tests::resolve_falls_back_to_unstable ... ok test acp::tests::resolve_handles_multiple_config_options ... ok test acp::tests::resolve_prefers_stable_over_unstable ... ok test acp::tests::resolve_returns_none_when_no_match ... ok test acp::tests::resolve_returns_none_when_no_model_info ... ok test acp::tests::response_returned_when_matching_id_arrives ... ok test acp::tests::session_cancel_notification_has_session_id_in_params ... ok test acp::tests::session_new_full_includes_system_prompt_when_some ... ok test acp::tests::session_new_full_omits_meta_when_session_title_none ... ok test acp::tests::session_new_full_omits_system_prompt_when_none ... ok test acp::tests::session_new_full_sends_session_title_in_meta_when_some ... ok test acp::tests::session_new_mcp_server_has_required_fields ... ok test acp::tests::session_prompt_request_format ... ok test acp::tests::session_prompt_slash_command_two_block_format ... ok test acp::tests::spawn_applies_runtime_env_defaults_with_extra_env_precedence ... ok test acp::tests::hard_deadline_fires_under_continuous_valid_json_stream ... ok test acp::tests::native_steer_with_no_active_run_id_acks_expected_run_id_missing ... ok test acp::tests::stop_reason_is_case_insensitive ... ok test acp::tests::stop_reason_parses_all_known_values ... ok test acp::tests::stop_reason_returns_none_for_unknown ... ok test acp::tests::idle_resets_on_stdout_activity ... ok test agent_draft_prompt_tests::shared_base_prompt_teaches_portable_agent_drafts ... ok test agent_draft_prompt_tests::shared_base_prompt_teaches_real_newlines_for_multiline_messages ... ok test agent_draft_prompt_tests::shared_base_prompt_teaches_single_command_mentions_and_preflight ... ok test author_gate_tests::test_allowlist_accepts_explicit_external_pubkey ... ok test author_gate_tests::test_allowlist_accepts_owner ... ok test author_gate_tests::test_allowlist_accepts_sibling_not_in_allowlist ... ok test author_gate_tests::test_allowlist_rejects_non_sibling_not_in_allowlist ... ok test acp::tests::acp_steer_failed_outcome_acks_outcome_rejected ... ok test acp::tests::acp_steer_request_omits_expected_run_id_and_carries_session_and_prompt ... ok test acp::tests::acp_steer_missing_outcome_acks_outcome_rejected_and_never_drops_event ... ok test author_gate_tests::test_dm_nobody_rejects_even_owner ... ok test author_gate_tests::test_dm_rejects_allowlisted_external_pubkey ... ok test author_gate_tests::test_dm_rejects_stranger_under_anyone ... ok test author_gate_tests::test_dm_admits_owner_and_sibling_in_every_responding_mode ... ok test acp::tests::goose_transport_wins_when_both_run_id_and_capability_present ... ok test author_gate_tests::test_is_dm_channel_lazy_resolves_declared_dm_and_caches_it ... ok test author_gate_tests::test_is_dm_channel_uses_definitive_startup_metadata ... ok test author_gate_tests::test_owner_only_rejects_stranger_so_no_steer ... ok test build_mcp_servers_tests::absolute_path_mcp_command_uses_file_stem_as_name ... ok test author_gate_tests::test_owner_only_admits_owner_and_sibling_to_steer ... ok test build_mcp_servers_tests::empty_mcp_command_returns_no_servers ... ok test build_mcp_servers_tests::mcp_command_with_no_stem_falls_back_to_mcp ... ok test build_mcp_servers_tests::session_new_mcp_server_forwards_buzz_auth_tag ... ok test build_mcp_servers_tests::session_new_mcp_server_has_required_fields ... ok test build_mcp_servers_tests::session_new_mcp_server_skips_empty_buzz_auth_tag ... ok test build_mcp_servers_tests::test_display_name_empty_omits_the_key_entirely ... ok test build_mcp_servers_tests::test_display_name_set_is_forwarded_to_mcp_server ... ok test build_mcp_servers_tests::test_display_name_unset_omits_the_key_entirely ... ok test config::tests::allowed_respond_to_accepts_allowed_mode ... ok test config::tests::allowed_respond_to_empty_allows_all ... ok test config::tests::allowed_respond_to_full_path_accepts_allowed_mode ... ok test config::tests::allowed_respond_to_full_path_rejects_disallowed_mode ... ok test config::tests::allowed_respond_to_full_path_unset_allows_all ... ok test config::tests::allowed_respond_to_rejects_disallowed_mode ... ok test config::tests::allowed_respond_to_rejects_invalid_mode_string ... ok test config::tests::allowed_respond_to_summary_omitted_when_empty ... ok test config::tests::allowed_respond_to_summary_shows_restriction_when_set ... ok test config::tests::codex_network_env_bare_codex_command ... ok test config::tests::codex_network_env_empty_relay_url_returns_none ... ok test config::tests::codex_network_env_full_path_codex_command ... ok test config::tests::codex_network_env_http_url_with_port ... ok test config::tests::codex_network_env_https_url ... ok test config::tests::codex_network_env_includes_sandbox_network_access ... ok test config::tests::codex_network_env_non_codex_agent_returns_none ... ok test config::tests::codex_network_env_schemeless_string_returns_none ... ok test config::tests::codex_network_env_ws_url ... ok test config::tests::codex_network_env_wss_url ... ok test config::tests::compose_session_title_drops_the_channel_when_the_agent_name_fills_the_cap ... ok test config::tests::compose_session_title_falls_back_to_bare_agent_name_without_a_channel ... ok test config::tests::compose_session_title_qualifies_the_agent_name_with_the_channel ... ok test config::tests::compose_session_title_truncates_the_channel_and_keeps_the_agent_name ... ok test config::tests::default_agent_env_recognizes_hermes_identities ... ok test config::tests::default_idle_timeout_is_900_seconds ... ok test config::tests::idle_timeout_explicit_wins_over_deprecated ... ok test config::tests::idle_timeout_falls_back_to_deprecated_turn_timeout ... ok test config::tests::idle_timeout_must_be_less_than_max_turn_duration ... ok test config::tests::idle_timeout_zero_clamped_to_one ... ok test config::tests::idle_timeout_zero_from_deprecated_clamped_to_one ... ok test config::tests::lazy_pool_cli_flag_enables_deferred_startup ... ok test config::tests::idle_timeout_defaults_to_constant_when_neither_set ... ok test config::tests::lazy_pool_defaults_off ... ok test config::tests::max_turn_duration_above_ceiling_is_rejected ... ok test config::tests::max_turn_duration_at_ceiling_is_accepted ... ok test config::tests::max_turn_duration_ceiling_cannot_overflow_in_flight_deadline ... ok test config::tests::normalize_agent_command_identity_variants ... ok test config::tests::normalizes_buzz_agent_args_to_empty ... ok test config::tests::normalizes_codex_and_claude_args_to_empty ... ok test config::tests::normalizes_goose_args_to_acp ... ok test config::tests::preserves_explicit_nonempty_agent_args ... ok test config::tests::sanitize_session_title_collapses_whitespace_and_strips_control_chars ... ok test config::tests::sanitize_session_title_does_not_leave_a_trailing_space_after_the_cap ... ok test config::tests::sanitize_session_title_returns_none_when_nothing_printable_remains ... ok test config::tests::secret_env_args_hide_their_values_in_help ... ok test config::tests::strips_legacy_acp_arg_case_insensitively ... ok test config::tests::test_all_mode_wildcard ... ok test config::tests::test_all_mode_with_kinds_override ... ok test config::tests::sanitize_session_title_caps_length_without_splitting_multibyte_chars ... ok test config::tests::test_channels_override_filters_to_discovered ... ok test config::tests::test_config_mode_merge_overlapping_rules ... ok test config::tests::test_config_mode_no_matching_rules_empty_result ... ok test config::tests::test_config_mode_rule_targets_specific_channel ... ok test config::tests::test_config_mode_single_rule_all_channels ... ok test config::tests::test_config_mode_require_mention_most_permissive ... ok test config::tests::test_config_summary_includes_idle_and_max_turn ... ok test config::tests::test_config_mode_wildcard_kinds_propagates ... ok test config::tests::test_default_config_uses_bypass_permissions ... ok test config::tests::test_heartbeat_interval_large_ok ... ok test config::tests::test_heartbeat_interval_five_rejected ... ok test config::tests::test_heartbeat_interval_one_rejected ... ok test config::tests::test_heartbeat_interval_nine_rejected ... ok test config::tests::test_heartbeat_interval_zero_ok ... ok test config::tests::test_heartbeat_interval_ten_ok ... ok test acp::tests::tool_call_resets_idle_then_silence_times_out ... ok test config::tests::test_load_rules_duplicate_name_rejected ... ok test config::tests::test_load_rules_channel_scope_typo_rejected ... ok test config::tests::test_load_rules_empty_name_rejected ... ok test config::tests::test_load_rules_filter_too_long_rejected ... ok test config::tests::test_load_rules_invalid_filter_rejected ... ok test config::tests::test_load_rules_too_many_rules_rejected ... ok test config::tests::test_mentions_mode_custom_kinds ... ok test config::tests::test_load_rules_valid_toml ... ok test config::tests::test_memory_enabled_default_true ... ok test config::tests::test_mentions_mode_default_kinds ... ok test config::tests::test_mentions_mode_no_mention_filter ... ok test config::tests::test_multiple_event_handling_default_is_steer ... ok test config::tests::test_permission_mode_display ... ok test config::tests::test_permission_mode_is_default ... ok test config::tests::test_permission_mode_value_enum_camel_case_aliases ... ok test config::tests::test_permission_mode_value_enum_kebab_case ... ok test config::tests::test_permission_mode_wire_strings ... ok test config::tests::test_respond_to_default_is_owner_only ... ok test config::tests::test_respond_to_display ... ok test config::tests::test_respond_to_value_enum_parsing ... ok test config::tests::test_rule_applies_all ... ok test config::tests::test_rule_applies_all_invalid_string ... ok test config::tests::test_rule_applies_list_match ... ok test config::tests::test_rule_applies_list_no_match ... ok test config::tests::test_summary_includes_agents_and_heartbeat ... ok test config::tests::test_summary_includes_permission_mode ... ok test config::tests::test_summary_includes_respond_to ... ok test config::tests::test_summary_includes_memory_enabled ... ok test config::tests::test_summary_permission_mode_default ... ok test config::tests::test_summary_respond_to_allowlist_shows_count ... ok test config::tests::test_summary_reflects_custom_agents_and_heartbeat ... ok test config::tests::test_summary_reflects_memory_enabled ... ok test config::tests::test_turn_liveness_one_rejected ... ok test config::tests::test_turn_liveness_five_ok ... ok test config::tests::test_turn_liveness_four_rejected ... ok test config::tests::test_turn_liveness_ten_ok ... ok test config::tests::test_validate_allowlist_empty_is_ok ... ok test config::tests::test_turn_liveness_zero_ok ... ok test config::tests::test_validate_allowlist_deduplicates ... ok test config::tests::test_validate_allowlist_normalizes_case ... ok test config::tests::test_validate_allowlist_rejects_short ... ok test config::tests::test_validate_allowlist_rejects_too_long ... ok test config::tests::test_validate_allowlist_trims_whitespace ... ok test config::tests::test_validate_allowlist_rejects_non_hex ... ok test config::tests::test_validate_allowlist_valid_entries ... ok test config::tests::test_validate_queue_handling_allows_any_dedup ... ok test config::tests::test_validate_interrupt_modes_still_require_queue ... ok test config::tests::test_validate_steer_requires_queue_dedup ... ok test engram_fetch::tests::decode_empty_array_is_confirmed_absence ... ok test engram_fetch::tests::decode_undecryptable_candidate_is_err_not_absent ... ok test engram_fetch::tests::decode_non_core_body_is_absent ... ok test engram_fetch::tests::decode_unparseable_candidates_is_err ... ok test engram_fetch::tests::decode_valid_core_returns_profile ... ok test error_outcome_emission_tests::agent_exited_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::application_error_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::auth_error_dead_letters_immediately_without_requeueing ... ok test error_outcome_emission_tests::cancel_drain_timeout_dropped_stop_batch_none_same_neutral_payload ... ok test error_outcome_emission_tests::cancel_drain_timeout_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::cancel_drain_timeout_requeues_batch_and_does_not_return_agent ... ok test error_outcome_emission_tests::hard_timeout_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::hard_timeout_recently_active_requeue_success_reports_requeued_for_retry ... ok test error_outcome_emission_tests::hard_timeout_recently_active_budget_exhausted_reports_dead_lettered ... ok test error_outcome_emission_tests::hard_timeout_not_requeued_idle_timeout_is_requeued ... ok test error_outcome_emission_tests::is_auth_error_matches_401_message ... ok test error_outcome_emission_tests::is_auth_error_matches_reauthenticate_message ... ok test error_outcome_emission_tests::is_auth_error_rejects_other_agent_error_message ... ok test error_outcome_emission_tests::hard_timeout_recently_active_requeues_batch ... ok test error_outcome_emission_tests::is_auth_error_rejects_transport_errors ... ok test error_outcome_emission_tests::normalizes_agent_name_from_initialize_result ... ok test error_outcome_emission_tests::idle_timeout_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::panic_event_retains_task_turn_id ... ok test error_outcome_emission_tests::non_auth_application_error_is_requeued ... ok test filter::tests::test_channel_scope_all ... ok test filter::tests::test_channel_scope_all_invalid_string ... ok test error_outcome_emission_tests::transport_error_emits_exactly_one_feed_event ... ok test filter::tests::test_channel_scope_list ... ok test filter::tests::test_consecutive_timeouts_disables_rule ... ok test filter::tests::test_evaluate_filter_kind_check ... ok test filter::tests::test_evaluate_filter_precompiled_node ... ok test filter::tests::test_evaluate_filter_str_contains ... ok test filter::tests::test_evaluate_filter_too_long ... ok test filter::tests::test_filter_context_from_event ... ok test filter::tests::test_match_event_first_match_wins ... ok test error_outcome_emission_tests::timeout_outcome_labels_differ ... ok test filter::tests::test_match_event_kind_filter ... ok test filter::tests::test_match_event_no_match ... ok test filter::tests::test_filter_error_fails_closed_no_fallthrough ... ok test filter::tests::test_prompt_tag_falls_back_to_name ... ok test filter::tests::test_match_event_require_mention ... ok test heartbeat_base_prompt_tests::test_heartbeat_legacy_agent_gets_base_prepended ... ok test heartbeat_base_prompt_tests::test_heartbeat_modern_agent_omits_base ... ok test observer_chunk_coalescer_tests::keeps_independent_chunk_streams_separate ... ok test observer_chunk_coalescer_tests::coalesces_chunks_until_non_chunk_event ... ok test observer_payload_trim_tests::test_coalesced_chunk_nested_leaf_is_reached_by_recursive_walk ... ok test observer_payload_trim_tests::test_leaf_too_small_to_shrink_is_not_mutated ... ok test observer_payload_trim_tests::test_many_medium_leaves_terminate_via_stub ... ok test observer_payload_trim_tests::test_multi_block_prompt_retains_every_section_header_after_elision ... ok test observer_payload_trim_tests::test_single_giant_leaf_is_elided_to_fit_with_envelope_intact ... ok test observer_payload_trim_tests::test_multi_leaf_elides_largest_shrinkable_first_and_stops_when_it_fits ... ok test observer_payload_trim_tests::test_under_budget_frame_passes_through_byte_identical ... ok test observer_publish_pacer_tests::limits_frames_in_each_rolling_minute ... ok test observer_payload_trim_tests::test_utf8_multibyte_leaf_elides_on_char_boundary ... ok test owner_cache_tests::get_returns_cached_value ... ok test observer_publish_pacer_tests::starts_without_a_burst_and_spaces_frames ... ok test owner_cache_tests::new_with_none_returns_none ... ok test owner_cache_tests::new_with_some_caches_immediately ... ok test owner_control_command_tests::mode_gate_signal_maps_handling_to_control_signal ... ok test observer_snapshot_race_tests::overlap_between_subscribe_and_snapshot_publishes_exactly_once ... ok test owner_control_command_tests::owner_control_command_requires_kind_content_and_agent_mention ... ok test owner_control_command_tests::signal_in_flight_task_sends_rotate_once ... ok test pool::tests::test_acp_stop_to_core_maps_all_variants ... ok test pool::tests::test_cancel_after_natural_completion_preserves_channel_state ... ok test pool::tests::test_canvas_section_from_query_response_blank_content_returns_none ... ok test pool::tests::goose_uses_system_prompt_only_after_custom_method_succeeds ... ok test pool::tests::test_canvas_section_from_query_response_happy_path ... ok test pool::tests::test_canvas_section_from_query_response_empty_array_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_empty_content_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_missing_timestamp_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_partial_object_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_string_timestamp_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_tampered_event_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_timestamp_max_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_wrong_kind_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_timestamp_uses_z_suffix ... ok test pool::tests::test_canvas_section_from_query_response_wrong_h_tag_returns_none ... ok test pool::tests::test_collect_prompt_pubkeys_includes_authors_mentions_and_context ... ok test pool::tests::test_framed_system_prompt_base_only_labels_base ... ok test pool::tests::test_framed_system_prompt_absolute_cwd_prepends_workspace_before_base ... ok test pool::tests::test_framed_system_prompt_both_present_carries_both_headers ... ok test pool::tests::test_framed_system_prompt_neither_is_none ... ok test pool::tests::test_framed_system_prompt_persona_only_labels_system ... ok test pool::tests::test_framed_system_prompt_persona_only_omits_workspace ... ok test pool::tests::test_has_channel_state_true_when_only_canvas_section_present ... ok test pool::tests::test_framed_system_prompt_root_cwd_omits_workspace ... ok test pool::tests::test_initial_message_legacy_agent_gets_base_prepended ... ok test pool::tests::test_initial_message_legacy_agent_gets_canvas_prepended ... ok test pool::tests::test_initial_message_legacy_agent_no_canvas_is_unchanged ... ok test pool::tests::test_initial_message_legacy_agent_without_base_is_unchanged ... ok test pool::tests::test_initial_message_legacy_canvas_and_base_compose_correctly ... ok test pool::tests::test_initial_message_modern_agent_omits_base ... ok test pool::tests::test_initial_message_modern_agent_omits_canvas_from_body ... ok test pool::tests::test_classify_control_cancel_failure_crosses_error_outcome_and_batch_fate ... ok test pool::tests::test_invalidate_all_clears_everything ... ok test pool::tests::test_invalidate_all_on_empty_state_is_noop ... ok test pool::tests::test_invalidate_all_clears_canvas_sections ... ok test pool::tests::test_invalidate_channel_clears_session_and_turn_count ... ok test pool::tests::test_invalidate_channel_clears_canvas_section ... ok test pool::tests::test_invalidate_channel_returns_false_when_no_session ... ok test pool::tests::test_invalidate_channel_returns_true_when_session_existed ... ok test pool::tests::test_invalidate_channel_leaves_other_channels_canvas_intact ... ok test pool::tests::test_invalidate_heartbeat_clears_session_and_turn_count ... ok test pool::tests::test_json_to_context_message_missing_content ... ok test pool::tests::test_invalidate_nonexistent_channel_is_noop ... ok test pool::tests::test_json_to_context_message_integer_timestamp ... ok test pool::tests::test_json_to_context_message_string_timestamp ... ok test pool::tests::test_json_to_context_message_missing_pubkey_uses_default ... ok test pool::tests::test_liveness_backfills_session_id_after_resolution ... ok test pool::tests::test_liveness_disabled_when_interval_zero_emits_nothing ... ok test pool::tests::test_liveness_emits_nothing_once_closed_flag_is_set ... ok test pool::tests::test_liveness_fires_until_guard_drops ... ok test pool::tests::test_liveness_stops_before_completion_frame ... ok test pool::tests::test_liveness_without_observer_emits_nothing ... ok test pool::tests::test_new_session_channel_context_leaves_a_dm_unqualified ... ok test pool::tests::test_new_session_channel_context_qualifies_a_normal_channel ... ok test pool::tests::test_new_session_channel_context_treats_the_unknown_name_as_absent ... ok test pool::tests::test_parse_dm_response_basic ... ok test pool::tests::test_parse_dm_response_empty ... ok test pool::tests::test_parse_dm_response_missing_messages_key ... ok test pool::tests::test_parse_dm_response_not_truncated_despite_cursor ... ok test pool::tests::test_parse_dm_response_truncated ... ok test pool::tests::test_parse_kind0_profile_lookup_extracts_display_name_and_nip05 ... ok test acp::tests::acp_steer_started_new_turn_acks_success_without_renewing_hard_deadline ... ok test pool::tests::test_parse_kind0_profile_lookup_returns_none_for_empty ... ok test pool::tests::test_parse_thread_response_basic ... ok test pool::tests::test_parse_thread_response_empty ... ok test pool::tests::test_parse_thread_response_missing_fields ... ok test pool::tests::test_parse_thread_response_truncated ... ok test pool::tests::test_pct_encode_emoji_speech_balloon ... ok test pool::tests::test_pct_encode_empty ... ok test pool::tests::test_pct_encode_emoji ... ok test pool::tests::test_pct_encode_reserved_chars ... ok test pool::tests::test_pct_encode_hex_passthrough ... ok test pool::tests::test_pct_encode_unreserved_passthrough ... ok test pool::tests::test_profile_event_is_agent_detects_nip_oa_auth_tag ... ok test acp::tests::steer_writes_nothing_when_no_run_id_and_capability_absent ... ok test pool::tests::test_liveness_guard_drop_blocks_while_emit_lock_is_held ... ok test pool::tests::test_publish_agent_turn_metric_noop_on_no_owner ... ok test pool::tests::test_publish_agent_turn_metric_noop_on_no_usage ... ok test pool::tests::test_removed_channels_cleaned_via_invalidate_channel ... ok test pool::tests::test_render_canvas_section_produces_exact_shape ... ok test acp::tests::keepalive_resets_idle_past_deadline ... ok test pool::tests::test_rotate_after_natural_completion_invalidates_channel_state ... ok test pool::tests::test_requeue_cancelled_batch_maps_control_signal_to_cancel_reason ... ok test pool::tests::test_send_prompt_result_clears_steer_rx_on_early_return ... ok test pool::tests::test_switch_model_after_natural_completion_invalidates_channel_state ... ok test pool::tests::test_send_prompt_result_is_noop_when_steer_rx_already_consumed ... ok test pool::tests::test_with_canvas_returns_canvas_alone_when_no_prompt ... ok test pool::tests::test_with_canvas_appends_to_existing_prompt ... ok test pool::tests::test_with_canvas_returns_none_when_both_absent ... ok test pool::tests::test_with_canvas_returns_prompt_alone_when_no_canvas ... ok test pool::tests::test_with_core_appends_below_framed ... ok test pool::tests::test_with_core_core_only_is_just_core ... ok test pool::tests::test_with_core_framed_only_passes_through ... ok test pool::tests::test_with_core_neither_is_none ... ok test pool::tests::test_workspace_section_relative_cwd_is_none ... ok test pool_lifecycle::tests::cancelled_wake_enters_failed_and_can_retry ... ok test pool_lifecycle::tests::failed_state_preserves_attempt_deadline_and_error ... ok test pool_lifecycle::tests::failure_retries_only_when_work_exists_and_deadline_is_due ... ok test pool_lifecycle::tests::first_pending_event_starts_exactly_one_wake ... ok test pool_lifecycle::tests::retry_backoff_doubles_and_caps_at_five_minutes ... ok test pool_lifecycle::tests::stale_attempt_result_cannot_replace_current_wake ... ok test pool_lifecycle::tests::stale_or_duplicate_wake_result_is_rejected ... ok test pool_lifecycle::tests::successful_retry_consumes_pool_and_stops_future_wakes ... ok test queue::tests::compact_expired_state_preserves_extended_in_flight_deadline ... ok test queue::tests::default_in_flight_deadline_exceeds_default_max_turn_duration ... ok test queue::tests::expired_in_flight_deadline_is_auto_released_by_flush_next ... ok test pool_lifecycle::tests::take_ready_transfers_pool_exactly_once ... ok test queue::tests::extend_in_flight_deadline_advances_existing_entry ... ok test queue::tests::extend_in_flight_deadline_noop_after_mark_complete ... ok test queue::tests::extend_in_flight_deadline_is_monotonic ... ok test queue::tests::extended_deadline_prevents_flush_next_expiry ... ok test queue::tests::extended_deadline_prevents_has_flushable_work_expiry ... ok test queue::tests::test_anchor_agent_only_p_tags_do_not_flatten ... ok test queue::tests::repeated_extend_in_flight_deadline_is_monotonic ... ok test queue::tests::test_anchor_agent_sender_but_human_tagged_flattens ... ok test queue::tests::test_anchor_agent_to_agent_in_thread_is_none ... ok test queue::tests::test_anchor_agent_to_agent_top_level_is_none ... ok test queue::tests::test_anchor_human_in_thread_uses_root ... ok test queue::tests::test_anchor_human_top_level_uses_triggering_event ... ok test queue::tests::test_anchor_unknown_identity_treated_as_human ... ok test queue::tests::test_base_section_prepends_header_and_trims_trailing_whitespace ... ok test queue::tests::test_batch_drain_all_events ... ok test queue::tests::test_compact_cleans_orphaned_retry_counts ... ok test queue::tests::test_compact_preserves_retry_counts_when_in_flight ... ok test queue::tests::test_compact_preserves_retry_counts_with_queued_events ... ok test queue::tests::test_double_cancel_latest_reason_wins ... ok test queue::tests::test_double_cancel_preserves_all_events ... ok test queue::tests::test_drain_channel_clears_cancelled_batches ... ok test queue::tests::test_drain_channel_clears_retry_after ... ok test queue::tests::test_drain_channel_does_not_affect_in_flight ... ok test queue::tests::test_drain_channel_does_not_affect_other_channels ... ok test queue::tests::test_drain_channel_empty_returns_empty ... ok test queue::tests::test_drain_channel_removes_pending_events ... ok test queue::tests::test_drop_mode_discards_in_flight_events ... ok test queue::tests::test_drop_mode_drops_for_any_in_flight_channel ... ok test queue::tests::test_drop_mode_queues_other_channels ... ok test queue::tests::test_empty_queue_returns_none ... ok test queue::tests::test_extract_slash_command_basic ... ok test queue::tests::test_extract_slash_command_multi_word_display_name ... ok test queue::tests::test_fifo_fairness_picks_oldest_channel ... ok test queue::tests::test_extract_slash_command_rejects_non_commands ... ok test queue::tests::test_flush_next_picks_oldest_non_throttled ... ok test queue::tests::test_flush_orders_replayed_events_chronologically ... ok test queue::tests::test_format_event_block_always_includes_tags ... ok test queue::tests::test_format_event_block_includes_event_id ... ok test queue::tests::test_format_event_block_includes_hex_and_npub ... ok test queue::tests::test_format_prompt_batch ... ok test queue::tests::test_format_prompt_canvas_injected_for_legacy_agent ... ok test queue::tests::test_format_prompt_canvas_omitted_for_modern_agent ... ok test queue::tests::test_format_prompt_dm_reply_hints_get_thread ... ok test queue::tests::test_format_prompt_dm_scope ... ok test queue::tests::test_format_prompt_interrupt_framing ... ok test queue::tests::test_format_prompt_dm_non_reply_hints_get_messages ... ok test queue::tests::test_format_prompt_legacy_agent_emits_base_and_system ... ok test queue::tests::test_format_prompt_modern_agent_omits_core_from_user_message ... ok test queue::tests::test_format_prompt_modern_agent_suppresses_base_and_system ... ok test queue::tests::test_format_prompt_no_base_or_system_sections ... ok test queue::tests::test_format_prompt_no_canvas_produces_no_canvas_section ... ok test queue::tests::test_format_prompt_no_system_prompt_in_user_message ... ok test queue::tests::test_format_prompt_ordering_with_full_context ... ok test queue::tests::test_format_prompt_no_reason_defaults_to_steer_framing ... ok test queue::tests::test_format_prompt_single ... ok test queue::tests::test_format_prompt_steer_framing ... ok test queue::tests::test_format_prompt_thread_scope ... ok test queue::tests::test_format_prompt_steer_framing_multi_event ... ok test queue::tests::test_format_prompt_with_agent_core ... ok test queue::tests::test_format_prompt_with_channel_info ... ok test queue::tests::test_format_prompt_with_dm_context ... ok test queue::tests::test_format_prompt_with_profiles_prefers_display_names ... ok test queue::tests::test_format_prompt_with_thread_context ... ok test queue::tests::test_format_prompt_without_system_prompts_core_first ... ok test queue::tests::test_has_flushable_work ... ok test queue::tests::test_has_flushable_work_with_cancelled_only ... ok test queue::tests::test_human_thread_reply_anchors_to_root_not_triggering_or_parent ... ok test queue::tests::test_in_flight_blocks_same_channel ... ok test queue::tests::test_mark_complete_clears_only_specified_channel ... ok test queue::tests::test_mark_complete_enables_flush ... ok test queue::tests::test_multi_channel_interleave ... ok test queue::tests::test_multiple_channels_in_flight_simultaneously ... ok test queue::tests::test_native_steer_bulk_release_preserves_fifo ... ok test queue::tests::test_native_steer_earlier_events_flush_during_ack_window ... ok test queue::tests::test_native_steer_expiry_recovers_withheld ... ok test queue::tests::test_native_steer_withhold_only_channel_not_flushable ... ok test queue::tests::test_parse_thread_tags_direct_reply ... ok test queue::tests::test_parse_thread_tags_nested_reply ... ok test queue::tests::test_parse_thread_tags_root_only ... ok test queue::tests::test_parse_thread_tags_with_mentions ... ok test queue::tests::test_push_flush_basic ... ok test queue::tests::test_reply_instruction_absent_for_dm_non_reply ... ok test queue::tests::test_reply_instruction_allows_explicit_root_post_requests ... ok test queue::tests::test_parse_thread_tags_no_tags ... ok test queue::tests::test_reply_instruction_batched_last_event_is_threaded ... ok test queue::tests::test_reply_instruction_batched_last_event_is_top_level ... ok test queue::tests::test_reply_instruction_present_for_channel_thread_reply ... ok test queue::tests::test_reply_instruction_present_for_dm_thread_reply ... ok test queue::tests::test_reply_instruction_present_for_top_level_human_message ... ok test queue::tests::test_requeue_as_cancelled_merges_in_flush_next ... ok test queue::tests::test_requeue_as_cancelled_no_new_events_fallback ... ok test queue::tests::test_requeue_as_cancelled_propagates_reason ... ok test queue::tests::test_requeue_dead_letters_after_max_retries ... ok test queue::tests::test_requeue_interleaves_with_other_channels ... ok test queue::tests::test_requeue_preserve_timestamps ... ok test queue::tests::test_requeue_preserve_timestamps_no_retry_after ... ok test queue::tests::test_requeue_preserve_timestamps_enforces_cap ... ok test queue::tests::test_requeue_preserves_events ... ok test queue::tests::test_resolve_prompt_label_falls_back_to_nip05 ... ok test queue::tests::test_resolve_prompt_label_skips_whitespace_only_display_name ... ok test queue::tests::test_retry_throttle_blocks_requeue_channel ... ok test queue::tests::test_same_channel_not_flushed_twice ... ok test queue::tests::test_sanitize_prompt_label_strips_newlines_and_control_chars ... ok test queue::tests::test_sanitize_prompt_label_truncates_long_names ... ok test queue::tests::test_slash_command_for_batch_gating ... ok test queue::tests::test_steer_cross_thread_reply_targets_steering_message ... ok test queue::tests::test_steer_end_to_end_queue_to_rendered_prompt ... ok test queue::tests::with_in_flight_deadline_derives_from_max_turn_duration ... ok test relay::tests::acp_reconnect_uses_dropped_since_for_replay ... ok test relay::tests::acp_records_channel_dropped_since_on_backpressure ... ok test relay::tests::already_removed_channel_is_a_no_op ... ok test relay::tests::auth_required_is_not_dropped_and_reconnects ... ok test relay::tests::bg_state_dedup_different_ids_both_accepted ... ok test queue::tests::test_requeue_preserve_timestamps_overflow_keeps_requeued_events ... ok test relay::tests::bg_state_dedup_duplicate_rejected ... ok test relay::tests::bg_state_last_seen_advances_on_newer_event ... ok test relay::tests::bg_state_dedup_first_event_accepted ... ok test relay::tests::bg_state_last_seen_does_not_regress_on_older_event ... ok test relay::tests::bg_state_last_seen_independent_per_channel ... ok test relay::tests::bg_state_last_seen_set_on_first_event ... ok test relay::tests::bg_state_two_gen_dedup_duplicate_rejected_across_generations ... ok test relay::tests::bg_state_seen_ids_cleared_at_limit ... ok test relay::tests::channel_access_revoked_drops_channel_without_reconnect ... ok test relay::tests::channel_id_from_sub_id_empty ... ok test relay::tests::channel_id_from_sub_id_invalid_prefix ... ok test relay::tests::channel_id_from_sub_id_invalid_uuid ... ok test relay::tests::channel_id_from_sub_id_roundtrip ... ok test relay::tests::channel_sub_id_format ... ok test relay::tests::connect_error_classification_matches_every_relay_error_variant ... ok test relay::tests::bg_state_two_gen_dedup_no_amnesia_on_rotation ... ok test relay::tests::do_connect_wrong_scheme_is_terminal ... ok test relay::tests::dropped_channel_is_not_resubscribed_so_loop_cannot_re_form ... ok test relay::tests::dynamic_subscribe_records_membership_replay_floor ... ok test relay::tests::failed_replay_retains_deferred_subscription_intent_in_fifo_order ... ok test pool::tests::test_new_session_channel_context_attempts_an_unresolved_channel_once ... ok test acp::tests::acp_steer_injected_renews_hard_deadline_and_survives_past_original ... ok test relay::tests::insufficient_scope_is_not_dropped_and_reconnects ... ok test relay::tests::is_dns_error_classification ... ok test relay::tests::membership_backpressure_removes_dedup_id ... ok test relay::tests::membership_dedup_does_not_touch_last_seen ... ok test relay::tests::membership_resub_flag_set_on_rate_limited_closed ... ok test relay::tests::merge_discovered_channels_archived_false_is_kept ... ok test relay::tests::merge_discovered_channels_preserves_missing_metadata_as_unknown ... ok test relay::tests::merge_discovered_channels_skips_archived_even_when_still_a_member ... ok test relay::tests::merge_discovered_channels_skips_archived_metadata ... ok test relay::tests::merge_discovered_channels_uses_declared_dm_type_without_hidden_hint ... ok test relay::tests::not_a_channel_member_drops_channel_without_reconnect ... ok test relay::tests::gated_observer_queue_drops_oldest_on_overflow ... ok test relay::tests::observer_notice_requeues_unacknowledged_frames_and_ok_retires_them ... ok test relay::tests::observer_resub_flag_set_on_rate_limited_closed ... ok test relay::tests::parse_auth ... ok test relay::tests::parse_auth_missing_challenge_returns_error ... ok test relay::tests::parse_closed ... ok test relay::tests::parse_closed_no_message ... ok test relay::tests::parse_empty_array_returns_error ... ok test relay::tests::parse_eose ... ok test relay::tests::parse_eose_missing_sub_id_returns_error ... ok test relay::tests::parse_invalid_json_returns_error ... ok test relay::tests::parse_notice ... ok test relay::tests::parse_notice_empty ... ok test relay::tests::parse_ok_accepted ... ok test relay::tests::parse_ok_rejected ... ok test relay::tests::fresh_reconnect_preserves_gate_until_pending_replay_resumes ... ok test relay::tests::parse_rate_limit_retry_secs_garbage ... ok test relay::tests::parse_rate_limit_retry_secs_missing_hint ... ok test relay::tests::parse_rate_limit_retry_secs_with_hint ... ok test relay::tests::parse_rate_limit_retry_secs_zero ... ok test relay::tests::parse_unknown_type_returns_error ... ok test relay::tests::rate_limit_gate_extends_to_max ... ok test relay::tests::rate_limit_gate_set_and_expiry ... ok test relay::tests::rate_limited_pending_failure_requeues_with_penalty ... ok test relay::tests::relay_ws_to_http_plain ... ok test relay::tests::relay_ws_to_http_secure ... ok test relay::tests::relay_ws_to_http_strips_trailing_slash ... ok test relay::tests::relay_ws_to_http_with_path ... ok test relay::tests::relay_ws_to_http_with_port_and_path ... ok test relay::tests::resubscribe_retry_gate_rearm_moves_to_pending ... ok test relay::tests::resubscribe_retry_populated_on_failure ... ok test relay::tests::resubscribe_retry_success_clears_state ... ok test relay::tests::retry_initial_connect_does_not_retry_terminal_error ... ok test relay::tests::retry_initial_connect_exhausts_and_returns_last_error ... ok test relay::tests::retry_initial_connect_retries_relay_dependency_fault ... ok test relay::tests::retry_initial_connect_retries_transient_failure_then_succeeds ... ok test relay::tests::retry_initial_connect_sleeps_between_attempts ... ok test relay::tests::gated_observer_frame_is_parked_then_drained_not_dropped ... ok test relay::tests::subscription_id_contains_full_uuid ... ok test relay::tests::subscription_id_starts_with_ch_prefix ... ok test relay::tests::observer_frames_queue_behind_parked_backlog_in_order ... ok test setup_mode::tests::cli_login_availability_adapter_missing_survives_sentinel_round_trip ... ok test setup_mode::tests::cli_login_availability_available_survives_sentinel_round_trip ... ok test setup_mode::tests::cli_login_availability_cli_missing_survives_sentinel_round_trip ... ok test setup_mode::tests::cli_login_availability_not_installed_survives_sentinel_round_trip ... ok test setup_mode::tests::nudge_body_all_buzz_managed_retains_original_footer ... ok test setup_mode::tests::nudge_body_all_config_invalid_omits_edit_agent_footer ... ok test setup_mode::tests::nudge_body_codex_copy_does_not_mention_openai_api_key ... ok test setup_mode::tests::nudge_body_contains_sentinel_block ... ok test setup_mode::tests::nudge_body_empty_requirements_falls_back_to_generic ... ok test setup_mode::tests::nudge_body_git_bash_copy_points_to_agent_runtimes ... ok test setup_mode::tests::nudge_body_mixed_requirements_uses_split_footer ... ok test setup_mode::tests::nudge_body_names_all_requirements ... ok test setup_mode::tests::nudge_body_prose_still_present_with_sentinel ... ok test setup_mode::tests::nudge_body_runtime_install_copy_points_to_agent_runtimes ... ok test setup_mode::tests::nudge_body_sentinel_round_trips_payload ... ok test setup_mode::tests::setup_payload_deserializes_correctly ... ok test setup_mode::tests::setup_payload_deserializes_git_bash_requirement ... ok test setup_mode::tests::setup_payload_from_raw_returns_err_on_malformed_json ... ok test setup_mode::tests::setup_payload_from_raw_returns_none_on_empty_string ... ok test setup_mode::tests::setup_payload_from_raw_returns_none_when_absent ... ok test setup_mode::tests::test_non_allowlisted_author_returns_no_nudge ... ok test setup_mode::tests::test_same_event_id_twice_nudges_exactly_once ... ok test usage::tests::a_payload_without_the_cache_field_defaults_to_zero ... ok test usage::tests::begin_turn_then_take_without_record_returns_none ... ok test usage::tests::buzz_agent_notification_flows_through_tracker ... ok test usage::tests::buzz_agent_payload_no_context_fields_processes_correctly ... ok test usage::tests::cached_input_tokens_deserialize_from_the_wire_key ... ok test usage::tests::cost_absent_on_one_side_leaves_tokens_reliable ... ok test usage::tests::cost_decrease_sets_delta_unreliable_and_nulls_all_turn_fields ... ok test usage::tests::counter_decrease_delta_unreliable_no_negatives ... ok test usage::tests::cross_session_notification_does_not_corrupt_other_sessions_delta ... ok test usage::tests::first_turn_no_prior_delta_unreliable ... ok test usage::tests::last_update_wins_multiple_updates_same_turn ... ok test usage::tests::missing_accumulated_cost_is_none ... ok test usage::tests::model_none_when_payload_omits_model_field ... ok test usage::tests::model_threads_from_payload_to_turn_usage ... ok test usage::tests::notification_deserializes_from_wire_json ... ok test usage::tests::notification_deserializes_without_used_and_context_limit ... ok test usage::tests::other_variant_deserializes_without_error ... ok test usage::tests::record_outside_in_flight_does_not_clobber_pending ... ok test usage::tests::second_turn_delta_computed_correctly ... ok test usage::tests::session_restart_new_session_id_treated_as_first_turn ... ok test usage::tests::setup_notification_before_begin_turn_returns_none ... ok test usage::tests::take_returns_none_after_drain ... ok test relay::tests::publish_during_replay_pacing_is_sent_on_live_socket ... ok test relay::tests::unsubscribe_during_replay_pacing_sends_close_on_live_socket ... ok test acp::tests::steer_success_renews_hard_deadline_and_survives_past_original ... ok test relay::tests::subscribe_during_replay_pacing_is_sent_on_live_socket ... ok test acp::tests::native_steer_with_active_run_id_routes_response_to_ack ... ok test pool::tests::test_publish_agent_turn_metric_cancelled_stop_reason ... ok test pool::tests::test_publish_agent_turn_metric_buzz_agent_harness_name ... ok test pool::tests::test_publish_agent_turn_metric_encrypts_with_owner ... ok test author_gate_tests::test_is_dm_channel_fails_closed_for_unknown_startup_metadata ... ok test author_gate_tests::test_is_dm_channel_fails_closed_when_lazy_resolution_fails ... ok test author_gate_tests::test_discovery_without_metadata_stays_fail_closed_at_author_gate ... ok test result: ok. 632 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.25s Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_acp-22b7bea9af4a08cf) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/pool_lifecycle_state.rs (target/x86_64-unknown-linux-gnu/release/deps/pool_lifecycle_state-76318149a542d96c) running 9 tests test pool_lifecycle::tests::cancelled_wake_enters_failed_and_can_retry ... ok test pool_lifecycle::tests::failure_retries_only_when_work_exists_and_deadline_is_due ... ok test pool_lifecycle::tests::failed_state_preserves_attempt_deadline_and_error ... ok test pool_lifecycle::tests::retry_backoff_doubles_and_caps_at_five_minutes ... ok test pool_lifecycle::tests::first_pending_event_starts_exactly_one_wake ... ok test pool_lifecycle::tests::stale_attempt_result_cannot_replace_current_wake ... ok test pool_lifecycle::tests::take_ready_transfers_pool_exactly_once ... ok test pool_lifecycle::tests::successful_retry_consumes_pool_and_stops_future_wakes ... ok test pool_lifecycle::tests::stale_or_duplicate_wake_result_is_rejected ... ok test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_agent-a33d8ff9e7309dc8) running 305 tests test auth::tests::cache_path_includes_namespace_and_hash ... ok test auth::tests::cached_token_far_future_is_not_expired ... ok test auth::tests::cached_token_no_expiry_is_not_expired ... ok test auth::tests::cached_token_within_leeway_is_expired ... ok test auth::tests::pkce_pair_produces_valid_challenge ... ok test auth::tests::token_from_response_rejects_empty_access_token ... ok test builtin::tests::call_load_skill_missing_name_arg ... ok test auth::tests::token_from_response_rejects_missing_access_token ... ok test auth::tests::token_from_response_uses_fallback_refresh ... ok test builtin::tests::call_load_skill_no_supporting_files_error_message ... ok test builtin::tests::call_load_skill_appends_supporting_files_section ... ok test builtin::tests::call_load_skill_traversal_guard_rejects_escape ... ok test catalog::tests::is_chat_capable_endpoint_keeps_unrecognised_names ... ok test catalog::tests::v1_parse_errors_on_missing_endpoints_array ... ok test catalog::tests::v1_parse_empty_endpoints_returns_empty_vec ... ok test catalog::tests::v2_discovery_failure_fallback_dedupes_a_padded_configured_model ... ok test auth::tests::test_bearer_reuses_disk_token_after_expiry ... ok test catalog::tests::v1_parse_filters_ready_chat_endpoints ... ok test catalog::tests::v2_discovery_failure_fallback_leads_with_configured_model ... ok test catalog::tests::v2_discovery_failure_fallback_tolerates_blank_configured_model ... ok test catalog::tests::v2_endpoints_sort_newest_first_then_by_name ... ok test catalog::tests::v2_discovery_failure_fallback_does_not_duplicate_configured_model ... ok test builtin::tests::call_load_skill_skill_not_found ... ok test builtin::tests::call_load_skill_supporting_file_not_found_lists_available ... ok test builtin::tests::call_load_skill_returns_body_strips_frontmatter ... ok test builtin::tests::call_load_skill_truncates_large_body ... ok test catalog::tests::v2_parse_extracts_names_and_page_token ... ok test catalog::tests::v2_parse_errors_on_missing_endpoints_array ... ok test catalog::tests::v2_parse_empty_token_signals_last_page ... ok test catalog::tests::v2_parse_reads_created_timestamp_in_either_wire_shape ... ok test catalog::tests::v2_parse_drops_embedding_endpoints ... ok test config::tests::anthropic_thinking_config_arbitrary_prefix_stripped_for_opus_4_7 ... ok test config::tests::anthropic_thinking_config_claude3_emits_budget_tokens ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_opus_4_8 ... ok test auth::tests::test_bearer_falls_through_to_browser_when_disk_also_expired ... ok test config::tests::anthropic_thinking_config_fable_5_emits_adaptive_and_effort ... ok test catalog::tests::v2_parse_absent_token_signals_last_page ... ok test config::tests::anthropic_thinking_config_goose_prefix_stripped_for_fable_5 ... ok test builtin::tests::call_load_skill_supporting_file_returns_content ... ok test config::tests::anthropic_thinking_config_claude3_emits_thinking_at_boundary_2048 ... ok test config::tests::anthropic_thinking_config_goose_prefix_stripped_for_sonnet_5 ... ok test config::tests::anthropic_thinking_config_manual_bucket_max_clamps_to_high_budget ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_claude3 ... ok test builtin::tests::call_load_skill_no_supporting_files_section_when_empty ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_opus_4_7 ... ok test config::tests::anthropic_thinking_config_claude3_budget_uncapped_when_fits ... ok test config::tests::anthropic_thinking_config_manual_bucket_xhigh_clamps_to_high_budget ... ok test config::tests::anthropic_thinking_config_fable_5_max_passes_through ... ok test config::tests::anthropic_thinking_config_fable_5_xhigh_emits_xhigh ... ok test config::tests::anthropic_thinking_config_manual_budget_low_emits_1024_when_fits ... ok test config::tests::anthropic_thinking_config_mythos_preview_xhigh_clamps_to_high ... ok test config::tests::anthropic_thinking_config_opus_4_6_max_passes_through ... ok test config::tests::anthropic_thinking_config_opus_4_6_xhigh_clamps_to_high ... ok test config::tests::anthropic_thinking_config_opus_4_7_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_opus_4_7_xhigh_emits_xhigh_effort ... ok test config::tests::anthropic_thinking_config_opus_4_8_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_opus_4_8_max_emits_max_effort ... ok test config::tests::anthropic_thinking_config_opus_4_8_xhigh_emits_xhigh_effort ... ok test builtin::tests::call_load_skill_truncates_large_supporting_file ... ok test config::tests::anthropic_thinking_config_opus_4_5_omits_thinking_when_max_output_1025 ... ok test config::tests::anthropic_thinking_config_sonnet_4_6_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_sonnet_5_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_unknown_claude_omits_both_fields ... ok test config::tests::clamp_adaptive_effort_low_medium_high_never_clamped ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_fable_5 ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_mythos_5 ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_mythos_preview ... ok test config::tests::anthropic_thinking_config_claude3_omits_thinking_when_max_output_too_small ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_opus_4_6 ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_opus_4_7 ... ok test config::tests::clamp_adaptive_effort_max_passes_through_for_opus_4_8 ... ok test config::tests::anthropic_thinking_config_opus_4_5_budget_capped ... ok test config::tests::clamp_adaptive_effort_xhigh_clamped_to_high_for_mythos_preview ... ok test config::tests::clamp_adaptive_effort_xhigh_clamped_to_high_for_opus_4_6 ... ok test config::tests::anthropic_thinking_config_mythos_preview_max_passes_through ... ok test config::tests::clamp_adaptive_effort_xhigh_clamped_to_high_for_sonnet_4_6 ... ok test config::tests::anthropic_thinking_config_mythos_5_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_mythos_5_xhigh_emits_xhigh ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_fable_5 ... ok test config::tests::anthropic_thinking_config_mythos_preview_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_opus_4_5_emits_manual_budget ... ok test config::tests::anthropic_thinking_config_non_claude_omits_both_fields ... ok test auth::tests::test_try_bearer_no_browser_empty_cache_no_refresh_returns_llm_auth_without_discovery ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_mythos_5 ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_opus_4_7 ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_opus_4_8 ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_sonnet_5 ... ok test config::tests::effort_table_fixture_matches_rust_implementation ... ok test config::tests::hook_servers_allows_blocks_when_none ... ok test config::tests::hook_servers_allows_matches_all ... ok test config::tests::hook_servers_allows_matches_named_only ... ok test config::tests::hook_servers_empty_string_is_none ... ok test config::tests::hook_servers_star_mixed_does_not_match_real_server ... ok test config::tests::hook_servers_named_list ... ok test config::tests::hook_servers_star_is_all ... ok test config::tests::hook_servers_star_mixed_is_literal ... ok test config::tests::hook_servers_star_with_whitespace_is_all ... ok test config::tests::hook_servers_trims_entries ... ok test config::tests::hook_servers_unset_is_none ... ok test config::tests::hook_servers_whitespace_only_is_none ... ok test config::tests::is_openai_host_matrix ... ok test config::tests::normalize_anthropic_route_minimal_yields_none ... ok test config::tests::normalize_anthropic_route_none_yields_none ... ok test config::tests::normalize_anthropic_route_passes_through_valid_values ... ok test config::tests::normalize_openai_route_clamps_max_to_xhigh ... ok test config::tests::normalize_openai_route_gpt5_1_xhigh_becomes_high ... ok test config::tests::normalize_openai_route_gpt5_4_xhigh_passes_through ... ok test config::tests::normalize_openai_route_gpt5_5_max_becomes_xhigh ... ok test config::tests::normalize_openai_route_gpt5_5_minimal_becomes_none ... ok test config::tests::normalize_openai_route_gpt5_5_xhigh_passes_through ... ok test config::tests::normalize_openai_route_passes_max_through_for_gpt5_6 ... ok test config::tests::normalize_openai_route_gpt5_dash_suffix_variants_match_correctly ... ok test config::tests::openai_efforts_for_model_boundary_date_suffixed_still_matches ... ok test config::tests::openai_efforts_for_model_boundary_dated_base_ids_are_not_versioned ... ok test config::tests::normalize_openai_route_passes_through_all_other_values_for_unknown_model ... ok test config::tests::openai_efforts_for_model_boundary_multi_digit_versions_pass_through ... ok test config::tests::openai_efforts_for_model_gpt5_1_excludes_xhigh_and_minimal ... ok test config::tests::openai_efforts_for_model_gpt5_5_includes_xhigh ... ok test config::tests::normalize_openai_route_gpt5_base_none_becomes_minimal ... ok test config::tests::openai_efforts_for_model_boundary_databricks_prefixed_still_matches ... ok test config::tests::parse_openai_api_values ... ok test config::tests::parse_thinking_effort_is_case_insensitive ... ok test config::tests::parse_thinking_effort_none_and_empty_yield_none ... ok test config::tests::parse_thinking_effort_rejects_unknown_value ... ok test config::tests::normalize_openai_route_gpt5_pro_high_passes_through ... ok test config::tests::parse_thinking_effort_round_trips_all_values ... ok test config::tests::normalize_openai_route_gpt5_pro_anything_but_high_becomes_high ... ok test config::tests::openai_efforts_for_model_gpt5_pro_high_only ... ok test config::tests::normalize_openai_route_unknown_model_passthrough ... ok test config::tests::openai_efforts_for_model_boundary_gpt5_4o_is_base_not_5_4 ... ok test config::tests::resolve_model_falls_back_to_provider_default ... ok test config::tests::resolve_model_prefers_explicit_override ... ok test config::tests::openai_efforts_for_model_gpt5_6_includes_max ... ok test config::tests::openai_efforts_for_model_pro_before_base_gpt5 ... ok test config::tests::resolve_model_returns_none_when_both_absent ... ok test config::tests::resolve_provider_errors_when_provider_env_absent ... ok test config::tests::openai_efforts_for_model_gpt5_base_excludes_none_includes_minimal ... ok test config::tests::validate_accepts_all_efforts_for_databricks_v2 ... ok test config::tests::validate_accepts_all_efforts_for_openai ... ok test config::tests::validate_accepts_max_for_anthropic ... ok test config::tests::validate_accepts_none_and_minimal_for_openai ... ok test config::tests::validate_accepts_xhigh_for_anthropic ... ok test config::tests::validate_accepts_xhigh_for_openai ... ok test config::tests::validate_rejects_minimal_effort_for_anthropic ... ok test config::tests::validate_rejects_none_effort_for_anthropic ... ok test config::tests::openai_efforts_for_model_unknown_returns_none ... ok test config::tests::openai_efforts_for_model_boundary_date_segment_with_suffix_is_base ... ok test config::tests::resolve_provider_errors_when_requested_provider_key_missing ... ok test config::tests::resolve_provider_keeps_requested_provider_when_token_present ... ok test handoff::tests::estimate_tokens_is_upper_bound_on_tokens ... ok test config::tests::resolve_provider_requires_databricks_host_and_model_for_fallback ... ok test config::tests::resolve_provider_unsupported_error_preserves_user_casing ... ok test config::tests::thinking_effort_anthropic_budget_tokens_mapping ... ok test handoff::tests::handoff_prompt_budget_reserves_summary_output_and_fixed_prompt ... ok test config::tests::thinking_effort_anthropic_effort_str_mapping ... ok test handoff::tests::handoff_prompt_budget_saturates_when_fixed_prompt_exceeds_window ... ok test handoff::tests::token_threshold_reserves_output_headroom ... ok test handoff::tests::token_threshold_saturates_when_output_exceeds_window ... ok test handoff::tests::token_threshold_uses_fraction_when_output_is_small ... ok test hints::tests::build_hints_section_empty ... ok test handoff::tests::byte_fallback_is_conservative_and_capped ... ok test hints::tests::collect_supporting_files_does_not_descend_into_nested_skills ... ok test config::tests::thinking_effort_openai_effort_str_mapping ... ok test hints::tests::build_hints_section_combined ... ok test hints::tests::collect_supporting_files_finds_non_skill_md_files ... ok test hints::tests::collect_supporting_files_skips_symlink_cycles ... ok test hints::tests::find_git_root_none ... ok test hints::tests::discover_skills_dedup_by_name ... ok test hints::tests::find_git_root_normal_repo ... ok test hints::tests::find_git_root_from_subdirectory ... ok test config::tests::thinking_effort_ord_ordering ... ok test config::tests::validate_accepts_all_efforts_for_databricks ... ok test hints::tests::discover_skills_populates_supporting_files ... ok test hints::tests::discover_skills_no_home_dir ... ok test hints::tests::discover_skills_skips_missing_name ... ok test hints::tests::discover_skills_global_skills_loaded ... ok test hints::tests::discover_skills_project_wins_over_global ... ok test hints::tests::find_git_root_worktree ... ok test hints::tests::load_hint_files_dedup_when_home_in_chain ... ok test hints::tests::load_hint_files_dedup_when_home_is_git_root ... ok test hints::tests::discover_skills_finds_across_dirs ... ok test hints::tests::load_hint_files_git_root_and_cwd ... ok test hints::tests::load_hint_files_global_loaded_first ... ok test hints::tests::load_hint_files_home_missing_agents_md ... ok test llm::tests::anthropic_body_emits_thinking_when_effort_high ... ok test llm::tests::anthropic_body_empty_system_stays_string_even_when_caching ... ok test llm::tests::anthropic_body_no_cache_control_when_disabled ... ok test llm::tests::anthropic_body_omits_thinking_when_effort_none ... ok test llm::tests::anthropic_body_opus_4_8_max_emits_max_effort ... ok test llm::tests::anthropic_body_omits_thinking_when_max_output_too_small ... ok test llm::tests::anthropic_body_single_message_stamps_only_one_breakpoint ... ok test llm::tests::anthropic_body_opus_4_8_xhigh_emits_xhigh_effort ... ok test llm::tests::anthropic_body_stamps_cache_control_when_enabled ... ok test llm::tests::anthropic_tool_result_preserves_image_block ... ok test llm::tests::anthropic_body_omits_both_fields_for_unrecognized_model ... ok test llm::tests::collective_catalog_requires_two_distinct_physical_models ... ok test hints::tests::load_hint_files_missing_files ... ok test llm::tests::dbv2_mlflow_route_max_effort_clamped_to_xhigh_in_openai_body ... ok test llm::tests::dbv2_openai_route_max_effort_clamped_to_xhigh_in_responses_body ... ok test llm::tests::dbv2_openai_route_max_effort_passes_through_for_gpt5_6 ... ok test hints::tests::load_hint_files_no_home_dir ... ok test llm::tests::dbv2_openai_route_none_minimal_pass_through_in_responses_body ... ok test llm::tests::anthropic_body_emits_adaptive_thinking_for_opus_4 ... ok test llm::tests::databricks_v2_routes_by_model_family ... ok test llm::tests::anthropic_body_emits_manual_budget_for_opus_4_5 ... ok test hints::tests::load_hint_files_single_at_cwd ... ok test llm::tests::dbv2_route_switch_max_body_level_simulation ... ok test llm::tests::anthropic_body_emits_thinking_at_boundary_2048 ... ok test llm::tests::anthropic_body_emits_thinking_high_uncapped_when_budget_fits ... ok test llm::tests::anthropic_body_emits_thinking_low_budget ... ok test llm::tests::dbv2_claude_route_none_effort_omits_thinking_fields ... ok test llm::tests::effective_model_overrides_cfg_model_in_openai_body ... ok test llm::tests::effective_model_overrides_cfg_model_in_anthropic_body ... ok test llm::tests::is_responses_required_error_matrix ... ok test llm::tests::explicit_models_are_never_rewritten_or_fallback_retried ... ok test llm::tests::openai_body_emits_none_effort ... ok test llm::tests::openai_body_emits_reasoning_effort_medium ... ok test llm::tests::openai_body_emits_xhigh_effort ... ok test llm::tests::openai_body_omits_reasoning_effort_when_none ... ok test llm::tests::openai_body_replays_the_signature_beside_function_not_inside_it ... ok test llm::tests::generic_openai_auto_does_not_probe_or_select_mesh ... ok test llm::tests::openai_parallel_image_tool_results_stay_contiguous ... ok test llm::tests::openai_tool_result_adds_followup_image_user_message ... ok test llm::tests::parse_anthropic_input_tokens_only ... ok test llm::tests::mesh_failure_classifier_requires_structured_moa_failure_type ... ok test llm::tests::parse_anthropic_missing_usage_is_none ... ok test llm::tests::parse_anthropic_output_tokens ... ok test llm::tests::mesh_unavailable_classifier_requires_exact_openai_error_message ... ok test llm::tests::mesh_auto_falls_back_once_and_cools_down_when_mesh_contracts ... ok test llm::tests::parse_anthropic_output_tokens_missing_usage_is_none ... ok test llm::tests::parse_anthropic_reports_cache_read_as_cached ... ok test llm::tests::parse_anthropic_sums_input_and_cache_tokens ... ok test llm::tests::parse_openai_cache_write_round_reports_zero_cached ... ok test llm::tests::parse_openai_databricks_prompt_tokens_already_inclusive ... ok test llm::tests::parse_openai_keeps_unmodelled_tool_call_fields ... ok test llm::tests::parse_openai_makes_duplicate_tool_call_ids_unique ... ok test llm::tests::parse_openai_missing_usage_is_none ... ok test llm::tests::parse_openai_no_cache_detail_is_none ... ok test llm::tests::parse_openai_output_tokens_missing_usage_is_none ... ok test llm::tests::parse_openai_prefers_flat_anthropic_spelling_over_nested ... ok test llm::tests::parse_openai_output_tokens_from_completion_tokens ... ok test llm::tests::parse_openai_reads_nested_cached_tokens ... ok test llm::tests::parse_openai_reads_text_out_of_a_block_array ... ok test llm::tests::parse_openai_still_reads_a_plain_string_content ... ok test llm::tests::parse_openai_uses_prompt_tokens ... ok test llm::tests::parse_responses_completed_with_function_call_is_tool_use ... ok test llm::tests::parse_responses_completed_with_text_is_end_turn ... ok test llm::tests::parse_responses_incomplete_max_output_tokens ... ok test llm::tests::parse_responses_missing_usage_is_none ... ok test llm::tests::parse_responses_output_tokens ... ok test llm::tests::parse_responses_output_tokens_missing_usage_is_none ... ok test llm::tests::parse_responses_reads_nested_cached_tokens ... ok test llm::tests::parse_responses_rejects_malformed_function_arguments ... ok test llm::tests::parse_responses_uses_input_tokens ... ok test llm::tests::mesh_auto_falls_back_once_when_moa_reducer_fails ... ok test llm::tests::explicit_real_model_bypasses_mesh_auto_policy ... ok test llm::tests::mesh_auto_retries_unstructured_tool_markup_through_auto ... ok test llm::tests::mesh_auto_catalog_failure_fails_open_to_auto ... ok test llm::tests::mesh_auto_does_not_enable_while_second_model_flaps ... ok test llm::tests::mesh_auto_requires_two_stable_catalog_observations ... ok test llm::tests::responses_body_emits_minimal_effort ... ok test llm::tests::responses_body_omits_reasoning_when_effort_none ... ok test llm::tests::responses_body_emits_xhigh_effort ... ok test llm::tests::responses_body_replay_emits_function_call_before_output ... ok test llm::tests::responses_body_image_tool_result_attaches_input_image ... ok test llm::tests::responses_body_skips_empty_assistant_text ... ok test llm::tests::responses_body_top_level_shape ... ok test llm::tests::static_token_source_refresh_now_returns_static_token ... ok test llm::tests::responses_body_emits_reasoning_effort_low ... ok test llm::tests::terminal_llm_error_below_threshold_carries_detail_no_stall_claim ... ok test llm::tests::terminal_llm_error_below_threshold_emits_no_stall_warning ... ok test mcp::content_tests::configure_no_window_is_a_noop_on_non_windows ... ok test llm::tests::post_openai_persistent_401_propagates_after_one_retry ... ok test llm::tests::terminal_llm_error_above_threshold_uses_singular_attempt ... ok test mcp::content_tests::image_passes_whole_even_when_text_budget_is_small ... ok test llm::tests::sum_usage_empty_object_is_none ... ok test llm::tests::terminal_llm_error_at_threshold_emits_one_stall_warning ... ok test mcp::content_tests::passthrough_carries_tls_trust_to_tools ... ok test mcp::content_tests::passthrough_carries_proxy_configuration_to_tools ... ok test llm::tests::post_openai_persistent_403_propagates_after_one_retry ... ok test mcp::content_tests::text_within_budget_is_untouched ... ok test mcp::content_tests::tool_result_content_elides_images_over_budget ... ok test tests::databricks_discovery_failure_fallback_split_verified ... ok test tests::databricks_discovery_failure_fallback_v2_returns_known_models_catalog ... ok test tests::models_cache_does_not_pin_on_discovery_error ... ok test types::tests::assistant_size_counts_provider_extra ... ok test mcp::content_tests::oversized_text_is_middle_elided ... ok test mcp::content_tests::tool_result_content_preserves_images ... ok test tests::databricks_discovery_failure_fallback_legacy_returns_configured_model_only ... ok test types::tests::image_estimated_bytes_is_real_wire_size ... ok test mcp::content_tests::passthrough_includes_buzz_owner_attestation ... ok test mcp::content_tests::truncate_middle_respects_max_and_boundaries ... ok test wire::tests::session_new_params_empty_string_system_prompt ... ok test wire::tests::session_new_params_deserializes_system_prompt ... ok test wire::tests::session_new_params_ignores_unknown_fields ... ok test llm::tests::mesh_auto_tracks_models_appearing_disappearing_and_reappearing ... ok test wire::tests::session_new_params_system_prompt_defaults_to_none ... ok test types::tests::text_content_size_is_identical_for_both_measures ... ok test llm::tests::post_openai_refreshes_once_on_403 ... ok test types::tests::image_context_pressure_is_token_equivalent_not_base64_len ... ok test llm::tests::post_openai_refreshes_once_per_call_on_401 ... ok test types::tests::single_image_does_not_trip_default_handoff_threshold ... ok test llm::tests::post_retries_499_and_succeeds ... ok test llm::tests::post_retries_on_dropped_connection_before_response ... ok test llm::tests::post_exhausts_retries_on_persistent_499 ... ok test result: ok. 305 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.97s Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_agent-bc3af587678bbc69) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests tests/bin/fake_mcp.rs (target/x86_64-unknown-linux-gnu/release/deps/fake_mcp-44fc899bc8a0a1e1) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/databricks_oauth.rs (target/x86_64-unknown-linux-gnu/release/deps/databricks_oauth-506856fc1bf467be) running 14 tests test refresh_now_runs_grant_on_unexpired_rejected_token ... ok test cache_hit_short_circuits_network ... ok test refresh_now_coalesces_when_another_caller_already_refreshed ... ok test refresh_now_without_refresh_token_is_terminal ... ok test expired_cache_silently_refreshes ... ok test databricks_v2_claude_routes_through_ai_gateway_anthropic_messages ... ok test databricks_envelope_routes_through_serving_endpoints_and_strips_model ... ok test refreshed_token_is_persisted_to_disk ... ok test databricks_v2_gpt5_routes_through_ai_gateway_responses ... ok test databricks_v2_other_models_route_through_ai_gateway_mlflow_chat ... ok test session_set_model_empty_model_id_returns_error ... ok test session_set_model_switches_databricks_legacy_route ... ok test session_set_model_switches_databricks_v2_route ... ok test session_set_model_unknown_session_returns_error ... ok test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s Running tests/fake_llm.rs (target/x86_64-unknown-linux-gnu/release/deps/fake_llm-ac550bd0be6324fa) running 13 tests test rejects_oversized_line ... ok test cancelled_turn_with_usage_emits_notification_before_response ... FAILED test no_usage_turn_emits_no_usage_notification ... ok test session_new_rejects_oversized_system_prompt ... ok test steer_rejected_when_no_active_run ... ok test tool_call_then_end_turn ... ok test system_prompt_reaches_llm_system_role ... ok test usage_notification_emitted_before_prompt_response ... ok test steer_rejected_on_empty_prompt ... ok test steer_folds_into_active_turn_without_cancelling ... ok test text_only_end_turn ... ok test system_prompt_absent_no_canary ... ok test rejects_concurrent_prompts ... ok failures: ---- cancelled_turn_with_usage_emits_notification_before_response stdout ---- thread 'cancelled_turn_with_usage_emits_notification_before_response' (10864) panicked at crates/buzz-agent/tests/fake_llm.rs:1039:13: assertion `left == right` failed: turn must end with stopReason: cancelled left: Null right: "cancelled" note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failures: cancelled_turn_with_usage_emits_notification_before_response test result: FAILED. 12 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.51s error: test failed, to rerun pass `-p buzz-agent --test fake_llm`