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 unicode-ident v1.0.24 Compiling quote v1.0.45 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 once_cell v1.21.4 Compiling version_check v0.9.5 Compiling bytes v1.11.1 Compiling zmij v1.0.21 Compiling futures-core v0.3.32 Compiling smallvec v1.15.1 Compiling log v0.4.29 Compiling zerocopy v0.8.48 Compiling writeable v0.6.3 Compiling litemap v0.8.2 Compiling generic-array v0.14.7 Compiling percent-encoding v2.3.2 Compiling icu_properties_data v2.2.0 Compiling utf8_iter v1.0.4 Compiling fs_extra v1.3.0 Compiling dunce v1.0.5 Compiling icu_normalizer_data v2.2.0 Compiling futures-sink v0.3.32 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-io v0.3.32 Compiling slab v0.4.12 Compiling futures-task v0.3.32 Compiling jobserver v0.1.34 Compiling form_urlencoded v1.2.2 Compiling aws-lc-rs v1.17.0 Compiling http v1.4.0 Compiling base64 v0.22.1 Compiling cpufeatures v0.2.17 Compiling cc v1.2.62 Compiling autocfg v1.5.0 Compiling crypto-common v0.1.7 Compiling subtle v2.6.1 Compiling untrusted v0.9.0 Compiling rustls v0.23.42 Compiling httparse v1.10.1 Compiling thiserror v2.0.18 Compiling num-traits v0.2.19 Compiling getrandom v0.4.3 Compiling bitflags v2.13.0 Compiling getrandom v0.3.4 Compiling getrandom v0.2.17 Compiling errno v0.3.14 Compiling socket2 v0.6.3 Compiling mio v1.2.0 Compiling signal-hook-registry v1.4.8 Compiling rand_core v0.10.1 Compiling cmake v0.1.58 Compiling http-body v1.0.1 Compiling rand_core v0.6.4 Compiling block-padding v0.3.3 Compiling hybrid-array v0.4.13 Compiling tower-service v0.3.3 Compiling bitcoin-io v0.1.4 Compiling hex v0.4.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 aws-lc-sys v0.41.0 Compiling ring v0.17.14 Compiling secp256k1-sys v0.10.1 Compiling cmov v0.5.3 Compiling arrayvec v0.7.6 Compiling try-lock v0.2.5 Compiling block-buffer v0.12.0 Compiling want v0.3.1 Compiling ctutils v0.4.2 Compiling crypto-common v0.2.2 Compiling hex-conservative v0.2.2 Compiling digest v0.10.7 Compiling cipher v0.4.4 Compiling sync_wrapper v1.0.2 Compiling cpufeatures v0.3.0 Compiling httpdate v1.0.3 Compiling equivalent v1.0.2 Compiling const-oid v0.10.2 Compiling ryu v1.0.23 Compiling atomic-waker v1.1.2 Compiling tower-layer v0.3.3 Compiling chacha20 v0.9.1 Compiling indexmap v2.14.0 Compiling sha1 v0.10.6 Compiling bech32 v0.11.1 Compiling ipnet v2.12.0 Compiling data-encoding v2.11.0 Compiling synstructure v0.13.2 Compiling digest v0.11.3 Compiling ppv-lite86 v0.2.21 Compiling http-body-util v0.1.3 Compiling aho-corasick v1.1.4 Compiling openssl-probe v0.2.1 Compiling cfg_aliases 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 zerofrom-derive v0.1.7 Compiling serde_derive v1.0.228 Compiling yoke-derive v0.8.2 Compiling zerovec-derive v0.11.3 Compiling zeroize_derive v1.5.0 Compiling displaydoc v0.2.5 Compiling zerofrom v0.1.8 Compiling tokio-macros v2.7.0 Compiling yoke v0.8.2 Compiling zeroize v1.9.0 Compiling zerovec v0.11.6 Compiling futures-macro v0.3.32 Compiling rustls-pki-types v1.14.1 Compiling zerotrie v0.2.4 Compiling tracing-attributes v0.1.31 Compiling tokio v1.52.3 Compiling thiserror-impl v2.0.18 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling icu_locale_core v2.2.0 Compiling icu_collections v2.2.0 Compiling futures-util v0.3.32 Compiling webpki-roots v1.0.7 Compiling webpki-roots v0.26.11 Compiling rustls-native-certs v0.8.3 Compiling regex-automata v0.4.14 Compiling tracing v0.1.44 Compiling icu_provider v2.2.0 Compiling icu_properties v2.2.0 Compiling icu_normalizer v2.2.0 Compiling chrono v0.4.45 Compiling bitcoin_hashes v0.14.1 Compiling idna_adapter v1.2.2 Compiling idna v1.1.0 Compiling secp256k1 v0.29.1 Compiling url v2.5.8 Compiling serde_urlencoded v0.7.1 Compiling serde_yaml v0.9.34+deprecated Compiling utf8parse v0.2.2 Compiling strsim v0.11.1 Compiling ident_case v1.0.1 Compiling anstyle-parse v1.0.0 Compiling nostr v0.44.6 Compiling darling_core v0.23.0 Compiling hyper v1.9.0 Compiling tower v0.5.3 Compiling tower-http v0.6.11 Compiling chacha20 v0.10.0 Compiling hyper-util v0.1.20 Compiling anstyle-query v1.1.5 Compiling colorchoice v1.0.5 Compiling ref-cast v1.0.25 Compiling lazy_static v1.5.0 Compiling is_terminal_polyfill v1.70.2 Compiling anstyle v1.0.14 Compiling anstream v1.0.0 Compiling sharded-slab v0.1.7 Compiling darling_macro v0.23.0 Compiling rand v0.10.1 Compiling tokio-util v0.7.18 Compiling matchers v0.2.0 Compiling futures-executor v0.3.32 Compiling tracing-serde 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 clap_lex v1.1.0 Compiling nu-ansi-term v0.50.3 Compiling heck v0.5.0 Compiling clap_builder v4.6.0 Compiling clap_derive v4.6.1 Compiling tracing-subscriber v0.3.23 Compiling schemars_derive v1.2.1 Compiling buzz-core v0.1.0 (/build/source/crates/buzz-core) Compiling futures v0.3.32 Compiling darling v0.23.0 Compiling dyn-clone v1.0.20 Compiling rmcp v1.7.0 Compiling simd-adler32 v0.3.9 Compiling crossbeam-utils v0.8.21 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 clap v4.6.1 Compiling buzz-sdk v0.1.0 (/build/source/crates/buzz-sdk) Compiling tokio-stream v0.1.18 Compiling async-trait v0.1.89 Compiling option-ext v0.2.0 Compiling adler2 v2.0.1 Compiling pastey v0.2.3 Compiling fnv v1.0.7 Compiling rustversion v1.0.22 Compiling crossbeam-epoch v0.9.20 Compiling byteorder v1.5.0 Compiling miniz_oxide v0.8.9 Compiling cfb v0.7.3 Compiling dirs-sys v0.5.0 Compiling mime v0.3.17 Compiling rustix v1.1.4 Compiling axum-core v0.5.6 Compiling flate2 v1.1.9 Compiling dirs v6.0.0 Compiling infer v0.19.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 anyhow v1.0.103 Compiling winnow v1.0.3 Compiling same-file v1.0.6 Compiling quick-error v2.0.1 Compiling linux-raw-sys v0.12.1 Compiling zune-core v0.5.1 Compiling color_quant v1.1.0 Compiling byteorder-lite v0.1.0 Compiling weezl v0.1.12 Compiling matchit v0.8.4 Compiling pxfm v0.1.29 Compiling zune-jpeg v0.5.15 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling image-webp v0.2.4 Compiling gif v0.14.2 Compiling globset v0.4.18 Compiling walkdir v2.5.0 Compiling arc-swap v1.9.1 Compiling png v0.18.1 Compiling crossbeam-deque v0.8.6 Compiling git-credential-nostr v0.1.0 (/build/source/crates/git-credential-nostr) Compiling webbrowser v1.2.1 Compiling moxcms v0.8.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 fastrand v2.4.1 Compiling urlencoding v2.1.3 Compiling bytemuck v1.25.0 Compiling tempfile v3.27.0 Compiling toml v1.1.2+spec-1.1.0 Compiling ignore v0.4.25 Compiling git-sign-nostr v0.1.0 (/build/source/crates/git-sign-nostr) Compiling evalexpr v11.3.1 Compiling similar v3.1.0 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 2m 53s Executing cargoInstallPostBuildHook Finished cargoInstallPostBuildHook Finished cargoBuildHook buildPhase completed in 2 minutes 53 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=cancelled_turn_with_usage_emits_notification_before_response --skip=steer_folds_into_active_turn_without_cancelling --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 tower-http v0.6.11 Compiling buzz-ws-client v0.1.0 (/build/source/crates/buzz-ws-client) 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 1m 45s Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_acp-698314f5cc23ec40) running 632 tests test acp::tests::agent_error_from_json_falls_back_to_full_json_when_message_missing ... ok test acp::tests::agent_error_from_json_uses_message_field_when_present ... ok test acp::tests::active_run_id_clears_on_null ... ok test acp::tests::active_run_id_sets_on_string ... ok test acp::tests::active_run_id_untouched_on_wrong_type ... ok test acp::tests::build_codex_config_env_errors_on_invalid_parent_json ... ok test acp::tests::build_codex_config_env_errors_on_invalid_persona_json ... 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::build_codex_config_env_generated_only_single_entry_with_signal_true_merges_with_parent ... 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_parent_has_existing_sandbox_other_keys_survive ... ok test acp::tests::build_codex_config_env_persona_only_signal_false_returns_none ... ok test acp::tests::build_codex_config_env_persona_keys_survive_merge ... ok test acp::tests::build_codex_config_env_returns_none_for_persona_only_no_generated_overlay ... ok test acp::tests::build_codex_config_env_returns_none_when_no_codex_config_in_extra_env ... ok test acp::tests::build_codex_config_env_sets_network_access_from_scratch ... 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_none_when_absent ... ok test acp::tests::extract_model_state_returns_models_object ... 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_with_matching_id_not_consumed_as_response ... ok test acp::tests::agent_request_not_consumed_via_send_request ... ok test acp::tests::active_run_id_untouched_when_missing ... ok test acp::tests::goose_usage_malformed_notification_does_not_panic ... ok test acp::tests::goose_usage_notification_recorded_and_take_returns_usage ... ok test acp::tests::goose_usage_second_turn_delta_reliable ... ok test acp::tests::goose_system_prompt_request_uses_append_contract ... ok test acp::tests::hard_timeout_error_display ... ok test acp::tests::goose_system_prompt_preserves_method_not_found_for_fallback ... ok test acp::tests::id_comparison_works_for_numeric_and_string ... ok test acp::tests::goose_system_prompt_preserves_invalid_params_as_error ... 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_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 acp::tests::acp_steer_failed_outcome_acks_outcome_rejected ... ok test acp::tests::goose_transport_wins_when_both_run_id_and_capability_present ... ok test author_gate_tests::test_dm_admits_owner_and_sibling_in_every_responding_mode ... 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_is_dm_channel_uses_definitive_startup_metadata ... ok test author_gate_tests::test_is_dm_channel_lazy_resolves_declared_dm_and_caches_it ... 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 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 author_gate_tests::test_owner_only_admits_owner_and_sibling_to_steer ... ok test config::tests::allowed_respond_to_accepts_allowed_mode ... ok test build_mcp_servers_tests::test_display_name_unset_omits_the_key_entirely ... 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_rejects_disallowed_mode ... ok test config::tests::allowed_respond_to_full_path_unset_allows_all ... ok test config::tests::allowed_respond_to_rejects_invalid_mode_string ... ok test config::tests::allowed_respond_to_summary_shows_restriction_when_set ... ok test config::tests::allowed_respond_to_summary_omitted_when_empty ... 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_defaults_to_constant_when_neither_set ... 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::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_caps_length_without_splitting_multibyte_chars ... 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::strips_legacy_acp_arg_case_insensitively ... ok test config::tests::secret_env_args_hide_their_values_in_help ... ok test config::tests::test_all_mode_wildcard ... ok test config::tests::test_all_mode_with_kinds_override ... 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_require_mention_most_permissive ... 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_wildcard_kinds_propagates ... ok test config::tests::test_config_summary_includes_idle_and_max_turn ... ok test config::tests::test_heartbeat_interval_five_rejected ... 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_nine_rejected ... ok test config::tests::test_heartbeat_interval_one_rejected ... ok test config::tests::test_heartbeat_interval_ten_ok ... ok test config::tests::test_heartbeat_interval_zero_ok ... ok test config::tests::test_load_rules_channel_scope_typo_rejected ... ok test config::tests::test_load_rules_duplicate_name_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_valid_toml ... ok test config::tests::test_load_rules_too_many_rules_rejected ... ok test config::tests::test_memory_enabled_default_true ... ok test config::tests::test_mentions_mode_custom_kinds ... ok test config::tests::test_mentions_mode_default_kinds ... ok test config::tests::test_mentions_mode_no_mention_filter ... ok test config::tests::test_permission_mode_display ... ok test config::tests::test_multiple_event_handling_default_is_steer ... 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_memory_enabled ... ok test config::tests::test_summary_includes_permission_mode ... ok test config::tests::test_summary_includes_respond_to ... ok test config::tests::test_summary_permission_mode_default ... 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_five_ok ... ok test acp::tests::tool_call_resets_idle_then_silence_times_out ... ok test config::tests::test_summary_respond_to_allowlist_shows_count ... ok test config::tests::test_turn_liveness_four_rejected ... ok test config::tests::test_turn_liveness_one_rejected ... ok test config::tests::test_turn_liveness_ten_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_empty_is_ok ... ok test config::tests::test_validate_allowlist_normalizes_case ... ok test config::tests::test_validate_allowlist_rejects_non_hex ... 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_valid_entries ... ok test config::tests::test_validate_interrupt_modes_still_require_queue ... ok test config::tests::test_validate_queue_handling_allows_any_dedup ... 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_unparseable_candidates_is_err ... 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_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_not_requeued_idle_timeout_is_requeued ... ok test error_outcome_emission_tests::hard_timeout_recently_active_budget_exhausted_reports_dead_lettered ... ok test error_outcome_emission_tests::hard_timeout_recently_active_requeue_success_reports_requeued_for_retry ... 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::is_auth_error_rejects_transport_errors ... ok test error_outcome_emission_tests::hard_timeout_recently_active_requeues_batch ... ok test error_outcome_emission_tests::idle_timeout_emits_exactly_one_feed_event ... ok test error_outcome_emission_tests::normalizes_agent_name_from_initialize_result ... 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 filter::tests::test_channel_scope_list ... ok test error_outcome_emission_tests::transport_error_emits_exactly_one_feed_event ... 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_too_long ... ok test filter::tests::test_evaluate_filter_str_contains ... ok test filter::tests::test_filter_context_from_event ... ok test error_outcome_emission_tests::timeout_outcome_labels_differ ... ok test filter::tests::test_match_event_first_match_wins ... ok test filter::tests::test_filter_error_fails_closed_no_fallthrough ... ok test filter::tests::test_match_event_no_match ... ok test filter::tests::test_match_event_kind_filter ... 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 filter::tests::test_match_event_require_mention ... ok test filter::tests::test_prompt_tag_falls_back_to_name ... ok test observer_chunk_coalescer_tests::coalesces_chunks_until_non_chunk_event ... ok test observer_chunk_coalescer_tests::keeps_independent_chunk_streams_separate ... ok test observer_payload_trim_tests::test_leaf_too_small_to_shrink_is_not_mutated ... ok test observer_payload_trim_tests::test_coalesced_chunk_nested_leaf_is_reached_by_recursive_walk ... ok test observer_payload_trim_tests::test_multi_block_prompt_retains_every_section_header_after_elision ... ok test observer_payload_trim_tests::test_many_medium_leaves_terminate_via_stub ... ok test observer_payload_trim_tests::test_under_budget_frame_passes_through_byte_identical ... 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_single_giant_leaf_is_elided_to_fit_with_envelope_intact ... ok test observer_publish_pacer_tests::starts_without_a_burst_and_spaces_frames ... 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 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 owner_control_command_tests::signal_in_flight_task_sends_rotate_once ... ok test pool::tests::goose_uses_system_prompt_only_after_custom_method_succeeds ... 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 observer_snapshot_race_tests::overlap_between_subscribe_and_snapshot_publishes_exactly_once ... ok test pool::tests::test_canvas_section_from_query_response_empty_array_returns_none ... ok test owner_control_command_tests::owner_control_command_requires_kind_content_and_agent_mention ... ok test pool::tests::test_canvas_section_from_query_response_blank_content_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_happy_path ... ok test pool::tests::test_canvas_section_from_query_response_partial_object_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_string_timestamp_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_timestamp_uses_z_suffix ... ok test pool::tests::test_canvas_section_from_query_response_wrong_h_tag_returns_none ... ok test pool::tests::test_canvas_section_from_query_response_wrong_kind_returns_none ... ok test pool::tests::test_framed_system_prompt_absolute_cwd_prepends_workspace_before_base ... 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_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_framed_system_prompt_root_cwd_omits_workspace ... ok test pool::tests::test_has_channel_state_true_when_only_canvas_section_present ... 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_invalidate_all_clears_canvas_sections ... 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_channel_clears_canvas_section ... ok test pool::tests::test_invalidate_channel_clears_session_and_turn_count ... ok test pool::tests::test_invalidate_channel_leaves_other_channels_canvas_intact ... 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_heartbeat_clears_session_and_turn_count ... 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_missing_content ... ok test pool::tests::test_json_to_context_message_missing_pubkey_uses_default ... ok test pool::tests::test_json_to_context_message_string_timestamp ... 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_classify_control_cancel_failure_crosses_error_outcome_and_batch_fate ... 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 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 ... 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_hex_passthrough ... ok test pool::tests::test_pct_encode_reserved_chars ... 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::acp_steer_started_new_turn_acks_success_without_renewing_hard_deadline ... ok test pool::tests::test_liveness_guard_drop_blocks_while_emit_lock_is_held ... ok test acp::tests::steer_writes_nothing_when_no_run_id_and_capability_absent ... 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 pool::tests::test_requeue_cancelled_batch_maps_control_signal_to_cancel_reason ... ok test pool::tests::test_rotate_after_natural_completion_invalidates_channel_state ... ok test pool::tests::test_send_prompt_result_clears_steer_rx_on_early_return ... ok test pool::tests::test_send_prompt_result_is_noop_when_steer_rx_already_consumed ... ok test pool::tests::test_switch_model_after_natural_completion_invalidates_channel_state ... ok test pool::tests::test_with_canvas_appends_to_existing_prompt ... ok test pool::tests::test_with_canvas_returns_canvas_alone_when_no_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 pool_lifecycle::tests::take_ready_transfers_pool_exactly_once ... 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 queue::tests::extend_in_flight_deadline_advances_existing_entry ... ok test queue::tests::extend_in_flight_deadline_is_monotonic ... ok test queue::tests::extend_in_flight_deadline_noop_after_mark_complete ... 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::repeated_extend_in_flight_deadline_is_monotonic ... ok test queue::tests::test_anchor_agent_only_p_tags_do_not_flatten ... 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_extract_slash_command_rejects_non_commands ... ok test queue::tests::test_fifo_fairness_picks_oldest_channel ... 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_non_reply_hints_get_messages ... 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_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_reason_defaults_to_steer_framing ... 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_single ... ok test queue::tests::test_format_prompt_steer_framing ... ok test queue::tests::test_format_prompt_steer_framing_multi_event ... ok test queue::tests::test_format_prompt_thread_scope ... 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_no_tags ... 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_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 acp::tests::keepalive_resets_idle_past_deadline ... 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 relay::tests::bg_state_dedup_duplicate_rejected ... ok test relay::tests::bg_state_dedup_first_event_accepted ... ok test relay::tests::bg_state_last_seen_advances_on_newer_event ... 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_seen_ids_cleared_at_limit ... ok test relay::tests::bg_state_two_gen_dedup_duplicate_rejected_across_generations ... ok test relay::tests::bg_state_two_gen_dedup_no_amnesia_on_rotation ... 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::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 queue::tests::test_requeue_preserve_timestamps_overflow_keeps_requeued_events ... ok test pool::tests::test_new_session_channel_context_attempts_an_unresolved_channel_once ... ok test relay::tests::fresh_reconnect_preserves_gate_until_pending_replay_resumes ... 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::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::gated_observer_frame_is_parked_then_drained_not_dropped ... 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::observer_frames_queue_behind_parked_backlog_in_order ... ok test relay::tests::subscription_id_contains_full_uuid ... ok test relay::tests::subscription_id_starts_with_ch_prefix ... ok test acp::tests::acp_steer_injected_renews_hard_deadline_and_survives_past_original ... 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 relay::tests::subscribe_during_replay_pacing_is_sent_on_live_socket ... ok test acp::tests::steer_success_renews_hard_deadline_and_survives_past_original ... ok test acp::tests::native_steer_with_active_run_id_routes_response_to_ack ... ok test pool::tests::test_publish_agent_turn_metric_buzz_agent_harness_name ... ok test pool::tests::test_publish_agent_turn_metric_cancelled_stop_reason ... ok test pool::tests::test_publish_agent_turn_metric_encrypts_with_owner ... ok test author_gate_tests::test_discovery_without_metadata_stays_fail_closed_at_author_gate ... 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 result: ok. 632 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.29s 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::failed_state_preserves_attempt_deadline_and_error ... ok test pool_lifecycle::tests::cancelled_wake_enters_failed_and_can_retry ... ok test pool_lifecycle::tests::first_pending_event_starts_exactly_one_wake ... ok test pool_lifecycle::tests::failure_retries_only_when_work_exists_and_deadline_is_due ... 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::retry_backoff_doubles_and_caps_at_five_minutes ... 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 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::pkce_pair_produces_valid_challenge ... ok test auth::tests::cached_token_within_leeway_is_expired ... ok test auth::tests::token_from_response_rejects_empty_access_token ... ok test auth::tests::token_from_response_uses_fallback_refresh ... ok test auth::tests::token_from_response_rejects_missing_access_token ... ok test auth::tests::cached_token_no_expiry_is_not_expired ... ok test builtin::tests::call_load_skill_missing_name_arg ... ok test builtin::tests::call_load_skill_skill_not_found ... ok test builtin::tests::call_load_skill_no_supporting_files_error_message ... ok test builtin::tests::call_load_skill_supporting_file_not_found_lists_available ... ok test builtin::tests::call_load_skill_traversal_guard_rejects_escape ... ok test builtin::tests::call_load_skill_appends_supporting_files_section ... 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::v1_parse_filters_ready_chat_endpoints ... ok test builtin::tests::call_load_skill_returns_body_strips_frontmatter ... ok test catalog::tests::is_chat_capable_endpoint_keeps_unrecognised_names ... ok test catalog::tests::v2_discovery_failure_fallback_dedupes_a_padded_configured_model ... ok test catalog::tests::v2_discovery_failure_fallback_does_not_duplicate_configured_model ... ok test catalog::tests::v2_discovery_failure_fallback_leads_with_configured_model ... ok test builtin::tests::call_load_skill_no_supporting_files_section_when_empty ... ok test catalog::tests::v2_endpoints_sort_newest_first_then_by_name ... ok test catalog::tests::v2_parse_absent_token_signals_last_page ... ok test catalog::tests::v2_parse_empty_token_signals_last_page ... ok test builtin::tests::call_load_skill_supporting_file_returns_content ... ok test catalog::tests::v2_discovery_failure_fallback_tolerates_blank_configured_model ... ok test catalog::tests::v2_parse_extracts_names_and_page_token ... ok test builtin::tests::call_load_skill_truncates_large_body ... ok test catalog::tests::v2_parse_reads_created_timestamp_in_either_wire_shape ... ok test catalog::tests::v2_parse_drops_embedding_endpoints ... ok test catalog::tests::v2_parse_errors_on_missing_endpoints_array ... ok test builtin::tests::call_load_skill_truncates_large_supporting_file ... ok test config::tests::anthropic_thinking_config_arbitrary_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_claude3_emits_budget_tokens ... ok test config::tests::anthropic_thinking_config_claude3_emits_thinking_at_boundary_2048 ... ok test config::tests::anthropic_thinking_config_claude3_omits_thinking_when_max_output_too_small ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_claude3 ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_opus_4_7 ... ok test config::tests::anthropic_thinking_config_databricks_prefix_stripped_for_opus_4_8 ... ok test config::tests::anthropic_thinking_config_fable_5_emits_adaptive_and_effort ... 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_goose_prefix_stripped_for_fable_5 ... 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_manual_bucket_xhigh_clamps_to_high_budget ... ok test config::tests::anthropic_thinking_config_manual_budget_low_emits_1024_when_fits ... 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::anthropic_thinking_config_mythos_preview_emits_adaptive_and_effort ... ok test config::tests::anthropic_thinking_config_mythos_preview_max_passes_through ... ok test config::tests::anthropic_thinking_config_mythos_preview_xhigh_clamps_to_high ... ok test config::tests::anthropic_thinking_config_non_claude_omits_both_fields ... ok test config::tests::anthropic_thinking_config_opus_4_5_budget_capped ... ok test config::tests::anthropic_thinking_config_opus_4_5_emits_manual_budget ... ok test config::tests::anthropic_thinking_config_opus_4_5_omits_thinking_when_max_output_1025 ... 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 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::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::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::clamp_adaptive_effort_xhigh_clamped_to_high_for_sonnet_4_6 ... ok test config::tests::clamp_adaptive_effort_xhigh_passes_through_for_fable_5 ... 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::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_named_list ... ok test config::tests::effort_table_fixture_matches_rust_implementation ... ok test config::tests::hook_servers_star_is_all ... ok test config::tests::hook_servers_star_mixed_does_not_match_real_server ... 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 auth::tests::test_try_bearer_no_browser_empty_cache_no_refresh_returns_llm_auth_without_discovery ... ok test config::tests::is_openai_host_matrix ... ok test auth::tests::test_bearer_reuses_disk_token_after_expiry ... ok test config::tests::normalize_anthropic_route_none_yields_none ... ok test config::tests::normalize_anthropic_route_minimal_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_gpt5_base_none_becomes_minimal ... ok test config::tests::normalize_openai_route_gpt5_dash_suffix_variants_match_correctly ... ok test config::tests::normalize_openai_route_gpt5_pro_anything_but_high_becomes_high ... ok test config::tests::normalize_openai_route_gpt5_pro_high_passes_through ... ok test config::tests::normalize_openai_route_passes_max_through_for_gpt5_6 ... ok test config::tests::normalize_openai_route_passes_through_all_other_values_for_unknown_model ... ok test config::tests::normalize_openai_route_unknown_model_passthrough ... ok test auth::tests::test_bearer_falls_through_to_browser_when_disk_also_expired ... ok test config::tests::openai_efforts_for_model_boundary_databricks_prefixed_still_matches ... ok test config::tests::openai_efforts_for_model_boundary_date_segment_with_suffix_is_base ... 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::openai_efforts_for_model_boundary_gpt5_4o_is_base_not_5_4 ... 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::openai_efforts_for_model_gpt5_6_includes_max ... ok test config::tests::openai_efforts_for_model_gpt5_base_excludes_none_includes_minimal ... ok test config::tests::openai_efforts_for_model_gpt5_pro_high_only ... ok test config::tests::openai_efforts_for_model_pro_before_base_gpt5 ... ok test config::tests::openai_efforts_for_model_unknown_returns_none ... 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::parse_thinking_effort_round_trips_all_values ... ok test config::tests::resolve_model_falls_back_to_provider_default ... ok test config::tests::resolve_model_prefers_explicit_override ... 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::resolve_provider_errors_when_requested_provider_key_missing ... ok test config::tests::resolve_provider_keeps_requested_provider_when_token_present ... 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 config::tests::thinking_effort_anthropic_effort_str_mapping ... ok test config::tests::thinking_effort_openai_effort_str_mapping ... ok test config::tests::thinking_effort_ord_ordering ... ok test config::tests::validate_accepts_all_efforts_for_databricks ... 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 handoff::tests::byte_fallback_is_conservative_and_capped ... ok test handoff::tests::estimate_tokens_is_upper_bound_on_tokens ... ok test handoff::tests::handoff_prompt_budget_reserves_summary_output_and_fixed_prompt ... 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 hints::tests::collect_supporting_files_does_not_descend_into_nested_skills ... ok test hints::tests::collect_supporting_files_skips_symlink_cycles ... ok test hints::tests::collect_supporting_files_finds_non_skill_md_files ... ok test hints::tests::build_hints_section_combined ... ok test hints::tests::discover_skills_no_home_dir ... ok test hints::tests::discover_skills_global_skills_loaded ... ok test hints::tests::find_git_root_none ... ok test hints::tests::find_git_root_normal_repo ... ok test hints::tests::discover_skills_populates_supporting_files ... ok test hints::tests::discover_skills_dedup_by_name ... ok test hints::tests::find_git_root_from_subdirectory ... ok test hints::tests::load_hint_files_dedup_when_home_in_chain ... ok test hints::tests::discover_skills_finds_across_dirs ... ok test hints::tests::find_git_root_worktree ... ok test hints::tests::load_hint_files_dedup_when_home_is_git_root ... ok test hints::tests::discover_skills_project_wins_over_global ... ok test llm::tests::anthropic_body_emits_adaptive_thinking_for_opus_4 ... ok test llm::tests::anthropic_body_emits_manual_budget_for_opus_4_5 ... ok test hints::tests::load_hint_files_missing_files ... ok test hints::tests::load_hint_files_git_root_and_cwd ... ok test hints::tests::discover_skills_skips_missing_name ... ok test hints::tests::load_hint_files_no_home_dir ... ok test llm::tests::anthropic_body_emits_thinking_low_budget ... ok test hints::tests::load_hint_files_global_loaded_first ... ok test llm::tests::anthropic_body_emits_thinking_when_effort_high ... ok test hints::tests::load_hint_files_single_at_cwd ... ok test llm::tests::anthropic_body_empty_system_stays_string_even_when_caching ... ok test hints::tests::load_hint_files_home_missing_agents_md ... ok test llm::tests::anthropic_body_emits_thinking_at_boundary_2048 ... ok test llm::tests::anthropic_body_no_cache_control_when_disabled ... ok test llm::tests::anthropic_body_emits_thinking_high_uncapped_when_budget_fits ... ok test llm::tests::anthropic_body_omits_both_fields_for_unrecognized_model ... ok test llm::tests::anthropic_body_omits_thinking_when_effort_none ... ok test llm::tests::anthropic_body_omits_thinking_when_max_output_too_small ... ok test llm::tests::anthropic_body_opus_4_8_max_emits_max_effort ... ok test llm::tests::anthropic_body_opus_4_8_xhigh_emits_xhigh_effort ... ok test llm::tests::anthropic_body_single_message_stamps_only_one_breakpoint ... 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::collective_catalog_requires_two_distinct_physical_models ... ok test llm::tests::databricks_v2_routes_by_model_family ... ok test llm::tests::dbv2_claude_route_none_effort_omits_thinking_fields ... 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 llm::tests::dbv2_openai_route_none_minimal_pass_through_in_responses_body ... ok test llm::tests::dbv2_route_switch_max_body_level_simulation ... ok test llm::tests::effective_model_overrides_cfg_model_in_anthropic_body ... ok test llm::tests::effective_model_overrides_cfg_model_in_openai_body ... ok test llm::tests::is_responses_required_error_matrix ... ok test llm::tests::mesh_failure_classifier_requires_structured_moa_failure_type ... ok test llm::tests::mesh_unavailable_classifier_requires_exact_openai_error_message ... 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::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::parse_anthropic_missing_usage_is_none ... ok test llm::tests::parse_anthropic_output_tokens_missing_usage_is_none ... ok test llm::tests::parse_anthropic_output_tokens ... 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_from_completion_tokens ... 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_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::generic_openai_auto_does_not_probe_or_select_mesh ... ok test llm::tests::parse_responses_uses_input_tokens ... ok test llm::tests::parse_responses_rejects_malformed_function_arguments ... ok test llm::tests::mesh_auto_catalog_failure_fails_open_to_auto ... ok test llm::tests::explicit_models_are_never_rewritten_or_fallback_retried ... ok test llm::tests::mesh_auto_requires_two_stable_catalog_observations ... ok test llm::tests::mesh_auto_falls_back_once_when_moa_reducer_fails ... ok test llm::tests::mesh_auto_falls_back_once_and_cools_down_when_mesh_contracts ... ok test llm::tests::responses_body_emits_minimal_effort ... ok test llm::tests::mesh_auto_does_not_enable_while_second_model_flaps ... ok test llm::tests::responses_body_emits_reasoning_effort_low ... ok test llm::tests::responses_body_emits_xhigh_effort ... ok test llm::tests::responses_body_omits_reasoning_when_effort_none ... ok test llm::tests::explicit_real_model_bypasses_mesh_auto_policy ... ok test llm::tests::responses_body_replay_emits_function_call_before_output ... ok test llm::tests::responses_body_top_level_shape ... ok test llm::tests::responses_body_skips_empty_assistant_text ... ok test llm::tests::static_token_source_refresh_now_returns_static_token ... ok test llm::tests::sum_usage_empty_object_is_none ... ok test llm::tests::terminal_llm_error_above_threshold_uses_singular_attempt ... ok test llm::tests::post_openai_persistent_401_propagates_after_one_retry ... ok test llm::tests::terminal_llm_error_at_threshold_emits_one_stall_warning ... ok test llm::tests::responses_body_image_tool_result_attaches_input_image ... ok test llm::tests::terminal_llm_error_below_threshold_carries_detail_no_stall_claim ... ok test llm::tests::mesh_auto_tracks_models_appearing_disappearing_and_reappearing ... ok test llm::tests::terminal_llm_error_below_threshold_emits_no_stall_warning ... ok test mcp::content_tests::passthrough_carries_proxy_configuration_to_tools ... ok test mcp::content_tests::passthrough_carries_tls_trust_to_tools ... ok test llm::tests::post_openai_persistent_403_propagates_after_one_retry ... ok test mcp::content_tests::image_passes_whole_even_when_text_budget_is_small ... ok test mcp::content_tests::passthrough_includes_buzz_owner_attestation ... ok test mcp::content_tests::configure_no_window_is_a_noop_on_non_windows ... ok test mcp::content_tests::text_within_budget_is_untouched ... ok test mcp::content_tests::tool_result_content_elides_images_over_budget ... ok test mcp::content_tests::tool_result_content_preserves_images ... ok test tests::databricks_discovery_failure_fallback_legacy_returns_configured_model_only ... ok test tests::databricks_discovery_failure_fallback_v2_returns_known_models_catalog ... ok test mcp::content_tests::truncate_middle_respects_max_and_boundaries ... ok test llm::tests::post_openai_refreshes_once_on_403 ... ok test llm::tests::mesh_auto_retries_unstructured_tool_markup_through_auto ... ok test types::tests::assistant_size_counts_provider_extra ... ok test tests::databricks_discovery_failure_fallback_split_verified ... ok test types::tests::image_estimated_bytes_is_real_wire_size ... ok test types::tests::text_content_size_is_identical_for_both_measures ... ok test tests::models_cache_does_not_pin_on_discovery_error ... ok test wire::tests::session_new_params_deserializes_system_prompt ... ok test wire::tests::session_new_params_empty_string_system_prompt ... ok test wire::tests::session_new_params_ignores_unknown_fields ... ok test wire::tests::session_new_params_system_prompt_defaults_to_none ... ok test mcp::content_tests::oversized_text_is_middle_elided ... ok test llm::tests::post_openai_refreshes_once_per_call_on_401 ... ok test types::tests::image_context_pressure_is_token_equivalent_not_base64_len ... ok test types::tests::single_image_does_not_trip_default_handoff_threshold ... ok test llm::tests::post_retries_on_dropped_connection_before_response ... ok test llm::tests::post_retries_499_and_succeeds ... 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 1.21s 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 cache_hit_short_circuits_network ... ok test refreshed_token_is_persisted_to_disk ... ok test expired_cache_silently_refreshes ... ok test databricks_envelope_routes_through_serving_endpoints_and_strips_model ... ok test databricks_v2_other_models_route_through_ai_gateway_mlflow_chat ... ok test refresh_now_without_refresh_token_is_terminal ... ok test refresh_now_coalesces_when_another_caller_already_refreshed ... ok test refresh_now_runs_grant_on_unexpired_rejected_token ... ok test databricks_v2_gpt5_routes_through_ai_gateway_responses ... ok test session_set_model_switches_databricks_legacy_route ... ok test databricks_v2_claude_routes_through_ai_gateway_anthropic_messages ... ok test session_set_model_empty_model_id_returns_error ... 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 11 tests test steer_rejected_when_no_active_run ... ok test no_usage_turn_emits_no_usage_notification ... ok test steer_rejected_on_empty_prompt ... ok test session_new_rejects_oversized_system_prompt ... ok test rejects_oversized_line ... ok test system_prompt_absent_no_canary ... ok test system_prompt_reaches_llm_system_role ... ok test tool_call_then_end_turn ... ok test text_only_end_turn ... ok test usage_notification_emitted_before_prompt_response ... ok test rejects_concurrent_prompts ... ok test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.51s Running tests/golden_transcripts.rs (target/x86_64-unknown-linux-gnu/release/deps/golden_transcripts-cf21ce0c7eb51879) running 14 tests test test_oversized_line_kills_agent ... ok test test_no_reasoning_no_thought_chunk ... ok test test_thought_chunk_emitted_before_message_chunk_chat_completions_reasoning_content ... ok test test_text_only_response ... ok test test_full_tool_call_transcript ... ok test test_malformed_json_rpc ... ok test test_permission_denied_continues ... ok test test_thought_chunk_emitted_before_message_chunk_anthropic ... ok test test_initialize_version_check ... ok test test_session_new_rejects_relative_cwd ... ok test test_thought_chunk_emitted_before_message_chunk_responses_api ... ok test test_unsupported_content_block ... ok test test_cancel_notification_no_reply ... ok test test_concurrent_prompt_rejected ... ok test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s Running tests/hints_integration.rs (target/x86_64-unknown-linux-gnu/release/deps/hints_integration-8b3c15b1d238342c) running 8 tests test global_agents_md_loaded ... ok test git_root_hints_included ... ok test hints_loaded_from_cwd_agents_md ... ok test hints_suppressed_with_env_var ... ok test symlinked_skill_dir_is_discovered ... ok test load_skill_tool_returns_body ... ok test global_skills_loaded_and_project_wins ... ok test skills_loaded_from_agents_skills_dir ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running tests/openai_auto_upgrade.rs (target/x86_64-unknown-linux-gnu/release/deps/openai_auto_upgrade-40390d433eeffa98) running 1 test 2026-08-14T23:28:11.515438Z WARN buzz_agent::llm: openai: provider asked for the Responses API; routing subsequent OpenAI calls to /v1/responses for this process provider_message="400 Bad Request: {\"error\":{\"code\":\"BAD_REQUEST\",\"message\":\"Function tools with reasoning_effort are not supported for gpt-5.5 in /v1/chat/completions. Please use /v1/responses instead.\"}}" test openai_auto_upgrades_chat_to_responses_on_databricks_signal ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/regressions.rs (target/x86_64-unknown-linux-gnu/release/deps/regressions-0ca337c4848e6c4c) running 22 tests test assistant_text_preserved_across_prompts ... ok test cancel_leaves_history_valid_for_next_prompt ... ok test empty_assistant_serializes_as_empty_string ... ok test handoff_summary_prompt_keeps_latest_item_when_one_item_exceeds_budget ... ok test handoff_summary_prompt_includes_full_history_within_context_budget ... ok test cancel_sends_notifications_cancelled_to_any_mcp_server ... ok test hook_stop_budget_exhausted ... ok test description_clamping_enforced ... ok test hook_stop_budget_resets_per_prompt ... ok test hook_stop_blocks_premature_end ... ok test mcp_server_count_cap ... ok test hook_stop_consecutive_end_turn_uses_rejection_budget ... ok test hook_tools_hidden_from_llm ... ok test hook_post_compact_injects_after_handoff ... ok test stale_usage_plus_history_growth_triggers_handoff ... ok test token_usage_over_budget_triggers_handoff ... ok test per_turn_tool_call_cap_enforced ... ok kill: '11758': No such process test cancel_kills_inflight_tool_via_mcp_notification ... ok test history_budget_evicts_old_turns ... ok test tool_metadata_caps_enforced ... ok test hook_stop_timeout_failopen ... ok test mcp_init_timeout_kills_child ... ok test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_cli-910a1cd2f7632b39) running 260 tests test client::media_download_tests::legacy_upload_retry_statuses_are_narrow ... ok test client::media_download_tests::media_url_accepts_only_same_relay_media_urls ... ok test client::media_download_tests::media_url_from_sha_uses_relay_media_path ... ok test client::media_download_tests::media_url_rejects_path_confusion_and_non_hash_inputs ... ok test agent_management::tests::update_requires_a_change ... ok test agent_management::tests::create_rejects_invalid_channel ... ok test client::media_download_tests::media_get_auth_header_is_server_scoped ... ok test agent_management::tests::create_is_owner_encrypted_and_matches_desktop_contract ... ok test client::retry_policy_tests::moderation_kind_non_ingest_429_returns_delivery_unknown ... ok test client::retry_policy_tests::query_403_is_not_retried ... ok test client::retry_policy_tests::moderation_kind_502_returns_delivery_unknown ... ok test client::retry_tests::env_duration_secs_parsing ... ok test client::retry_tests::hint_text_empty_returns_none ... ok test client::retry_tests::hint_text_plain_extracted_field_returns_secs ... ok test client::retry_tests::hint_text_plain_no_pattern_returns_none ... ok test client::retry_tests::hint_text_raw_json_body_returns_secs ... ok test client::retry_tests::jitter_stays_within_base ... ok test client::retry_tests::moderation_kind_covers_9040_through_9044 ... ok test client::retry_tests::non_moderation_kinds_are_not_moderation ... ok test client::retry_tests::parse_empty_body_returns_none ... ok test client::retry_tests::parse_garbled_body_returns_none ... ok test client::retry_tests::parse_missing_retry_pattern_returns_none ... ok test client::retry_tests::parse_relay_json_with_error_field ... ok test client::retry_tests::parse_relay_json_with_message_field ... ok test client::retry_tests::parse_retry_in_zero_seconds ... ok test client::retry_tests::retry_constants_are_sensible ... ok test client::tests::create_response_with_id_overrides_local_id_with_relay_id ... ok test client::tests::extract_relay_response_field_reads_response_message_json ... ok test client::tests::extract_relay_response_field_returns_none_for_non_response_message ... ok test client::tests::query_cursor_rejects_missing_or_malformed_sort_key ... ok test client::tests::query_cursor_uses_last_events_composite_sort_key ... ok test client::retry_policy_tests::exhausted_ingest_429_returns_relay_429_retryable ... ok test client::tests::sign_event_unchecked_does_not_inject_ambient_auth_tag ... ok test client::tests::sign_event_unchecked_preserves_callers_content_auth_tag ... ok test client::tests::with_auth_tag_omits_header_when_not_configured ... ok test commands::agents::tests::archived_non_hex_p_tag_dropped ... ok test commands::agents::tests::archived_short_p_tag_dropped ... ok test commands::agents::tests::archived_state2_empty_p_tags_returns_empty ... ok test commands::agents::tests::archived_state2_valid_event_returns_pubkeys ... ok test client::tests::with_auth_tag_sets_header_when_configured ... ok test commands::agents::tests::archived_state3_duplicate_nip70_tags_errors ... ok test commands::agents::tests::archived_state3_exact_marker_plus_malformed_marker_errors ... ok test commands::agents::tests::archived_state3_lone_malformed_nip70_tag_errors ... ok test commands::agents::tests::archived_state3_no_nip70_tag_errors ... ok test commands::agents::tests::archived_state3_wrong_author_errors ... ok test commands::agents::tests::archived_state3_wrong_kind_errors ... ok test commands::agents::tests::auth_selection_case_insensitive_owner_match ... ok test commands::agents::tests::archived_uppercase_self_matches_lowercase_event_author ... ok test commands::agents::tests::auth_selection_malformed_non_hex_owner_returns_none ... ok test commands::agents::tests::auth_selection_malformed_five_elements_returns_none ... ok test commands::agents::tests::auth_selection_malformed_short_sig_returns_none ... ok test commands::agents::tests::auth_selection_malformed_non_hex_sig_returns_none ... ok test commands::agents::tests::auth_selection_malformed_three_elements_returns_none ... ok test commands::agents::tests::auth_selection_no_tags_returns_none ... ok test commands::agents::tests::auth_selection_non_array_tag_skipped ... ok test commands::agents::tests::auth_selection_non_owner_returns_none ... ok test commands::agents::tests::auth_selection_non_string_elements_returns_none ... ok test commands::agents::tests::auth_selection_owner_match_returns_tag ... ok test commands::agents::tests::auth_selection_valid_plus_duplicate_auth_tag_returns_none ... ok test commands::agents::tests::auth_selection_valid_plus_malformed_second_auth_tag_returns_none ... ok test commands::agents::tests::auth_selection_wrong_label_returns_none ... ok test commands::agents::tests::normalize_self_lowercases_uppercase_hex ... ok test commands::agents::tests::normalize_self_rejects_non_hex ... ok test commands::agents::tests::normalize_self_rejects_wrong_length ... ok test commands::channel_templates::tests::find_template_missing_store_is_not_found ... ok test commands::channel_templates::tests::find_template_matches_case_insensitive ... ok test commands::channel_templates::tests::find_template_not_found_lists_available_names ... ok test commands::channel_templates::tests::load_templates_parses_full_roster ... ok test commands::channel_templates::tests::resolve_templates_path_defaults_to_prod_bundle ... ok test commands::channel_templates::tests::resolve_templates_path_honors_override ... ok test commands::channels::tests::archive_filter_all_instances_archived_is_skipped_with_explicit_reason ... ok test commands::channels::tests::archive_filter_drops_archived_instance_and_resolves_to_live_one ... ok test commands::channels::tests::archive_filter_no_instances_ever_existed_is_skipped_with_different_reason ... ok test commands::channels::tests::archive_filter_report_shape_includes_archived_excluded ... ok test commands::channels::tests::archive_filter_state3_ambiguity_warns_on_sink_and_in_error_detail ... ok test commands::channels::tests::archive_filter_state3_on_ambiguity_path_keeps_hard_error_with_warning ... ok test commands::channels::tests::archive_filter_state3_on_success_path_proceeds_with_warning ... ok test commands::channels::tests::archive_filter_state3_success_warns_on_sink_and_in_report ... ok test commands::channels::tests::build_template_report_omits_warning_key_when_none ... ok test commands::channels::tests::cardinality_empty_roster_resolves_to_empty_lists ... ok test commands::channels::tests::cardinality_ignores_instances_for_unrelated_slugs ... ok test commands::channels::tests::cardinality_mixed_slugs_zero_one_many_reports_first_ambiguity ... ok test commands::channels::tests::cardinality_multiple_instances_is_hard_error_listing_candidates ... ok test commands::channels::tests::cardinality_one_instance_is_added ... ok test commands::channels::tests::cardinality_zero_instances_is_skipped_not_error ... ok test commands::channels::tests::from_event_extracts_known_tags ... ok test commands::channels::tests::from_event_marks_archived ... ok test commands::channels::tests::from_event_marks_private ... ok test commands::channels::tests::from_event_returns_none_without_required_tags ... ok test commands::channels::tests::from_event_tolerates_malformed_tags ... ok test commands::channels::tests::name_matches_exact_case_insensitive ... ok test commands::channels::tests::name_matches_substring_case_insensitive ... ok test commands::channels::tests::set_add_policy_accepts_allowed_policy ... ok test commands::channels::tests::set_add_policy_no_restriction_allows_all ... ok test commands::channels::tests::set_add_policy_rejects_disallowed_policy ... ok test commands::channels::tests::validate_ttl_accepts_positive ... ok test commands::channels::tests::validate_ttl_rejects_overflow ... ok test commands::channels::tests::validate_ttl_rejects_zero_and_negative ... ok test commands::emoji::tests::union_equal_timestamps_tie_break_to_smallest_url ... ok test commands::emoji::tests::union_latest_set_wins_per_shortcode ... ok test commands::mem::tests::diffy_apply_refuses_mismatched_context ... ok test commands::mem::tests::diffy_apply_succeeds_on_exact_context ... ok test commands::mem::tests::diffy_roundtrip_preserves_content ... ok test commands::mem::tests::multi_file_header_count ... ok test commands::channels::tests::set_add_policy_env_gate_rejects_disallowed_via_full_path ... ok test commands::mem::tests::resolve_reader_agent_flag_uses_cli_identity_as_owner ... ok test commands::mem::tests::resolve_reader_defaults_to_agent_identity ... ok test commands::mem::tests::resolve_reader_rejects_agent_flag_matching_cli_identity ... ok test commands::mem::tests::sha256_hex_abc ... ok test commands::mem::tests::sha256_hex_empty ... ok test commands::mem::tests::sha256_hex_handles_newline_terminated_value ... ok test commands::mem::tests::strict_position_accepts_exact_match ... ok test commands::mem::tests::strict_position_accepts_multi_hunk_against_original ... ok test commands::mem::tests::strict_position_accepts_pure_insertion_into_empty ... ok test commands::mem::tests::strict_position_handles_no_trailing_newline ... ok test commands::mem::tests::strict_position_rejects_offset_slide ... ok test commands::messages::tests::author_name_ambiguity_returns_all_candidates ... ok test commands::messages::tests::author_name_dedups_replaceable_event_copies ... ok test commands::messages::tests::author_name_match_is_exact_case_insensitive ... ok test commands::messages::tests::author_name_no_match_and_malformed_content ... ok test commands::messages::tests::cli_pipeline_resolves_body_at_names_to_member_pubkeys ... ok test commands::messages::tests::cli_pipeline_resolves_multiword_display_names ... ok test commands::messages::tests::cli_pipeline_returns_empty_when_no_at_names ... ok test commands::messages::tests::combined_mention_union_errors_instead_of_truncating ... ok test commands::messages::tests::explicit_mentions_accept_hex_and_npub_and_deduplicate ... ok test commands::messages::tests::explicit_mentions_authorize_ambiguous_presentation_text ... ok test commands::messages::tests::explicit_mentions_authorize_presentation_text_without_name_resolution ... ok test commands::messages::tests::explicit_mentions_make_all_at_names_presentation_only ... ok test commands::mem::tests::resolve_reader_rejects_owner_with_agent_flag ... ok test commands::messages::tests::malformed_marker_id_is_ignored ... ok test commands::messages::tests::malformed_root_does_not_shadow_valid_reply ... ok test commands::messages::tests::malformed_tags_are_skipped ... ok test commands::messages::tests::membership_preflight_lists_only_missing_mentions ... ok test commands::messages::tests::no_thread_markers_returns_none ... ok test commands::messages::tests::non_array_input_returns_none ... ok test commands::messages::tests::mention_evidence_comes_from_signed_event_tags ... ok test commands::messages::tests::parse_member_pubkeys_filters_invalid_hex ... ok test commands::messages::tests::parse_member_pubkeys_handles_malformed_event ... ok test commands::messages::tests::parse_member_pubkeys_ignores_non_p_tags ... ok test commands::messages::tests::reply_only_falls_back_to_reply_target ... ok test commands::messages::tests::root_marker_wins_over_reply_marker ... ok test commands::messages::tests::unmarked_e_tag_ignored ... ok test commands::notes::tests::format_note_candidates_uses_untitled_for_empty_title ... ok test commands::notes::tests::format_note_candidates_sorts_newest_first ... ok test commands::notes::tests::note_snapshot_garbage_published_at_yields_none ... ok test commands::notes::tests::note_snapshot_missing_d_tag_is_err ... ok test commands::notes::tests::note_snapshot_parses_all_standard_tags ... ok test commands::notes::tests::parse_naddr_accepts_kpi_form ... ok test commands::notes::tests::note_snapshot_rejects_wrong_kind ... ok test commands::notes::tests::parse_naddr_rejects_wrong_kind ... ok test commands::notes::tests::parse_slug_accepts_dots_and_underscores ... ok test commands::notes::tests::parse_slug_accepts_dco_recipe ... ok test commands::notes::tests::parse_slug_rejects_empty ... ok test commands::notes::tests::parse_slug_rejects_overlong ... ok test commands::notes::tests::parse_slug_rejects_spaces ... ok test commands::notes::tests::parse_slug_rejects_uppercase ... ok test commands::notes::tests::set_first_publish_requires_title ... ok test commands::notes::tests::rm_event_is_kind5_with_a_tag_only ... ok test commands::notes::tests::set_first_publish_sets_published_at_to_now ... ok test commands::notes::tests::set_first_publish_with_no_prior_published_at_uses_now_even_after_a_garbage_prior ... ok test commands::notes::tests::set_update_carries_summary_when_omitted ... ok test commands::notes::tests::set_update_carries_tags_when_omitted ... ok test commands::notes::tests::set_update_clears_summary_when_explicit_empty ... ok test commands::notes::tests::set_update_clears_tags_when_explicit_empty_slice ... ok test commands::notes::tests::set_update_clears_title_when_explicit_empty ... ok test commands::notes::tests::set_update_preserves_published_at_and_carries_title ... ok test commands::notes::tests::validate_get_args_accepts_minimal_forms ... ok test commands::notes::tests::set_update_replaces_tags_when_provided ... ok test commands::notes::tests::validate_get_args_rejects_author_and_latest_together ... ok test commands::notes::tests::validate_get_args_rejects_naddr_with_refiners ... ok test commands::notes::tests::validate_get_args_requires_exactly_one_selector ... ok test commands::patches::tests::parse_committer_rejects_wrong_field_count ... ok test commands::patches::tests::parse_committer_valid ... ok test commands::patches::tests::parse_status_accepts_known_words ... ok test commands::patches::tests::parse_status_rejects_unknown_word ... ok test commands::pr::tests::read_optional_body_defaults_empty ... ok test commands::pr::tests::read_optional_body_rejects_body_and_body_file_together ... ok test commands::repos::tests::duplicate_write_response_is_a_conflict ... ok test commands::repos::tests::protection_list_keeps_unknown_rules_visible ... ok test commands::repos::tests::protection_list_surfaces_malformed_rules_for_recovery ... ok test commands::repos::tests::protection_set_requires_at_least_one_rule ... ok test commands::repos::tests::protection_remove_preserves_other_patterns ... ok test commands::repos::tests::protection_update_enforces_repository_rule_limit ... ok test commands::repos::tests::protection_update_preserves_metadata_and_replaces_only_matching_pattern ... ok test commands::repos::tests::protection_update_rejects_malformed_existing_rules ... ok test commands::repos::tests::successful_write_response_is_normalized ... ok test commands::social::tests::malformed_tags_json_is_usage_error ... ok test commands::social::tests::parameterized_social_list_kind_detection ... ok test commands::social::tests::parses_tags_json_and_detects_d_tag ... ok test commands::social::tests::social_list_kind_validation_accepts_supported_kinds ... ok test commands::social::tests::social_list_kind_validation_rejects_unsupported_kinds ... ok test commands::users::tests::presence_subject_falls_back_to_author_for_malformed_p_tag ... ok test commands::users::tests::presence_subject_falls_back_to_author_without_p_tag ... ok test commands::users::tests::presence_subject_uses_p_tag ... ok test error::tests::json_error_retryable_false_for_usage ... ok test error::tests::network_builder_errors_are_not_retryable ... ok test error::tests::json_error_includes_retryable_field_for_network ... ok test error::tests::other_errors_are_not_retryable ... ok test error::tests::relay_400_401_403_404_422_are_not_retryable ... ok test error::tests::relay_429_502_503_504_are_retryable ... ok test error::tests::network_display_includes_detail_beyond_prefix ... ok test tests::cli_definition_is_valid ... ok test tests::secret_env_args_hide_their_values_in_help ... ok test tests::command_inventory_is_stable ... ok test tests::set_status_requires_text_or_clear ... ok test tests::set_status_clear_rejects_text_and_emoji ... ok test tests::subcommand_counts_are_stable ... ok test tests::subcommand_names_are_stable ... ok test validate::tests::infer_language_no_ext ... ok test validate::tests::infer_language_path_with_dirs ... ok test validate::tests::infer_language_rust ... ok test validate::tests::infer_language_ts ... ok test validate::tests::infer_language_tsx ... ok test validate::tests::infer_language_unknown_ext ... ok test validate::tests::parse_event_id_invalid ... ok test validate::tests::parse_event_id_valid ... ok test validate::tests::parse_uuid_invalid ... ok test validate::tests::parse_uuid_valid ... ok test validate::tests::percent_encode_empty ... ok test validate::tests::percent_encode_slash ... ok test validate::tests::percent_encode_space ... ok test validate::tests::percent_encode_unicode_multibyte ... ok test validate::tests::percent_encode_unreserved_unchanged ... ok test validate::tests::read_file_or_stdin_does_not_treat_path_as_literal_content ... ok test validate::tests::read_file_or_stdin_reads_file_contents ... ok test validate::tests::read_or_stdin_passthrough_empty_string ... ok test validate::tests::read_or_stdin_passthrough_returns_value ... ok test validate::tests::truncate_diff_appends_notice ... ok test validate::tests::truncate_diff_at_limit_noop ... ok test validate::tests::truncate_diff_cuts_at_hunk_boundary ... ok test validate::tests::truncate_diff_falls_back_to_newline ... ok test validate::tests::truncate_diff_under_limit_noop ... ok test validate::tests::validate_content_size_at_limit ... ok test validate::tests::validate_content_size_empty ... ok test validate::tests::validate_content_size_over_limit ... ok test validate::tests::validate_hex64_all_digits ... ok test validate::tests::validate_hex64_non_hex_char ... ok test validate::tests::validate_hex64_too_long ... ok test validate::tests::validate_hex64_too_short ... ok test validate::tests::validate_hex64_valid ... ok test validate::tests::validate_repo_id_boundary_64_chars ... ok test validate::tests::validate_repo_id_rejects_double_dot ... ok test validate::tests::validate_repo_id_rejects_empty ... ok test validate::tests::validate_repo_id_rejects_invalid_chars ... ok test validate::tests::validate_repo_id_rejects_leading_dot ... ok test validate::tests::validate_repo_id_rejects_over_64 ... ok test validate::tests::validate_repo_id_valid ... ok test validate::tests::validate_uuid_empty ... ok test validate::tests::validate_uuid_malformed ... ok test validate::tests::validate_uuid_valid ... ok test client::retry_policy_tests::query_502_is_retried_then_succeeds ... ok test client::retry_policy_tests::stored_event_502_is_retried_under_standard_policy ... ok test client::retry_policy_tests::with_retry_body_retries_on_body_transfer_failure ... ok test client::retry_policy_tests::upload_body_loss_is_retried_with_same_file_bytes ... ok test client::retry_policy_tests::stored_event_all_502s_return_delivery_unknown ... ok test client::retry_policy_tests::stored_event_all_body_losses_return_delivery_unknown ... ok test client::retry_policy_tests::exhausted_connect_failures_return_network_retryable ... ok test client::retry_policy_tests::stored_event_body_loss_is_retried_with_same_event_bytes ... ok test client::retry_policy_tests::moderation_kind_ingest_429_is_retried_until_success ... ok test client::retry_policy_tests::query_429_with_hint_is_retried ... ok test result: ok. 260 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.01s Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz-0b67ddeb4591ba08) running 0 tests test result: ok. 0 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_dev_mcp-649de6d2b2952acb) running 96 tests test paths::tests::resolve_path_allows_outside_workspace ... ok test rg::tests::parse_basic_pattern_and_path ... ok test rg::tests::capped_sink_stops_at_byte_limit ... ok test rg::tests::glob_matches_simple_patterns ... ok test rg::tests::parse_files_only ... ok test rg::tests::fallback_finds_match_in_file ... ok test read_file::tests::read_empty_file ... ok test rg::tests::parse_rejects_unknown_flag ... ok test read_file::tests::read_file_without_trailing_newline ... ok test read_file::tests::read_limit_zero ... ok test shell::tests::test_windows_apps_alias_detected_case_insensitive ... ok test shell::tests::test_windows_apps_alias_rejected_real_git_bash ... ok test read_file::tests::read_offset_limit ... ok test shell::tests::test_windows_apps_alias_detected_typical_path ... ok test shell::tests::test_windows_apps_alias_rejected_partial_component_match ... ok test read_file::tests::read_basic ... ok test shell::tests::test_windows_apps_alias_rejected_system32_bash ... ok test shell::tests::test_windows_apps_alias_rejected_unix_bash ... ok test read_file::tests::read_offset_past_end ... ok test read_file::tests::read_allows_absolute_path ... ok test shim::git_user_name_tests::test_angle_brackets_are_stripped_so_no_second_email_is_rendered ... ok test shim::git_user_name_tests::test_bidi_override_is_stripped_and_the_name_is_kept ... ok test shim::git_user_name_tests::test_build_git_env_falls_back_to_npub_when_display_name_is_unusable ... ok test shim::git_user_name_tests::test_crud_mixed_with_real_characters_is_kept ... ok test shim::git_user_name_tests::test_build_git_env_falls_back_to_npub_when_display_name_unset ... ok test shim::git_user_name_tests::test_crud_only_name_falls_back_rather_than_aborting_every_commit ... ok test shim::git_user_name_tests::test_build_git_env_uses_display_name_and_leaves_email_on_the_pubkey ... ok test shim::git_user_name_tests::test_empty_name_falls_back_to_npub ... ok test shim::git_user_name_tests::test_format_characters_do_not_consume_the_length_budget ... ok test shim::git_user_name_tests::test_format_only_name_falls_back_to_npub ... ok test shim::git_user_name_tests::test_git_crud_set_matches_observed_git_behavior ... ok test shim::git_user_name_tests::test_internal_whitespace_runs_collapse_to_one_space ... ok test shim::git_user_name_tests::test_non_ascii_names_survive ... ok test shim::git_user_name_tests::test_non_whitespace_control_characters_are_dropped_outright ... ok test shim::git_user_name_tests::test_over_length_name_is_truncated_to_the_cap ... ok test shim::git_user_name_tests::test_ordinary_name_passes_through_unchanged ... ok test shim::git_user_name_tests::test_truncation_does_not_leave_a_trailing_space ... ok test shim::git_user_name_tests::test_truncation_never_splits_a_multibyte_character ... ok test shim::git_user_name_tests::test_unicode_format_covers_every_cf_range_and_nothing_adjacent ... ok test shim::git_user_name_tests::test_whitespace_control_characters_become_a_single_separator ... ok test shim::git_user_name_tests::test_whitespace_only_name_falls_back_to_npub ... ok test shim::git_user_name_tests::test_zero_width_space_inside_a_word_is_removed_without_splitting_it ... ok test str_replace::tests::count_occurrences_capped_returns_0_1_2 ... ok test todo::tests::empty_read_returns_placeholder ... ok test todo::tests::explicit_null_is_read ... ok test str_replace::tests::run_basic_replace_emits_diff ... ok test str_replace::tests::run_allows_path_outside_workspace ... ok test str_replace::tests::run_without_replace_all_preserves_single_match_behavior ... ok test str_replace::tests::run_replace_all_errors_on_zero_matches ... ok test str_replace::tests::run_replace_all_replaces_all_occurrences ... ok test todo::tests::hook_params_rejects_unknown_fields ... ok test todo::tests::leading_trailing_spaces_trimmed_on_store ... ok test todo::tests::marking_done_then_removing_no_warning ... ok test todo::tests::post_compact_empty_when_no_items ... ok test todo::tests::post_compact_renders_when_populated ... ok test todo::tests::rejects_bidi_override ... ok test todo::tests::rejects_control_characters ... ok test todo::tests::rejects_duplicate_text ... ok test todo::tests::rejects_duplicate_text_after_trim ... ok test todo::tests::rejects_empty_text ... ok test todo::tests::rejects_too_many_items ... ok test todo::tests::rejects_unicode_line_separator ... ok test todo::tests::rejects_unknown_fields ... ok test todo::tests::rejects_zero_width ... ok test todo::tests::removal_of_done_item_no_warning ... ok test todo::tests::rename_triggers_warning ... ok test todo::tests::render_uses_position_numbers ... ok test todo::tests::silent_removal_warns ... ok test todo::tests::stop_returns_empty_when_all_done ... ok test todo::tests::stop_returns_empty_when_list_is_empty ... ok test todo::tests::stop_returns_objection_when_open_items_exist ... ok test todo::tests::text_at_boundary_200_chars ... ok test todo::tests::write_and_render_atomic ... ok test view_image::tests::data_url_rejects_non_base64 ... ok test view_image::tests::data_url_rejects_non_image_mime ... ok test view_image::tests::data_url_round_trip ... ok test view_image::tests::gif_scan_detects_single_frame_static ... ok test view_image::tests::pixel_count_cap_rejects_decompression_bomb ... ok test view_image::tests::allows_path_outside_workspace ... ok test view_image::tests::media_get_auth_header_shape ... ok test view_image::tests::relay_media_url_matches_relay_host_only ... ok test view_image::tests::rejects_unknown_url_scheme ... ok test view_image::tests::relay_media_url_ws_scheme_and_default_ports ... ok test view_image::tests::rejects_animated_gif ... ok test view_image::tests::webp_scan_detects_animated_via_vp8x_flag ... ok test view_image::tests::sniff_mime_recognises_all_four ... ok test view_image::tests::rejects_unsupported_mime ... ok test view_image::tests::small_png_passes_through_verbatim ... ok test read_file::tests::read_rejects_too_large ... ok test str_replace::tests::run_rejects_file_too_large ... ok test view_image::tests::data_url_rejects_oversized_payload ... ok test shell::tests::basic_echo ... ok test shell::tests::workdir_is_honored ... ok test view_image::tests::oversize_png_with_alpha_resizes_to_png ... ok test view_image::tests::oversize_jpeg_resizes_to_jpeg ... ok test shell::tests::timeout_fires ... ok test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/buzz_dev_mcp-b38e054508801d6e) running 0 tests test result: ok. 0 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/git_credential_nostr-0b7bf8640e9b9e1b) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/git_credential_nostr-87b3e8eafda0fd4a) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/integration.rs (target/x86_64-unknown-linux-gnu/release/deps/integration-7633c336650530eb) running 8 tests test malformed_nip_oa_auth_tag_fails_closed ... ok test missing_method_hint ... ok test old_git_no_authtype_capability ... ok test missing_path ... ok test includes_nip_oa_auth_tag_in_signed_event ... ok test missing_key ... ok test bad_keyfile_permissions ... ok test happy_path ... ok test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests buzz_acp running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests buzz_agent running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests buzz_cli running 1 test test crates/buzz-cli/src/lib.rs - run_from_args (line 19) ... ignored test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests buzz_dev_mcp running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests git_credential_nostr running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Finished cargoCheckHook checkPhase completed in 2 minutes 3 seconds Running phase: installPhase Executing cargoInstallHook Finished cargoInstallHook Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2 shrinking /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin/buzz-acp shrinking /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin/buzz shrinking /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin/buzz-dev-mcp shrinking /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin/git-credential-nostr shrinking /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin/buzz-agent checking for references to /build/ in /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2... patching script interpreter paths in /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2 stripping (with command strip and flags -S -p) in /nix/store/h7gynyypi2lp7mi7a6mssylk1l4qfna4-buzz-sidecars-0.5.2/bin