[INFO] fetching crate clawhip 0.6.6...
[INFO] testing clawhip-0.6.6 against 1.95.0 for beta-1.96-2
[INFO] extracting crate clawhip 0.6.6 into /workspace/builds/worker-4-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-4-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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.67
[INFO] [stderr]   Downloaded fastrand v2.4.0
[INFO] [stderr]   Downloaded indexmap v2.13.1
[INFO] [stderr]   Downloaded webpki-roots v1.0.6
[INFO] [stderr]   Downloaded web-sys v0.3.94
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] b44354c5fc1a0fa600b1591f579dd327f0f9fe483603a07eecd87b797ae008dc
[INFO] running `Command { std: "docker" "start" "-a" "b44354c5fc1a0fa600b1591f579dd327f0f9fe483603a07eecd87b797ae008dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b44354c5fc1a0fa600b1591f579dd327f0f9fe483603a07eecd87b797ae008dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b44354c5fc1a0fa600b1591f579dd327f0f9fe483603a07eecd87b797ae008dc", kill_on_drop: false }`
[INFO] [stdout] b44354c5fc1a0fa600b1591f579dd327f0f9fe483603a07eecd87b797ae008dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 68a6584051bcbe3b95139bfc7e9cf5b19bd1ba787ed7aab6795cf0937b23ab81
[INFO] running `Command { std: "docker" "start" "-a" "68a6584051bcbe3b95139bfc7e9cf5b19bd1ba787ed7aab6795cf0937b23ab81", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling axum v0.8.8
[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 1m 14s
[INFO] running `Command { std: "docker" "inspect" "68a6584051bcbe3b95139bfc7e9cf5b19bd1ba787ed7aab6795cf0937b23ab81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68a6584051bcbe3b95139bfc7e9cf5b19bd1ba787ed7aab6795cf0937b23ab81", kill_on_drop: false }`
[INFO] [stdout] 68a6584051bcbe3b95139bfc7e9cf5b19bd1ba787ed7aab6795cf0937b23ab81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] a03f5be2d2cf25d905c596a04d3bf5664516aac5a915f9295f0813a36c0a787e
[INFO] running `Command { std: "docker" "start" "-a" "a03f5be2d2cf25d905c596a04d3bf5664516aac5a915f9295f0813a36c0a787e", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.0
[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 38.03s
[INFO] running `Command { std: "docker" "inspect" "a03f5be2d2cf25d905c596a04d3bf5664516aac5a915f9295f0813a36c0a787e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a03f5be2d2cf25d905c596a04d3bf5664516aac5a915f9295f0813a36c0a787e", kill_on_drop: false }`
[INFO] [stdout] a03f5be2d2cf25d905c596a04d3bf5664516aac5a915f9295f0813a36c0a787e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] d2e120da088b9dc26dbbd1a693861be4c927b9aafc5f7cb13b6b8b7c0a719d4d
[INFO] running `Command { std: "docker" "start" "-a" "d2e120da088b9dc26dbbd1a693861be4c927b9aafc5f7cb13b6b8b7c0a719d4d", 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::audit_display_empty ... ok
[INFO] [stdout] test binding_verify::tests::apply_repo_binding_creates_route ... ok
[INFO] [stdout] test binding_verify::tests::audit_display_shows_summary ... ok
[INFO] [stdout] test binding_verify::tests::apply_repo_binding_updates_existing ... ok
[INFO] [stdout] test binding_verify::tests::collects_git_monitor_binding ... ok
[INFO] [stdout] test binding_verify::tests::collects_route_binding_with_filter ... ok
[INFO] [stdout] test binding_verify::tests::skips_empty_channel_fields ... ok
[INFO] [stdout] test binding_verify::tests::verdict_match_strips_hash_prefix ... ok
[INFO] [stdout] test binding_verify::tests::collects_tmux_monitor_binding ... ok
[INFO] [stdout] test binding_verify::tests::collects_default_channel_binding ... ok
[INFO] [stdout] test cli::tests::emit_args_reject_invalid_field_shape ... ok
[INFO] [stdout] test cli::tests::native_hook_args_reject_empty_input ... ok
[INFO] [stdout] test cli::tests::emit_args_reject_invalid_format ... ok
[INFO] [stdout] test cli::tests::emit_args_merge_payload_json_with_extra_fields ... ok
[INFO] [stdout] test cli::tests::emit_agent_lifecycle_events_normalize_for_validation ... 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_no_token ... ok
[INFO] [stdout] test binding_verify::tests::verdict_not_found ... ok
[INFO] [stdout] test cli::tests::parses_config_verify_bindings_text_default ... ok
[INFO] [stdout] test cli::tests::parses_agent_failed_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_config_verify_bindings_subcommand ... ok
[INFO] [stdout] test binding_verify::tests::verdict_resolved_without_hint ... ok
[INFO] [stdout] test cli::tests::parses_deliver_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_cron_run_subcommand ... ok
[INFO] [stdout] test binding_verify::tests::verdict_match_when_hint_matches ... 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 cli::tests::parses_agent_finished_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_hooks_install_all_flag ... ok
[INFO] [stdout] test cli::tests::parses_plugin_list_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 cli::tests::parses_memory_init_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_memory_status_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_setup_bind_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_setup_webhook_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_tmux_list_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_update_approve_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_tmux_watch_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_update_check_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_tmux_new_with_explicit_follow_flag ... ok
[INFO] [stdout] test cli::tests::parses_tmux_new_with_retry_enter_backoff_overrides ... ok
[INFO] [stdout] test cli::tests::parses_emit_subcommand_with_top_level_fields ... ok
[INFO] [stdout] test cli::tests::parses_tmux_new_with_retry_enter_disabled ... ok
[INFO] [stdout] test cli::tests::parses_hooks_install_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_hooks_install_with_global_scope_and_force ... ok
[INFO] [stdout] test cli::tests::bare_update_preserves_legacy_restart_flag ... 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::parses_native_hook_subcommand ... ok
[INFO] [stdout] test cli::tests::setup_help_mentions_manual_advanced_editing ... 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::ambiguous_quickstart_routes_fail_without_mutating_config ... ok
[INFO] [stdout] test config::tests::dispatch_config_defaults_routine_batch_window_to_five_seconds ... ok
[INFO] [stdout] test config::tests::legacy_env_token_is_still_supported ... ok
[INFO] [stdout] test cli::tests::tmux_new_defaults_to_non_follow_mode_for_194 ... ok
[INFO] [stdout] test config::tests::dispatch_config_defaults_ci_batch_window_to_thirty_seconds ... ok
[INFO] [stdout] test config::tests::config_editor_menu_matches_bounded_preset_contract ... ok
[INFO] [stdout] test cli::tests::setup_without_flags_fails_with_help ... ok
[INFO] [stdout] test config::tests::discord_token_source_reports_missing_when_unset ... ok
[INFO] [stdout] test config::tests::setup_edits_require_at_least_one_non_empty_value ... ok
[INFO] [stdout] test config::tests::cron_validation_rejects_duplicate_ids ... ok
[INFO] [stdout] test config::tests::provider_discord_token_is_used_when_present ... ok
[INFO] [stdout] test config::tests::normalize_trims_workspace_monitor_fields ... ok
[INFO] [stdout] test config::tests::route_cannot_set_channel_and_webhook ... ok
[INFO] [stdout] test config::tests::setup_scaffold_adds_canonical_quickstart_route ... ok
[INFO] [stdout] test config::tests::slack_route_can_use_generic_webhook_field ... 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::load_or_default_defaults_dispatch_ci_batch_window_when_omitted ... 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::workspace_monitor_config_parses_and_normalizes ... ok
[INFO] [stdout] test config::tests::load_or_default_parses_cron_jobs ... ok
[INFO] [stdout] test config::tests::workspace_monitor_defaults_are_backward_compatible ... ok
[INFO] [stdout] test config::tests::load_or_default_defaults_routine_batch_window_when_omitted ... ok
[INFO] [stdout] test config::tests::load_or_default_migrates_legacy_discord_to_providers ... ok
[INFO] [stdout] test config::tests::setup_mixed_flag_edits_update_only_owned_nodes ... ok
[INFO] [stdout] test core::dlq::tests::stores_full_context ... ok
[INFO] [stdout] test config::tests::config_without_workspace_monitor_still_loads ... ok
[INFO] [stdout] test config::tests::load_or_default_parses_dispatch_ci_batch_window_secs ... ok
[INFO] [stdout] test core::rate_limit::tests::bucket_allows_up_to_capacity_without_delay ... ok
[INFO] [stdout] test core::rate_limit::tests::limiter_is_scoped_per_key ... ok
[INFO] [stdout] test core::timer_wheel::tests::delivers_due_entries ... ok
[INFO] [stdout] test config::tests::load_or_default_parses_dispatch_routine_batch_window_secs ... 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_rejects_conflicting_legacy_and_provider_discord ... ok
[INFO] [stdout] test cron::tests::emits_again_when_state_file_changes_even_with_zero_backlog ... ok
[INFO] [stdout] test core::circuit_breaker::tests::opens_after_threshold_failures ... 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 cron::tests::evaluate_state_file_normalizes_whitespace_in_fingerprint ... ok
[INFO] [stdout] test core::circuit_breaker::tests::cooldown_transitions_to_half_open_probe ... ok
[INFO] [stdout] test config::tests::setup_non_webhook_edits_do_not_touch_routes ... ok
[INFO] [stdout] test core::timer_wheel::tests::leaves_future_entries_pending ... ok
[INFO] [stdout] test cron::tests::job_without_state_file_preserves_legacy_behavior ... ok
[INFO] [stdout] test cron::tests::evaluate_state_file_treats_missing_counters_as_nonzero ... ok
[INFO] [stdout] test core::circuit_breaker::tests::success_closes_half_open_circuit ... ok
[INFO] [stdout] test cron::tests::scheduler_emits_matching_custom_job_once_per_minute ... ok
[INFO] [stdout] test cron::tests::missing_state_file_fails_open_and_fires_normally ... ok
[INFO] [stdout] test cron::tests::scheduler_startup_tolerates_invalid_state_file ... ok
[INFO] [stdout] test daemon::tests::dismiss_clears_pending_update ... ok
[INFO] [stdout] test daemon::tests::approve_returns_error_when_no_pending_update ... ok
[INFO] [stdout] test daemon::tests::health_payload_includes_version_and_token_source ... ok
[INFO] [stdout] test cron::tests::scheduler_startup_tolerates_empty_state_file ... 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 cron::tests::scheduler_restart_does_not_refire_jobs_for_same_minute ... ok
[INFO] [stdout] test daemon::tests::source_failure_alert_defaults_to_alert_format_and_default_channel_routing ... ok
[INFO] [stdout] test daemon::tests::update_status_returns_pending_when_set ... ok
[INFO] [stdout] test daemon::tests::post_native_hook_rejects_unsupported_event ... ok
[INFO] [stdout] test daemon::tests::update_status_returns_no_pending_when_empty ... ok
[INFO] [stdout] test cron::tests::schedule_parser_supports_lists_ranges_and_steps ... ok
[INFO] [stdout] test cron::tests::scheduler_restart_still_emits_on_next_matching_minute ... ok
[INFO] [stdout] test daemon::tests::post_event_returns_event_id_and_preserves_normalized_metadata ... ok
[INFO] [stdout] test cron::tests::fingerprint_persists_across_scheduler_restarts ... 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 dispatch::tests::batch_key_prefers_workflow_run_id ... ok
[INFO] [stdout] test dispatch::tests::batcher_flushes_when_all_jobs_for_run_are_terminal ... ok
[INFO] [stdout] test daemon::tests::list_tmux_returns_registered_sessions_with_metadata ... ok
[INFO] [stdout] test discord::tests::lookup_channel_returns_no_token_when_missing ... ok
[INFO] [stdout] test cron::tests::never_suppresses_when_backlog_is_nonzero ... ok
[INFO] [stdout] test cron::tests::suppresses_repeat_nudge_when_backlog_is_zero_and_state_unchanged ... ok
[INFO] [stdout] test discord::tests::lookup_channel_returns_not_found ... 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 discord::tests::lookup_channel_returns_found_with_name ... ok
[INFO] [stdout] test discord::tests::lookup_channel_returns_forbidden ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_flushes_single_routine_delivery_on_shutdown_and_preserves_mention ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_keeps_distinct_delivery_signatures_in_separate_batches ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_continues_after_webhook_failure ... ok
[INFO] [stdout] test daemon::tests::post_native_hook_accepts_codex_payload_and_queues_normalized_event ... ok
[INFO] [stdout] test daemon::tests::spawn_source_allows_cron_source_to_start_with_empty_state_and_emit_job_event ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_sends_to_slack_webhook ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_stops_cleanly_when_channel_closes ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_uses_configured_ci_batch_window_from_app_config ... ok
[INFO] [stdout] test dynamic_tokens::tests::disabled_dynamic_tokens_remain_literal ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_uses_provided_ci_batch_window ... ok
[INFO] [stdout] test event::compat::tests::converts_aggregated_git_commits ... ok
[INFO] [stdout] test dynamic_tokens::tests::env_and_file_tail_tokens_expand ... ok
[INFO] [stdout] test event::compat::tests::keeps_unknown_events_as_custom ... ok
[INFO] [stdout] test event::compat::tests::keeps_legacy_agent_variants_backward_compatible ... ok
[INFO] [stdout] test event::compat::tests::converts_tmux_keyword_hits ... ok
[INFO] [stdout] test event::compat::tests::keeps_github_ci_failed_route_compatibility_fields ... ok
[INFO] [stdout] test cron::tests::re_emits_immediately_when_backlog_transitions_back_from_zero ... ok
[INFO] [stdout] test event::compat::tests::maps_github_release_prereleased_event ... ok
[INFO] [stdout] test event::compat::tests::maps_pr_open_and_merge_statuses ... ok
[INFO] [stdout] test event::compat::tests::reuses_normalized_event_id_when_available ... ok
[INFO] [stdout] test event::compat::tests::maps_github_release_published_event ... ok
[INFO] [stdout] test events::tests::constructors_default_top_level_mention_to_none ... 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 events::tests::constructs_agent_events_with_expected_payload_fields ... ok
[INFO] [stdout] test event::compat::tests::workspace_blocked_events_are_high_priority ... 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 events::tests::normalize_event_backfills_agent_emit_status_fields ... 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::normalize_event_maps_omc_signal_route_key_into_session_event ... ok
[INFO] [stdout] test events::tests::normalize_event_maps_omx_native_contract_into_session_event ... ok
[INFO] [stdout] test events::tests::renders_agent_finished_in_all_formats ... ok
[INFO] [stdout] test events::tests::renders_agent_started_in_all_formats ... ok
[INFO] [stdout] test events::tests::renders_agent_blocked_in_all_formats ... ok
[INFO] [stdout] test event::compat::tests::maps_all_canonical_session_events_to_typed_agent_variants ... ok
[INFO] [stdout] test events::tests::renders_agent_failed_in_all_formats ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_batches_routine_discord_deliveries_into_single_send ... ok
[INFO] [stdout] test events::tests::renders_github_ci_started_with_status_details ... ok
[INFO] [stdout] test events::tests::normalize_event_maps_omc_native_contract_into_session_event ... ok
[INFO] [stdout] test events::tests::renders_github_ci_failed_in_compact_and_alert_formats ... ok
[INFO] [stdout] test events::tests::renders_omc_pr_created_event_using_contract_label ... ok
[INFO] [stdout] test events::tests::renders_template_from_payload ... ok
[INFO] [stdout] test event::compat::tests::maps_github_release_edited_event ... ok
[INFO] [stdout] test events::tests::renders_session_contract_events_in_low_noise_formats ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_keeps_ci_events_off_routine_batcher ... ok
[INFO] [stdout] test events::tests::template_context_backfills_repo_and_session_aliases ... ok
[INFO] [stdout] test events::tests::tmux_keyword_events_aggregate_multi_hit_windows ... ok
[INFO] [stdout] test events::tests::with_mention_sets_top_level_mention ... ok
[INFO] [stdout] test events::tests::template_context_preserves_payload_event_without_overwriting_canonical_aliases ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::has_prompt_char_detects_common_shells ... 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 dispatch::tests::dispatcher_keeps_distinct_event_kinds_in_separate_routine_batches ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_rejects_old_omx_bridge_without_prompt_submit_support ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_recognizes_omc_user_prompt_submit_hooks ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::process_tree_matches_provider_detects_wrapped_omc_processes ... ok
[INFO] [stdout] test hooks::tests::codex_install_writes_shared_events ... ok
[INFO] [stdout] test hooks::tests::claude_install_writes_shared_events ... ok
[INFO] [stdout] test hooks::tests::install_project_scope_writes_generic_provider_files ... ok
[INFO] [stdout] test events::tests::with_repo_context_sets_repo_and_worktree_paths ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_dedups_same_keyword_and_line ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_detects_reappended_identical_lines ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::config_defaults_are_sensible ... ok
[INFO] [stdout] test keyword_window::tests::pending_keyword_hits_dedups_across_window_additions ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_tmux_wrapper_audit_lines ... ok
[INFO] [stdout] test lifecycle::tests::find_repo_root_returns_cwd_when_valid ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_wrapper_lifecycle_emit_lines ... ok
[INFO] [stdout] test lifecycle::tests::skips_star_prompt_when_not_interactive ... ok
[INFO] [stdout] test lifecycle::tests::skips_prompt_when_gh_is_unauthenticated ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_uses_snapshot_overlap_for_scrolling_history ... ok
[INFO] [stdout] test lifecycle::tests::star_failure_does_not_fail_the_install ... ok
[INFO] [stdout] test lifecycle::tests::stars_repo_only_after_explicit_yes ... ok
[INFO] [stdout] test keyword_window::tests::collect_keyword_hits_ignores_wrapped_exit_error_boilerplate ... ok
[INFO] [stdout] test lifecycle::tests::skip_flag_or_env_disables_star_prompt ... ok
[INFO] [stdout] test memory::tests::normalize_date_slug_accepts_iso_dates ... ok
[INFO] [stdout] test memory::tests::normalize_date_slug_rejects_non_iso_dates ... ok
[INFO] [stdout] test memory::tests::slugify_normalizes_common_inputs ... 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_augment_pipeline ... ok
[INFO] [stdout] test hooks::prompt_deliver::tests::detect_hook_setup_walks_to_parent_workdir ... ok
[INFO] [stdout] test native_hooks::tests::generated_hook_script_mentions_tmux_metadata_collection ... ok
[INFO] [stdout] test lifecycle::tests::update_from_repo_rejects_invalid_explicit_root ... ok
[INFO] [stdout] test lifecycle::tests::update_from_repo_validates_explicit_root_structure ... ok
[INFO] [stdout] test memory::tests::inspect_reports_missing_recommended_paths ... ok
[INFO] [stdout] test memory::tests::init_creates_memory_scaffold ... ok
[INFO] [stdout] test native_hooks::tests::augmentation_can_add_context_without_overriding_base_fields ... ok
[INFO] [stdout] test memory::tests::init_keeps_existing_files_without_force ... ok
[INFO] [stdout] test native_hooks::tests::preserves_tmux_metadata_from_native_payloads ... ok
[INFO] [stdout] test dynamic_tokens::tests::enabled_shell_token_expands ... ok
[INFO] [stdout] test plugins::tests::rejects_plugin_without_bridge_script ... ok
[INFO] [stdout] test native_hooks::tests::stop_event_payload_surfaces_stop_context_summary ... ok
[INFO] [stdout] test provenance::tests::display_marks_default_fallback_delivery ... ok
[INFO] [stdout] test provenance::tests::display_notes_when_no_deliveries_would_fire ... ok
[INFO] [stdout] test provenance::tests::display_provenance_renders_matched_and_skipped_routes ... ok
[INFO] [stdout] test native_hooks::tests::loads_project_metadata_from_project_json ... ok
[INFO] [stdout] test release_preflight::tests::check_cargo_lock_fails_when_package_missing ... ok
[INFO] [stdout] test native_hooks::tests::stop_event_respects_preexisting_summary_over_stop_context ... 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 plugins::tests::installs_bundled_plugins_into_destination ... ok
[INFO] [stdout] test release_preflight::tests::check_cargo_toml_passes_on_match ... ok
[INFO] [stdout] test release_preflight::tests::check_cargo_toml_fails_on_mismatch ... ok
[INFO] [stdout] test release_preflight::tests::check_changelog_does_not_match_on_substring_versions ... ok
[INFO] [stdout] test release_preflight::tests::check_cargo_lock_fails_when_lock_is_stale ... 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::parse_cargo_toml_extracts_name_and_version ... ok
[INFO] [stdout] test release_preflight::tests::preflight_report_render_lists_pass_and_fail_markers ... ok
[INFO] [stdout] test release_preflight::tests::normalize_version_accepts_common_tag_shapes ... ok
[INFO] [stdout] test render::default::tests::does_not_render_worktree_suffix_for_primary_repo_path ... ok
[INFO] [stdout] test render::default::tests::renders_git_commit_with_worktree_suffix_when_distinct ... ok
[INFO] [stdout] test render::default::tests::renders_release_alert_format ... ok
[INFO] [stdout] test native_hooks::tests::hook_script_saves_prompt_summary_and_enriches_stop_events ... ok
[INFO] [stdout] test render::default::tests::renders_release_inline_format ... 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::renders_release_prerelease_compact_with_flag ... ok
[INFO] [stdout] test render::default::tests::renders_workspace_skill_event_compact ... ok
[INFO] [stdout] test render::default::tests::renders_release_published_compact ... ok
[INFO] [stdout] test router::tests::agent_family_route_matches_all_agent_events ... ok
[INFO] [stdout] test router::tests::aggregated_git_commit_can_use_github_route_family_and_mention ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_batches_ci_events_into_single_delivery ... ok
[INFO] [stdout] test native_hooks::tests::stop_event_without_stop_context_does_not_invent_summary ... ok
[INFO] [stdout] test keyword_window::tests::pending_keyword_hits_flush_when_window_expires ... ok
[INFO] [stdout] test plugins::tests::loads_plugins_from_plugin_toml_files ... ok
[INFO] [stdout] test dispatch::tests::dispatcher_sends_bypass_events_immediately_while_routine_delivery_waits ... ok
[INFO] [stdout] test discord::tests::retries_429_then_succeeds ... ok
[INFO] [stdout] test router::tests::custom_send_can_inherit_dynamic_token_opt_in_from_channel_route ... 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 native_hooks::tests::maps_all_shared_hook_events ... ok
[INFO] [stdout] test router::tests::event_channel_is_used_when_matching_route_has_no_channel ... ok
[INFO] [stdout] test router::tests::explain_json_serialization_roundtrips ... ok
[INFO] [stdout] test router::tests::event_level_mention_is_used_when_route_mention_is_not_set ... ok
[INFO] [stdout] test router::tests::dispatch_best_effort_continues_after_webhook_failure ... ok
[INFO] [stdout] test router::tests::explain_no_routes_and_no_default_produces_empty_deliveries ... ok
[INFO] [stdout] test router::tests::explain_multi_route_match_produces_multiple_deliveries ... ok
[INFO] [stdout] test release_preflight::tests::run_preflight_surfaces_missing_files_as_error ... ok
[INFO] [stdout] test router::tests::resolve_tmux_session_channel_prefers_matching_tmux_route ... ok
[INFO] [stdout] test router::tests::preview_uses_filtered_route_overrides ... ok
[INFO] [stdout] test router::tests::native_omc_session_events_match_session_routes ... 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_supports_session_routes ... ok
[INFO] [stdout] test router::tests::resolve_tmux_session_channel_with_metadata_prefers_repo_route_over_prefix_heuristic ... ok
[INFO] [stdout] test router::tests::explain_reports_filter_mismatch ... ok
[INFO] [stdout] test router::tests::explain_shows_matched_route_with_filter_details ... ok
[INFO] [stdout] test router::tests::filter_can_route_same_event_type_by_repo ... ok
[INFO] [stdout] test router::tests::git_commit_can_use_github_route_family_and_mention ... ok
[INFO] [stdout] test router::tests::git_and_github_routes_can_filter_on_repo_name_alias ... 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_returns_all_matching_deliveries_in_route_order ... ok
[INFO] [stdout] test router::tests::explain_pattern_mismatch_skips_route ... ok
[INFO] [stdout] test router::tests::route_mention_takes_precedence_over_event_mention ... ok
[INFO] [stdout] test router::tests::legacy_agent_events_match_session_routes ... ok
[INFO] [stdout] test router::tests::slack_sink_route_can_use_generic_webhook_field ... ok
[INFO] [stdout] test router::tests::slack_webhook_route_is_used_as_delivery_target ... 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::session_lifecycle_events_match_existing_agent_routes ... ok
[INFO] [stdout] test router::tests::resolve_uses_defaults_when_no_routes_match ... ok
[INFO] [stdout] test router::tests::route_channel_takes_precedence_over_event_channel ... ok
[INFO] [stdout] test router::tests::route_level_mention_is_prepended_for_github_and_tmux ... ok
[INFO] [stdout] test router::tests::webhook_route_is_used_as_delivery_target ... ok
[INFO] [stdout] test router::tests::webhook_route_takes_precedence_over_event_channel ... ok
[INFO] [stdout] test slack::tests::compact_payload_includes_block_kit_sections ... ok
[INFO] [stdout] test slack::tests::alert_payload_uses_alert_label ... ok
[INFO] [stdout] test source::github::tests::ci_state_transition_to_cancelled_emits_cancelled_event ... ok
[INFO] [stdout] test source::github::tests::ci_state_transition_to_passed_emits_passed_event ... ok
[INFO] [stdout] test source::git::tests::git_monitor_backoff_grows_and_caps ... ok
[INFO] [stdout] test source::git::tests::parses_github_repo_urls ... ok
[INFO] [stdout] test source::git::tests::parses_worktree_list_output ... ok
[INFO] [stdout] test source::git::tests::classifies_common_invalid_monitor_failures ... ok
[INFO] [stdout] test router::tests::slack_dispatch_posts_block_kit_payload ... ok
[INFO] [stdout] test source::github::tests::ci_state_transition_to_failed_emits_failed_event ... ok
[INFO] [stdout] test source::github::tests::initial_ci_detection_emits_started_event_with_route_metadata ... ok
[INFO] [stdout] test source::tmux::tests::config_monitor_registration_sets_audit_defaults ... ok
[INFO] [stdout] test source::github::tests::unchanged_ci_state_is_suppressed ... ok
[INFO] [stdout] test source::tmux::tests::flush_pending_keyword_hits_aggregates_unique_hits ... ok
[INFO] [stdout] test source::tmux::tests::flush_pending_keyword_hits_clears_window_after_send_attempt ... ok
[INFO] [stdout] test source::tmux::tests::keyword_hits_only_emit_for_new_lines ... 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::pane_dead_suppresses_stale_alert ... ok
[INFO] [stdout] test router::tests::tmux_routes_prefer_repo_metadata_over_session_prefix_heuristics ... ok
[INFO] [stdout] test source::tmux::tests::registered_tmux_session_deserializes_without_new_audit_fields ... ok
[INFO] [stdout] test source::github::tests::direct_branch_workflow_run_without_open_pr_emits_ci_failed_event ... ok
[INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_expands_glob_patterns_to_actual_sessions ... ok
[INFO] [stdout] test source::tmux::tests::identical_keyword_lines_can_emit_again_after_window_flush ... ok
[INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_breaks_same_literal_ties_with_fewer_wildcards ... ok
[INFO] [stdout] test source::tmux::tests::resolve_monitored_sessions_keeps_exact_sessions_when_listing_is_unavailable ... ok
[INFO] [stdout] test source::github::tests::direct_workflow_runs_skip_run_ids_already_seen_from_pr_checks ... 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::resolve_monitored_sessions_prefers_exact_match_over_glob_overlap ... 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_prefers_more_specific_glob_over_broader_glob ... ok
[INFO] [stdout] test source::github::tests::issue_comment_and_close_events_are_emitted ... ok
[INFO] [stdout] test source::tmux::tests::session_keyword_hits_aggregate_across_panes_and_dedup_within_window ... ok
[INFO] [stdout] test source::github::tests::github_client_includes_bearer_auth_when_token_configured ... 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::debounce_replaces_pending_deadline_for_same_file ... ok
[INFO] [stdout] test source::workspace::tests::event_filter_honors_globs ... 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 tests::format_tmux_list_handles_empty_registry ... ok
[INFO] [stdout] test source::workspace::tests::hud_diff_emits_turn_completion ... ok
[INFO] [stdout] test source::workspace::tests::session_diff_emits_started_and_ended ... ok
[INFO] [stdout] test source::workspace::tests::skill_diff_emits_activation ... ok
[INFO] [stdout] test tests::parse_expect_name_overrides_accepts_empty_input ... ok
[INFO] [stdout] test tests::format_tmux_list_renders_metadata_columns ... 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 source::github::tests::snapshot_falls_back_to_configured_github_repo_without_local_clone ... ok
[INFO] [stdout] test router::tests::route_level_mention_is_prepended_for_custom ... ok
[INFO] [stdout] test source::tmux::tests::session_keyword_hits_flush_when_window_expires ... ok
[INFO] [stdout] test source::tmux::tests::tmux_stale_event_inherits_channel_format_and_mention ... ok
[INFO] [stdout] test source::workspace::tests::discovery_finds_configured_roots_and_worktrees ... ok
[INFO] [stdout] test source::git::tests::poll_git_backs_off_invalid_repo_discovery_failures ... ok
[INFO] [stdout] test source::tmux::tests::stale_minutes_zero_disables_stale_detection ... 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_rejects_empty_name ... ok
[INFO] [stdout] test tests::parse_expect_name_overrides_rejects_whitespace_only_name ... ok
[INFO] [stdout] test tmux_wrapper::tests::build_command_to_send_preserves_shell_arguments_when_joining ... ok
[INFO] [stdout] test tests::parse_expect_name_overrides_rejects_whitespace_only_repo ... 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::format_watch_audit_log_contains_required_fields ... ok
[INFO] [stdout] test tmux_wrapper::tests::new_args_keep_explicit_channel_over_route_resolution ... ok
[INFO] [stdout] test tmux_wrapper::tests::new_args_auto_resolve_channel_from_routes ... 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_trims_whitespace ... ok
[INFO] [stdout] test tmux_wrapper::tests::into_registration_false_lets_daemon_take_over_monitoring ... ok
[INFO] [stdout] test tmux_wrapper::tests::build_command_to_send_wraps_joined_command_with_override_shell ... ok
[INFO] [stdout] test discord::tests::exhausted_failures_land_in_dlq ... ok
[INFO] [stdout] test update::tests::compare_versions_rejects_non_numeric ... ok
[INFO] [stdout] test update::tests::compare_versions_equal ... ok
[INFO] [stdout] test tmux_wrapper::tests::watch_args_convert_to_monitor_args ... ok
[INFO] [stdout] test update::tests::default_check_interval ... ok
[INFO] [stdout] test update::tests::update_config_is_not_empty_when_enabled ... ok
[INFO] [stdout] test update::tests::dismiss_empty_pending_returns_error ... ok
[INFO] [stdout] test update::tests::pending_update_lifecycle ... ok
[INFO] [stdout] test update::tests::version_comparison_handles_prefix ... ok
[INFO] [stdout] test update::tests::version_comparison_different_lengths ... 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::update_config_is_empty_when_default ... ok
[INFO] [stdout] test tmux_wrapper::tests::new_args_auto_resolve_channel_prefers_repo_metadata_over_session_prefix_heuristics ... 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.21s
[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_prompt_when_gh_is_unauthenticated ... ok
[INFO] [stdout] test skip_flag_or_env_disables_star_prompt ... 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_star_prompt_when_not_interactive ... ok
[INFO] [stderr]      Running tests/provider_native_docs_regression.rs (/opt/rustwide/target/debug/deps/provider_native_docs_regression-b8428ed0ae86b217)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[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.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d2e120da088b9dc26dbbd1a693861be4c927b9aafc5f7cb13b6b8b7c0a719d4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2e120da088b9dc26dbbd1a693861be4c927b9aafc5f7cb13b6b8b7c0a719d4d", kill_on_drop: false }`
[INFO] [stdout] d2e120da088b9dc26dbbd1a693861be4c927b9aafc5f7cb13b6b8b7c0a719d4d
