[INFO] fetching crate clawhip 0.6.6... [INFO] testing clawhip-0.6.6 against 1.95.0 for beta-1.96-1 [INFO] extracting crate clawhip 0.6.6 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate clawhip 0.6.6 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate clawhip 0.6.6 [INFO] tweaked toml for crates.io crate clawhip 0.6.6 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate clawhip 0.6.6 on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate clawhip 0.6.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 49ba0024fcef6dd90e29797aac290c0503ea6960110bc5e10a59d306ed8c5413 [INFO] running `Command { std: "docker" "start" "-a" "49ba0024fcef6dd90e29797aac290c0503ea6960110bc5e10a59d306ed8c5413", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "49ba0024fcef6dd90e29797aac290c0503ea6960110bc5e10a59d306ed8c5413", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49ba0024fcef6dd90e29797aac290c0503ea6960110bc5e10a59d306ed8c5413", kill_on_drop: false }` [INFO] [stdout] 49ba0024fcef6dd90e29797aac290c0503ea6960110bc5e10a59d306ed8c5413 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30cba2890b8aaf9f2dc78c32001c646c5b25f9d34d1a99fc2b8af7ceaf805998 [INFO] running `Command { std: "docker" "start" "-a" "30cba2890b8aaf9f2dc78c32001c646c5b25f9d34d1a99fc2b8af7ceaf805998", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling tokio v1.51.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling clawhip v0.6.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.99s [INFO] running `Command { std: "docker" "inspect" "30cba2890b8aaf9f2dc78c32001c646c5b25f9d34d1a99fc2b8af7ceaf805998", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30cba2890b8aaf9f2dc78c32001c646c5b25f9d34d1a99fc2b8af7ceaf805998", kill_on_drop: false }` [INFO] [stdout] 30cba2890b8aaf9f2dc78c32001c646c5b25f9d34d1a99fc2b8af7ceaf805998 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 53ecc7226fd8ba8c1b732e88515178ed55f363a8efa60d1acfefeca4b1f795bf [INFO] running `Command { std: "docker" "start" "-a" "53ecc7226fd8ba8c1b732e88515178ed55f363a8efa60d1acfefeca4b1f795bf", kill_on_drop: false }` [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling fastrand v2.4.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling clawhip v0.6.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 36.79s [INFO] running `Command { std: "docker" "inspect" "53ecc7226fd8ba8c1b732e88515178ed55f363a8efa60d1acfefeca4b1f795bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53ecc7226fd8ba8c1b732e88515178ed55f363a8efa60d1acfefeca4b1f795bf", kill_on_drop: false }` [INFO] [stdout] 53ecc7226fd8ba8c1b732e88515178ed55f363a8efa60d1acfefeca4b1f795bf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9f9c5e0baf0e7456cabbc2d4ee5b45af19c6757a4b178da99167896bfd370267 [INFO] running `Command { std: "docker" "start" "-a" "9f9c5e0baf0e7456cabbc2d4ee5b45af19c6757a4b178da99167896bfd370267", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/clawhip-61fd6c50f89cd603) [INFO] [stdout] [INFO] [stdout] running 391 tests [INFO] [stdout] test binding_verify::tests::apply_repo_binding_creates_route ... ok [INFO] [stdout] test binding_verify::tests::audit_display_empty ... ok [INFO] [stdout] test binding_verify::tests::apply_repo_binding_updates_existing ... ok [INFO] [stdout] test binding_verify::tests::skips_empty_channel_fields ... ok [INFO] [stdout] test binding_verify::tests::collects_route_binding_with_filter ... ok [INFO] [stdout] test binding_verify::tests::verdict_match_case_insensitive ... ok [INFO] [stdout] test binding_verify::tests::verdict_mismatch_on_different_name ... ok [INFO] [stdout] test binding_verify::tests::verdict_match_strips_hash_prefix ... ok [INFO] [stdout] test binding_verify::tests::verdict_match_when_hint_matches ... ok [INFO] [stdout] test binding_verify::tests::verdict_no_token ... ok [INFO] [stdout] test binding_verify::tests::verdict_not_found ... ok [INFO] [stdout] test cli::tests::emit_args_merge_payload_json_with_extra_fields ... ok [INFO] [stdout] test cli::tests::native_hook_args_reject_empty_input ... ok [INFO] [stdout] test binding_verify::tests::verdict_resolved_without_hint ... ok [INFO] [stdout] test binding_verify::tests::audit_display_shows_summary ... ok [INFO] [stdout] test cli::tests::emit_agent_lifecycle_events_normalize_for_validation ... ok [INFO] [stdout] test cli::tests::emit_args_reject_invalid_field_shape ... ok [INFO] [stdout] test cli::tests::native_hook_args_read_payload_from_inline_json ... ok [INFO] [stdout] test cli::tests::bare_update_without_restart_defaults_to_false ... ok [INFO] [stdout] test binding_verify::tests::collects_tmux_monitor_binding ... ok [INFO] [stdout] test cli::tests::parses_hooks_install_subcommand ... ok [INFO] [stdout] test cli::tests::parses_agent_failed_subcommand ... ok [INFO] [stdout] test cli::tests::parses_emit_subcommand_with_top_level_fields ... ok [INFO] [stdout] test cli::tests::parses_cron_run_subcommand ... ok [INFO] [stdout] test cli::tests::parses_hooks_install_with_global_scope_and_force ... ok [INFO] [stdout] test cli::tests::emit_args_reject_invalid_format ... ok [INFO] [stdout] test cli::tests::parses_hooks_install_all_flag ... ok [INFO] [stdout] test cli::tests::parses_config_verify_bindings_text_default ... ok [INFO] [stdout] test cli::tests::parses_setup_webhook_subcommand ... ok [INFO] [stdout] test cli::tests::parses_plugin_list_subcommand ... ok [INFO] [stdout] test binding_verify::tests::collects_default_channel_binding ... ok [INFO] [stdout] test binding_verify::tests::collects_git_monitor_binding ... ok [INFO] [stdout] test cli::tests::parses_setup_bind_subcommand ... ok [INFO] [stdout] test cli::tests::parses_tmux_new_with_explicit_follow_flag ... ok [INFO] [stdout] test cli::tests::parses_tmux_list_subcommand ... ok [INFO] [stdout] test cli::tests::parses_native_hook_subcommand ... ok [INFO] [stdout] test cli::tests::parses_update_approve_subcommand ... ok [INFO] [stdout] test cli::tests::parses_update_check_subcommand ... ok [INFO] [stdout] test cli::tests::parses_update_status_subcommand ... ok [INFO] [stdout] test cli::tests::parses_update_dismiss_subcommand ... ok [INFO] [stdout] test cli::tests::bare_update_preserves_legacy_restart_flag ... ok [INFO] [stdout] test cli::tests::parses_tmux_watch_subcommand ... ok [INFO] [stdout] test cli::tests::parses_agent_finished_subcommand ... ok [INFO] [stdout] test config::tests::ambiguous_quickstart_routes_fail_without_mutating_config ... ok [INFO] [stdout] test config::tests::config_editor_menu_matches_bounded_preset_contract ... ok [INFO] [stdout] test cli::tests::parses_deliver_subcommand ... ok [INFO] [stdout] test cli::tests::parses_tmux_new_with_retry_enter_disabled ... ok [INFO] [stdout] test cli::tests::parses_tmux_new_with_retry_enter_backoff_overrides ... ok [INFO] [stdout] test cli::tests::tmux_new_defaults_to_non_follow_mode_for_194 ... ok [INFO] [stdout] test config::tests::discord_token_source_reports_missing_when_unset ... ok [INFO] [stdout] test cli::tests::setup_without_flags_fails_with_help ... ok [INFO] [stdout] test config::tests::cron_config_defaults_are_backward_compatible ... ok [INFO] [stdout] test config::tests::discord_token_source_prefers_env_over_config ... ok [INFO] [stdout] test config::tests::cron_validation_rejects_duplicate_ids ... ok [INFO] [stdout] test cli::tests::parses_memory_init_subcommand ... ok [INFO] [stdout] test config::tests::dispatch_config_defaults_ci_batch_window_to_thirty_seconds ... ok [INFO] [stdout] test config::tests::legacy_env_token_is_still_supported ... ok [INFO] [stdout] test cli::tests::parses_memory_status_subcommand ... ok [INFO] [stdout] test cli::tests::parses_setup_mixed_flag_subcommand ... ok [INFO] [stdout] test cli::tests::parses_install_subcommand_with_skip_star_prompt ... ok [INFO] [stdout] test config::tests::load_or_default_defaults_dispatch_ci_batch_window_when_omitted ... ok [INFO] [stdout] test config::tests::load_or_default_parses_dispatch_ci_batch_window_secs ... ok [INFO] [stdout] test cli::tests::parses_config_verify_bindings_subcommand ... ok [INFO] [stdout] test config::tests::load_or_default_defaults_routine_batch_window_when_omitted ... ok [INFO] [stdout] test config::tests::config_without_workspace_monitor_still_loads ... ok [INFO] [stdout] test config::tests::load_or_default_migrates_legacy_discord_to_providers ... ok [INFO] [stdout] test cli::tests::setup_help_mentions_manual_advanced_editing ... ok [INFO] [stdout] test config::tests::load_or_default_preserves_zero_dispatch_ci_batch_window_secs_until_validation ... ok [INFO] [stdout] test config::tests::load_or_default_parses_dispatch_routine_batch_window_secs ... ok [INFO] [stdout] test config::tests::load_or_default_allows_zero_dispatch_routine_batch_window_secs_to_disable_batching ... ok [INFO] [stdout] test config::tests::normalize_trims_workspace_monitor_fields ... ok [INFO] [stdout] test config::tests::provider_discord_token_is_used_when_present ... ok [INFO] [stdout] test config::tests::load_or_default_rejects_conflicting_legacy_and_provider_discord ... ok [INFO] [stdout] test config::tests::route_cannot_set_channel_and_webhook ... ok [INFO] [stdout] test config::tests::setup_edits_require_at_least_one_non_empty_value ... ok [INFO] [stdout] test config::tests::setup_mixed_flag_edits_update_only_owned_nodes ... ok [INFO] [stdout] test config::tests::setup_scaffold_adds_canonical_quickstart_route ... ok [INFO] [stdout] test config::tests::dispatch_config_defaults_routine_batch_window_to_five_seconds ... ok [INFO] [stdout] test config::tests::slack_route_can_use_generic_webhook_field ... ok [INFO] [stdout] test config::tests::load_or_default_parses_cron_jobs ... ok [INFO] [stdout] test config::tests::setup_non_webhook_edits_do_not_touch_routes ... ok [INFO] [stdout] test config::tests::setup_webhook_rerun_updates_only_canonical_quickstart_route ... ok [INFO] [stdout] test config::tests::slack_route_cannot_set_channel ... ok [INFO] [stdout] test config::tests::slack_webhook_route_satisfies_delivery_validation_without_bot_token ... ok [INFO] [stdout] test config::tests::tmux_session_monitor_defaults_keyword_window_to_thirty_seconds ... ok [INFO] [stdout] test config::tests::webhook_route_satisfies_delivery_validation_without_bot_token ... ok [INFO] [stdout] test config::tests::workspace_monitor_defaults_are_backward_compatible ... ok [INFO] [stdout] test core::circuit_breaker::tests::opens_after_threshold_failures ... ok [INFO] [stdout] test core::dlq::tests::stores_full_context ... ok [INFO] [stdout] test core::rate_limit::tests::bucket_allows_up_to_capacity_without_delay ... ok [INFO] [stdout] test core::timer_wheel::tests::delivers_due_entries ... ok [INFO] [stdout] test core::rate_limit::tests::limiter_is_scoped_per_key ... ok [INFO] [stdout] test core::circuit_breaker::tests::cooldown_transitions_to_half_open_probe ... ok [INFO] [stdout] test core::timer_wheel::tests::leaves_future_entries_pending ... ok [INFO] [stdout] test cron::tests::evaluate_state_file_normalizes_whitespace_in_fingerprint ... ok [INFO] [stdout] test core::circuit_breaker::tests::success_closes_half_open_circuit ... ok [INFO] [stdout] test cron::tests::scheduler_startup_tolerates_empty_state_file ... ok [INFO] [stdout] test cron::tests::scheduler_restart_does_not_refire_jobs_for_same_minute ... ok [INFO] [stdout] test cron::tests::evaluate_state_file_treats_missing_counters_as_nonzero ... ok [INFO] [stdout] test cron::tests::emits_again_when_state_file_changes_even_with_zero_backlog ... ok [INFO] [stdout] test cron::tests::scheduler_startup_tolerates_invalid_state_file ... ok [INFO] [stdout] test cron::tests::job_without_state_file_preserves_legacy_behavior ... ok [INFO] [stdout] test cron::tests::fingerprint_persists_across_scheduler_restarts ... ok [INFO] [stdout] test cron::tests::missing_state_file_fails_open_and_fires_normally ... ok [INFO] [stdout] test cron::tests::schedule_parser_supports_lists_ranges_and_steps ... ok [INFO] [stdout] test cron::tests::scheduler_emits_matching_custom_job_once_per_minute ... ok [INFO] [stdout] test daemon::tests::approve_returns_error_when_no_pending_update ... ok [INFO] [stdout] test daemon::tests::dismiss_clears_pending_update ... ok [INFO] [stdout] test daemon::tests::post_native_hook_rejects_unsupported_event ... ok [INFO] [stdout] test daemon::tests::post_event_returns_event_id_and_preserves_normalized_metadata ... ok [INFO] [stdout] test cron::tests::scheduler_restart_still_emits_on_next_matching_minute ... ok [INFO] [stdout] test cron::tests::never_suppresses_when_backlog_is_nonzero ... ok [INFO] [stdout] test cron::tests::validate_job_rejects_non_utc_timezones_for_now ... ok [INFO] [stdout] test daemon::tests::dismiss_returns_error_when_no_pending_update ... ok [INFO] [stdout] test daemon::tests::update_status_returns_pending_when_set ... ok [INFO] [stdout] test daemon::tests::update_status_returns_no_pending_when_empty ... ok [INFO] [stdout] test cron::tests::suppresses_repeat_nudge_when_backlog_is_zero_and_state_unchanged ... ok [INFO] [stdout] test discord::tests::parses_retry_after_for_429 ... ok [INFO] [stdout] test discord::tests::webhook_urls_gain_wait_true_by_default ... ok [INFO] [stdout] test config::tests::workspace_monitor_config_parses_and_normalizes ... ok [INFO] [stdout] test dispatch::tests::batch_key_prefers_workflow_run_id ... ok [INFO] [stdout] test cron::tests::re_emits_immediately_when_backlog_transitions_back_from_zero ... ok [INFO] [stdout] test dispatch::tests::batcher_flushes_when_all_jobs_for_run_are_terminal ... ok [INFO] [stdout] test daemon::tests::spawn_source_allows_cron_source_to_start_with_empty_state_and_emit_job_event ... ok [INFO] [stdout] test discord::tests::lookup_channel_returns_no_token_when_missing ... ok [INFO] [stdout] test discord::tests::lookup_channel_returns_not_found ... ok [INFO] [stdout] test daemon::tests::health_payload_includes_version_and_token_source ... ok [INFO] [stdout] test daemon::tests::list_tmux_returns_registered_sessions_with_metadata ... ok [INFO] [stdout] test discord::tests::lookup_channel_returns_found_with_name ... ok [INFO] [stdout] test discord::tests::lookup_channel_returns_forbidden ... ok [INFO] [stdout] test discord::tests::lookup_channel_returns_unauthorized ... ok [INFO] [stdout] test discord::tests::lookup_channel_does_not_touch_dlq_on_failure ... ok [INFO] [stdout] test dispatch::tests::dispatcher_continues_after_webhook_failure ... ok [INFO] [stdout] test dispatch::tests::dispatcher_sends_to_slack_webhook ... ok [INFO] [stdout] test dynamic_tokens::tests::disabled_dynamic_tokens_remain_literal ... ok [INFO] [stdout] test dispatch::tests::dispatcher_uses_configured_ci_batch_window_from_app_config ... ok [INFO] [stdout] test dispatch::tests::dispatcher_uses_provided_ci_batch_window ... ok [INFO] [stdout] test dispatch::tests::dispatcher_stops_cleanly_when_channel_closes ... ok [INFO] [stdout] test event::compat::tests::converts_tmux_keyword_hits ... ok [INFO] [stdout] test dispatch::tests::dispatcher_keeps_distinct_delivery_signatures_in_separate_batches ... ok [INFO] [stdout] test event::compat::tests::converts_aggregated_git_commits ... ok [INFO] [stdout] test event::compat::tests::keeps_github_ci_failed_route_compatibility_fields ... ok [INFO] [stdout] test event::compat::tests::keeps_legacy_agent_variants_backward_compatible ... ok [INFO] [stdout] test event::compat::tests::keeps_unknown_events_as_custom ... ok [INFO] [stdout] test event::compat::tests::maps_github_release_prereleased_event ... ok [INFO] [stdout] test event::compat::tests::maps_github_release_published_event ... ok [INFO] [stdout] test event::compat::tests::maps_pr_open_and_merge_statuses ... ok [INFO] [stdout] test event::compat::tests::workspace_blocked_events_are_high_priority ... ok [INFO] [stdout] test dynamic_tokens::tests::env_and_file_tail_tokens_expand ... ok [INFO] [stdout] test events::tests::aggregated_git_commit_render_truncates_after_first_three_and_last_two ... ok [INFO] [stdout] test events::tests::canonical_kind_maps_prompt_lifecycle_aliases ... ok [INFO] [stdout] test event::compat::tests::maps_github_release_edited_event ... ok [INFO] [stdout] test event::compat::tests::reuses_normalized_event_id_when_available ... ok [INFO] [stdout] test events::tests::constructors_default_top_level_mention_to_none ... ok [INFO] [stdout] test events::tests::constructs_agent_events_with_expected_payload_fields ... ok [INFO] [stdout] test events::tests::git_commit_events_aggregate_multi_commit_pushes ... ok [INFO] [stdout] test events::tests::deserializes_top_level_mention_field ... ok [INFO] [stdout] test events::tests::git_commit_events_keep_single_commit_rendering ... ok [INFO] [stdout] test daemon::tests::source_failure_alert_defaults_to_alert_format_and_default_channel_routing ... ok [INFO] [stdout] test daemon::tests::post_native_hook_accepts_codex_payload_and_queues_normalized_event ... ok [INFO] [stdout] test events::tests::normalize_event_backfills_agent_emit_status_fields ... ok [INFO] [stdout] test events::tests::normalize_event_maps_omc_native_contract_into_session_event ... ok [INFO] [stdout] test dispatch::tests::dispatcher_flushes_single_routine_delivery_on_shutdown_and_preserves_mention ... ok [INFO] [stdout] test events::tests::normalize_event_adds_ingress_metadata_and_exposes_it_in_template_context ... ok [INFO] [stdout] test events::tests::normalize_event_maps_native_prompt_and_stop_signals ... ok [INFO] [stdout] test events::tests::renders_agent_blocked_in_all_formats ... ok [INFO] [stdout] test events::tests::renders_agent_finished_in_all_formats ... ok [INFO] [stdout] test dispatch::tests::dispatcher_batches_routine_discord_deliveries_into_single_send ... ok [INFO] [stdout] test events::tests::normalize_event_maps_omc_signal_route_key_into_session_event ... ok [INFO] [stdout] test events::tests::renders_github_ci_started_with_status_details ... ok [INFO] [stdout] test events::tests::renders_agent_started_in_all_formats ... ok [INFO] [stdout] test events::tests::renders_github_ci_failed_in_compact_and_alert_formats ... ok [INFO] [stdout] test events::tests::normalize_event_maps_omx_native_contract_into_session_event ... ok [INFO] [stdout] test events::tests::with_mention_sets_top_level_mention ... ok [INFO] [stdout] test events::tests::template_context_backfills_repo_and_session_aliases ... ok [INFO] [stdout] test events::tests::renders_omc_pr_created_event_using_contract_label ... ok [INFO] [stdout] test events::tests::renders_session_contract_events_in_low_noise_formats ... ok [INFO] [stdout] test events::tests::template_context_preserves_payload_event_without_overwriting_canonical_aliases ... ok [INFO] [stdout] test events::tests::renders_template_from_payload ... ok [INFO] [stdout] test events::tests::tmux_keyword_events_aggregate_multi_hit_windows ... ok [INFO] [stdout] test event::compat::tests::maps_all_canonical_session_events_to_typed_agent_variants ... ok [INFO] [stdout] test events::tests::with_repo_context_sets_repo_and_worktree_paths ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::config_defaults_are_sensible ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::has_prompt_char_detects_common_shells ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::process_tree_matches_provider_detects_wrapped_omc_processes ... ok [INFO] [stdout] test events::tests::renders_agent_failed_in_all_formats ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::has_prompt_char_rejects_empty_and_output_lines ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::parse_process_line_handles_whitespace_padded_ps_output ... ok [INFO] [stdout] test hooks::tests::claude_install_writes_shared_events ... ok [INFO] [stdout] test hooks::tests::codex_install_writes_shared_events ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_dedups_same_keyword_and_line ... ok [INFO] [stdout] test dispatch::tests::dispatcher_keeps_ci_events_off_routine_batcher ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_walks_to_parent_workdir ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_detects_reappended_identical_lines ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_wrapped_exit_error_boilerplate ... ok [INFO] [stdout] test dispatch::tests::dispatcher_keeps_distinct_event_kinds_in_separate_routine_batches ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_uses_snapshot_overlap_for_scrolling_history ... ok [INFO] [stdout] test keyword_window::tests::pending_keyword_hits_flush_when_window_expires ... ok [INFO] [stdout] test keyword_window::tests::pending_keyword_hits_dedups_across_window_additions ... ok [INFO] [stdout] test lifecycle::tests::find_repo_root_returns_cwd_when_valid ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_recognizes_omc_user_prompt_submit_hooks ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_tmux_wrapper_audit_lines ... ok [INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_wrapper_lifecycle_emit_lines ... ok [INFO] [stdout] test hooks::tests::install_project_scope_writes_generic_provider_files ... ok [INFO] [stdout] test lifecycle::tests::stars_repo_only_after_explicit_yes ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_rejects_old_omx_bridge_without_prompt_submit_support ... ok [INFO] [stdout] test lifecycle::tests::skip_flag_or_env_disables_star_prompt ... ok [INFO] [stdout] test lifecycle::tests::skips_star_prompt_when_not_interactive ... ok [INFO] [stdout] test dynamic_tokens::tests::enabled_shell_token_expands ... ok [INFO] [stdout] test lifecycle::tests::update_from_repo_rejects_invalid_explicit_root ... ok [INFO] [stdout] test lifecycle::tests::skips_prompt_when_gh_is_unauthenticated ... ok [INFO] [stdout] test lifecycle::tests::star_failure_does_not_fail_the_install ... ok [INFO] [stdout] test lifecycle::tests::update_from_repo_validates_explicit_root_structure ... ok [INFO] [stdout] test memory::tests::normalize_date_slug_accepts_iso_dates ... ok [INFO] [stdout] test memory::tests::slugify_normalizes_common_inputs ... ok [INFO] [stdout] test memory::tests::normalize_date_slug_rejects_non_iso_dates ... ok [INFO] [stdout] test memory::tests::slugify_rejects_empty_results ... ok [INFO] [stdout] test native_hooks::tests::generated_hook_script_mentions_prompt_submit_state_recording ... ok [INFO] [stdout] test native_hooks::tests::generated_hook_script_mentions_tmux_metadata_collection ... ok [INFO] [stdout] test native_hooks::tests::generated_hook_script_mentions_augment_pipeline ... ok [INFO] [stdout] test native_hooks::tests::hook_script_saves_prompt_summary_and_enriches_stop_events ... ok [INFO] [stdout] test memory::tests::init_keeps_existing_files_without_force ... ok [INFO] [stdout] test memory::tests::inspect_reports_missing_recommended_paths ... ok [INFO] [stdout] test plugins::tests::loads_plugins_from_plugin_toml_files ... ok [INFO] [stdout] test memory::tests::init_creates_memory_scaffold ... ok [INFO] [stdout] test provenance::tests::display_marks_default_fallback_delivery ... ok [INFO] [stdout] test plugins::tests::installs_bundled_plugins_into_destination ... ok [INFO] [stdout] test plugins::tests::rejects_plugin_without_bridge_script ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_lock_fails_when_lock_is_stale ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_lock_fails_when_package_missing ... ok [INFO] [stdout] test provenance::tests::display_provenance_renders_matched_and_skipped_routes ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_lock_ignores_other_packages_with_matching_version ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_lock_passes_when_package_version_matches ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_toml_fails_on_mismatch ... ok [INFO] [stdout] test release_preflight::tests::check_cargo_toml_passes_on_match ... ok [INFO] [stdout] test native_hooks::tests::stop_event_without_stop_context_does_not_invent_summary ... ok [INFO] [stdout] test release_preflight::tests::check_changelog_does_not_match_on_substring_versions ... ok [INFO] [stdout] test release_preflight::tests::check_changelog_fails_when_version_missing ... ok [INFO] [stdout] test release_preflight::tests::check_changelog_fails_when_still_unreleased ... ok [INFO] [stdout] test release_preflight::tests::check_changelog_passes_on_concrete_entry ... ok [INFO] [stdout] test release_preflight::tests::normalize_version_accepts_common_tag_shapes ... ok [INFO] [stdout] test release_preflight::tests::parse_cargo_toml_extracts_name_and_version ... ok [INFO] [stdout] test native_hooks::tests::stop_event_payload_surfaces_stop_context_summary ... ok [INFO] [stdout] test provenance::tests::display_notes_when_no_deliveries_would_fire ... ok [INFO] [stdout] test native_hooks::tests::augmentation_can_add_context_without_overriding_base_fields ... ok [INFO] [stdout] test release_preflight::tests::run_preflight_reports_all_checks_for_matching_repo ... ok [INFO] [stdout] test release_preflight::tests::run_preflight_fails_when_lock_is_stale ... ok [INFO] [stdout] test render::default::tests::does_not_render_worktree_suffix_for_primary_repo_path ... ok [INFO] [stdout] test release_preflight::tests::preflight_report_render_lists_pass_and_fail_markers ... ok [INFO] [stdout] test release_preflight::tests::run_preflight_surfaces_missing_files_as_error ... ok [INFO] [stdout] test render::default::tests::renders_git_commit_with_worktree_suffix_when_distinct ... ok [INFO] [stdout] test render::default::tests::renders_release_inline_format ... ok [INFO] [stdout] test render::default::tests::renders_release_prerelease_compact_with_flag ... ok [INFO] [stdout] test render::default::tests::renders_release_published_compact ... ok [INFO] [stdout] test render::default::tests::renders_workspace_skill_event_compact ... ok [INFO] [stdout] test render::default::tests::renders_release_alert_format ... ok [INFO] [stdout] test native_hooks::tests::loads_project_metadata_from_project_json ... ok [INFO] [stdout] test router::tests::custom_event_channel_takes_precedence_over_route_channel ... ok [INFO] [stdout] test router::tests::custom_event_without_channel_falls_back_to_route_then_default ... ok [INFO] [stdout] test router::tests::custom_send_does_not_inherit_dynamic_tokens_without_channel_match ... ok [INFO] [stdout] test router::tests::agent_family_route_matches_all_agent_events ... ok [INFO] [stdout] test router::tests::custom_send_can_inherit_dynamic_token_opt_in_from_channel_route ... ok [INFO] [stdout] test router::tests::aggregated_git_commit_can_use_github_route_family_and_mention ... ok [INFO] [stdout] test router::tests::event_channel_is_used_when_matching_route_has_no_channel ... ok [INFO] [stdout] test router::tests::explain_multi_route_match_produces_multiple_deliveries ... ok [INFO] [stdout] test native_hooks::tests::stop_event_respects_preexisting_summary_over_stop_context ... ok [INFO] [stdout] test router::tests::event_level_mention_is_used_when_route_mention_is_not_set ... ok [INFO] [stdout] test router::tests::explain_no_routes_and_no_default_produces_empty_deliveries ... ok [INFO] [stdout] test router::tests::explain_reports_filter_mismatch ... ok [INFO] [stdout] test router::tests::explain_json_serialization_roundtrips ... ok [INFO] [stdout] test router::tests::explain_pattern_mismatch_skips_route ... ok [INFO] [stdout] test router::tests::explain_shows_matched_route_with_filter_details ... ok [INFO] [stdout] test router::tests::dispatch_best_effort_continues_after_webhook_failure ... ok [INFO] [stdout] test router::tests::git_and_github_routes_can_filter_on_repo_name_alias ... ok [INFO] [stdout] test router::tests::git_commit_can_use_github_route_family_and_mention ... ok [INFO] [stdout] test router::tests::legacy_agent_events_match_session_routes ... ok [INFO] [stdout] test router::tests::filter_can_route_same_event_type_by_repo ... ok [INFO] [stdout] test router::tests::preview_uses_filtered_route_overrides ... ok [INFO] [stdout] test router::tests::resolve_tmux_session_channel_prefers_matching_tmux_route ... ok [INFO] [stdout] test router::tests::resolve_returns_all_matching_deliveries_in_route_order ... ok [INFO] [stdout] test router::tests::resolve_tmux_session_channel_supports_session_routes ... ok [INFO] [stdout] test router::tests::native_omc_session_events_match_session_routes ... ok [INFO] [stdout] test router::tests::preview_matches_git_routes_on_worktree_path ... ok [INFO] [stdout] test router::tests::resolve_tmux_session_channel_skips_webhooks_and_falls_back_to_defaults ... ok [INFO] [stdout] test router::tests::resolve_tmux_session_channel_with_metadata_does_not_fallback_to_prefix_heuristics ... ok [INFO] [stdout] test router::tests::resolve_tmux_session_channel_with_metadata_prefers_repo_route_over_prefix_heuristic ... ok [INFO] [stdout] test native_hooks::tests::preserves_tmux_metadata_from_native_payloads ... ok [INFO] [stdout] test router::tests::resolve_uses_defaults_when_no_routes_match ... ok [INFO] [stdout] test router::tests::route_level_mention_is_prepended_for_custom ... ok [INFO] [stdout] test router::tests::route_channel_takes_precedence_over_event_channel ... ok [INFO] [stdout] test dispatch::tests::dispatcher_batches_ci_events_into_single_delivery ... ok [INFO] [stdout] test router::tests::session_lifecycle_events_match_existing_agent_routes ... ok [INFO] [stdout] test router::tests::route_level_mention_is_prepended_for_github_and_tmux ... ok [INFO] [stdout] test router::tests::slack_webhook_route_is_used_as_delivery_target ... ok [INFO] [stdout] test router::tests::route_mention_takes_precedence_over_event_mention ... ok [INFO] [stdout] test router::tests::webhook_route_takes_precedence_over_event_channel ... ok [INFO] [stdout] test router::tests::slack_sink_route_can_use_generic_webhook_field ... ok [INFO] [stdout] test discord::tests::retries_429_then_succeeds ... ok [INFO] [stdout] test dispatch::tests::dispatcher_sends_bypass_events_immediately_while_routine_delivery_waits ... ok [INFO] [stdout] test router::tests::slack_dispatch_posts_block_kit_payload ... ok [INFO] [stdout] test router::tests::tmux_routes_prefer_repo_metadata_over_session_prefix_heuristics ... ok [INFO] [stdout] test router::tests::tmux_and_session_routes_share_session_alias_filters ... ok [INFO] [stdout] test router::tests::session_routes_prefer_repo_metadata_over_session_prefix_heuristics ... ok [INFO] [stdout] test router::tests::webhook_route_is_used_as_delivery_target ... ok [INFO] [stdout] test slack::tests::alert_payload_uses_alert_label ... ok [INFO] [stdout] test source::github::tests::ci_state_transition_to_failed_emits_failed_event ... ok [INFO] [stdout] test source::github::tests::ci_state_transition_to_cancelled_emits_cancelled_event ... ok [INFO] [stdout] test source::git::tests::classifies_common_invalid_monitor_failures ... ok [INFO] [stdout] test source::git::tests::git_monitor_backoff_grows_and_caps ... ok [INFO] [stdout] test source::git::tests::parses_worktree_list_output ... ok [INFO] [stdout] test source::github::tests::initial_ci_detection_emits_started_event_with_route_metadata ... ok [INFO] [stdout] test source::github::tests::ci_state_transition_to_passed_emits_passed_event ... ok [INFO] [stdout] test slack::tests::compact_payload_includes_block_kit_sections ... ok [INFO] [stdout] test source::github::tests::issue_comment_and_close_events_are_emitted ... ok [INFO] [stdout] test source::tmux::tests::config_monitor_registration_sets_audit_defaults ... ok [INFO] [stdout] test source::github::tests::direct_workflow_runs_skip_run_ids_already_seen_from_pr_checks ... ok [INFO] [stdout] test source::tmux::tests::flush_pending_keyword_hits_clears_window_after_send_attempt ... ok [INFO] [stdout] test source::github::tests::github_client_includes_bearer_auth_when_token_configured ... ok [INFO] [stdout] test source::tmux::tests::identical_keyword_lines_can_emit_again_after_window_flush ... ok [INFO] [stdout] test source::github::tests::new_issue_events_apply_route_channel_and_mention_over_repo_monitor_channel ... ok [INFO] [stdout] test source::tmux::tests::flush_pending_keyword_hits_aggregates_unique_hits ... ok [INFO] [stdout] test source::git::tests::parses_github_repo_urls ... ok [INFO] [stdout] test source::tmux::tests::keyword_hits_only_emit_for_new_lines ... ok [INFO] [stdout] test source::tmux::tests::pane_dead_suppresses_stale_alert ... ok [INFO] [stdout] test source::tmux::tests::merge_active_config_registrations_preserves_existing_timestamps_and_prunes_inactive_ones ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_breaks_same_literal_ties_with_fewer_wildcards ... ok [INFO] [stdout] test source::tmux::tests::registered_tmux_session_deserializes_without_new_audit_fields ... ok [INFO] [stdout] test source::github::tests::unchanged_ci_state_is_suppressed ... ok [INFO] [stdout] test source::github::tests::direct_branch_workflow_run_without_open_pr_emits_ci_failed_event ... ok [INFO] [stdout] test source::github::tests::snapshot_falls_back_to_configured_github_repo_without_local_clone ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_expands_glob_patterns_to_actual_sessions ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_keeps_keywords_isolated_per_actual_session ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_keeps_exact_sessions_when_listing_is_unavailable ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_prefers_exact_match_over_glob_overlap ... ok [INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_prefers_more_specific_glob_over_broader_glob ... ok [INFO] [stdout] test source::tmux::tests::stale_minutes_zero_disables_stale_detection ... ok [INFO] [stdout] test source::workspace::tests::debounce_replaces_pending_deadline_for_same_file ... ok [INFO] [stdout] test source::tmux::tests::session_keyword_hits_aggregate_across_panes_and_dedup_within_window ... ok [INFO] [stdout] test source::workspace::tests::discovery_finds_configured_roots_and_worktrees ... ok [INFO] [stdout] test source::tmux::tests::session_keyword_hits_flush_when_window_expires ... ok [INFO] [stdout] test source::tmux::tests::stale_minutes_nonzero_still_emits ... ok [INFO] [stdout] test source::tmux::tests::tmux_keyword_event_carries_registered_routing_metadata ... ok [INFO] [stdout] test source::workspace::tests::skill_diff_emits_activation ... ok [INFO] [stdout] test tests::format_tmux_list_handles_empty_registry ... ok [INFO] [stdout] test source::tmux::tests::tmux_keyword_event_inherits_channel_format_and_mention ... ok [INFO] [stdout] test source::tmux::tests::tmux_keyword_event_uses_aggregated_body_for_multi_hit_windows ... ok [INFO] [stdout] test source::workspace::tests::hud_diff_emits_turn_completion ... ok [INFO] [stdout] test source::tmux::tests::tmux_stale_event_inherits_channel_format_and_mention ... ok [INFO] [stdout] test source::workspace::tests::event_filter_honors_globs ... ok [INFO] [stdout] test source::workspace::tests::session_diff_emits_started_and_ended ... ok [INFO] [stdout] test tests::format_tmux_list_renders_metadata_columns ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_accepts_empty_input ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_whitespace_only_name ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_accepts_well_formed_entries ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_duplicate_repo ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_empty_name ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_empty_repo ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_missing_equals ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_trims_whitespace ... ok [INFO] [stdout] test tmux_wrapper::tests::build_command_to_send_leaves_single_shell_snippet_unquoted_without_override ... ok [INFO] [stdout] test tmux_wrapper::tests::build_command_to_send_preserves_shell_arguments_when_joining ... ok [INFO] [stdout] test tmux_wrapper::tests::build_command_to_send_wraps_joined_command_with_override_shell ... ok [INFO] [stdout] test tmux_wrapper::tests::format_watch_audit_log_contains_required_fields ... ok [INFO] [stdout] test tmux_wrapper::tests::into_registration_false_lets_daemon_take_over_monitoring ... ok [INFO] [stdout] test tmux_wrapper::tests::new_args_auto_resolve_channel_from_routes ... ok [INFO] [stdout] test tmux_wrapper::tests::new_args_keep_explicit_channel_over_route_resolution ... ok [INFO] [stdout] test tmux_wrapper::tests::registered_tmux_session_from_monitor_args_keeps_audit_metadata ... ok [INFO] [stdout] test tmux_wrapper::tests::retry_enter_delays_clamp_zero_delay_to_one_millisecond ... ok [INFO] [stdout] test tmux_wrapper::tests::retry_enter_delays_respect_requested_backoff_limit ... ok [INFO] [stdout] test tests::parse_expect_name_overrides_rejects_whitespace_only_repo ... ok [INFO] [stdout] test source::git::tests::poll_git_backs_off_invalid_repo_discovery_failures ... ok [INFO] [stdout] test native_hooks::tests::maps_all_shared_hook_events ... ok [INFO] [stdout] test update::tests::compare_versions_rejects_non_numeric ... ok [INFO] [stdout] test update::tests::default_check_interval ... ok [INFO] [stdout] test update::tests::dismiss_empty_pending_returns_error ... ok [INFO] [stdout] test update::tests::update_config_is_empty_when_default ... ok [INFO] [stdout] test update::tests::update_config_is_not_empty_when_enabled ... ok [INFO] [stdout] test update::tests::version_comparison_handles_prefix ... ok [INFO] [stdout] test update::tests::pending_update_lifecycle ... ok [INFO] [stdout] test update::tests::compare_versions_equal ... ok [INFO] [stdout] test update::tests::version_comparison_newer ... ok [INFO] [stdout] test update::tests::version_comparison_not_newer ... ok [INFO] [stdout] test update::tests::version_comparison_different_lengths ... ok [INFO] [stdout] test tmux_wrapper::tests::watch_args_convert_to_monitor_args ... ok [INFO] [stdout] test tmux_wrapper::tests::new_args_auto_resolve_channel_prefers_repo_metadata_over_session_prefix_heuristics ... ok [INFO] [stdout] test discord::tests::exhausted_failures_land_in_dlq ... ok [INFO] [stdout] test native_hooks::tests::infer_repo_root_returns_main_repo_for_worktree ... ok [INFO] [stdout] test hooks::prompt_deliver::tests::deliver_retries_enter_until_prompt_submit_marker_changes ... ok [INFO] [stdout] test tmux_wrapper::tests::routing_metadata_repo_path_returns_main_repo_for_worktree ... ok [INFO] [stdout] test source::git::tests::poll_git_emits_branch_and_commit_events_for_linked_worktree ... ok [INFO] [stdout] test source::github::tests::source_loop_survives_transient_github_api_errors ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 391 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.16s [INFO] [stdout] [INFO] [stderr] Running tests/install_star_prompt.rs (/opt/rustwide/target/debug/deps/install_star_prompt-9485d06569293fe3) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test skips_star_prompt_when_not_interactive ... ok [INFO] [stdout] test stars_repo_only_after_explicit_yes ... ok [INFO] [stdout] test star_failure_does_not_fail_the_script ... ok [INFO] [stdout] test skips_prompt_when_gh_is_unauthenticated ... ok [INFO] [stdout] test skip_flag_or_env_disables_star_prompt ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/provider_native_docs_regression.rs (/opt/rustwide/target/debug/deps/provider_native_docs_regression-b8428ed0ae86b217) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test provider_native_contract_docs_list_all_shared_events ... ok [INFO] [stdout] test provider_native_docs_drop_legacy_public_surfaces ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9f9c5e0baf0e7456cabbc2d4ee5b45af19c6757a4b178da99167896bfd370267", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f9c5e0baf0e7456cabbc2d4ee5b45af19c6757a4b178da99167896bfd370267", kill_on_drop: false }` [INFO] [stdout] 9f9c5e0baf0e7456cabbc2d4ee5b45af19c6757a4b178da99167896bfd370267