[INFO] fetching crate tinychannels 0.1.0...
[INFO] testing tinychannels-0.1.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate tinychannels 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate tinychannels 0.1.0
[INFO] finished tweaking crates.io crate tinychannels 0.1.0
[INFO] tweaked toml for crates.io crate tinychannels 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tinychannels 0.1.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tinychannels 0.1.0 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-tungstenite v0.29.0
[INFO] [stderr]   Downloaded tungstenite v0.29.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8
[INFO] running `Command { std: "docker" "start" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[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 icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tinychannels v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.58s
[INFO] running `Command { std: "docker" "inspect" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tinychannels v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.84s
[INFO] running `Command { std: "docker" "inspect" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tinychannels-e782f701b5e7bc25)
[INFO] [stdout] 
[INFO] [stdout] running 263 tests
[INFO] [stdout] test adapters::test::local_adapter_delegates_outbound_delivery ... ok
[INFO] [stdout] test backend::tests::connect_rejects_unknown_channel_before_delegating ... ok
[INFO] [stdout] test backend::tests::list_and_describe_use_static_channel_definitions ... ok
[INFO] [stdout] test adapters::test::local_adapter_reports_configured_status ... ok
[INFO] [stdout] test backend::tests::connect_validates_credentials_before_delegating ... ok
[INFO] [stdout] test backend::tests::connect_normalizes_yuanbao_credentials_before_delegating ... ok
[INFO] [stdout] test channel::test::access_context_never_serializes_upstream_relay_trust_flag ... ok
[INFO] [stdout] test channel::test::durable_final_delivery_capabilities_match_openclaw_order ... ok
[INFO] [stdout] test channel::test::legacy_inbound_envelope_projects_back_to_legacy_messages ... ok
[INFO] [stdout] test channel::test::legacy_inbound_envelope_preserves_telegram_topics_separately_from_threads ... ok
[INFO] [stdout] test backend::tests::test_validates_credentials_before_delegating ... ok
[INFO] [stdout] test backend::tests::send_message_value_delegates_raw_payload_to_backend ... ok
[INFO] [stdout] test backend::tests::test_rejects_non_object_credentials_before_delegating ... ok
[INFO] [stdout] test channel::test::inbound_media_payload_preserves_attachment_indexes ... ok
[INFO] [stdout] test channel::test::legacy_inbound_envelope_preserves_non_telegram_threads ... ok
[INFO] [stdout] test backend::tests::set_default_channel_validates_and_canonicalizes_before_delegating ... ok
[INFO] [stdout] test channel::test::legacy_message_intent_preserves_explicit_idempotency_key ... ok
[INFO] [stdout] test channel::test::legacy_message_intent_derives_stable_idempotency_key ... ok
[INFO] [stdout] test backend::tests::status_validates_filtered_channel_before_delegating ... ok
[INFO] [stdout] test backend::tests::manager_wraps_thread_and_discord_backend_methods ... ok
[INFO] [stdout] test backend::tests::disconnect_delegates_to_backend_with_memory_flag ... ok
[INFO] [stdout] test backend::tests::connect_delegates_oauth_modes_without_required_credentials ... ok
[INFO] [stdout] test channel::test::legacy_message_payload_adds_idempotency_without_dropping_rich_fields ... ok
[INFO] [stdout] test channel::test::message_action_names_preserve_openclaw_contract_order ... ok
[INFO] [stdout] test channel::test::outbound_intent_carries_idempotency_key ... ok
[INFO] [stdout] test channel::test::legacy_session_key_candidates_match_openhuman_helpers ... ok
[INFO] [stdout] test channel::test::receipt_normalizes_multi_part_outbound_results ... ok
[INFO] [stdout] test channel::test::send_message_intent_preserves_legacy_typed_fields ... ok
[INFO] [stdout] test config::tests::discord_config_deserializes_without_channel_id ... ok
[INFO] [stdout] test config::tests::discord_config_deserializes_with_channel_id ... ok
[INFO] [stdout] test channel::test::receipt_preserves_nested_receipts ... ok
[INFO] [stdout] test channel::test::session_keys_include_scope_topic_and_default_thread_sharing ... ok
[INFO] [stdout] test channel::test::timeouts_are_not_retryable_without_reconciliation ... ok
[INFO] [stdout] test channel::test::receipt_uses_alternate_platform_ids_and_deduplicates ... ok
[INFO] [stdout] test config::tests::discord_config_roundtrip_json ... ok
[INFO] [stdout] test config::tests::channels_config_serde_roundtrip ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_ignores_push_webhook ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_detects_telegram ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_ignores_incomplete_relay_config ... ok
[INFO] [stdout] test channel::test::send_message_intent_preserves_explicit_idempotency_key ... ok
[INFO] [stdout] test channel::test::session_keys_build_from_inbound_envelopes ... ok
[INFO] [stdout] test config::tests::default_irc_port_is_6697 ... ok
[INFO] [stdout] test config::tests::lark_receive_mode_default_is_websocket ... ok
[INFO] [stdout] test config::tests::stream_mode_default_is_off ... ok
[INFO] [stdout] test config::tests::stream_mode_serde_roundtrip ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_detects_discord ... ok
[INFO] [stdout] test config::tests::default_channels_config_has_no_integrations ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_detects_slack ... ok
[INFO] [stdout] test config::tests::whatsapp_backend_type_cloud_when_phone_number_id ... ok
[INFO] [stdout] test config::tests::relay_runtime_config_deserializes_with_defaults_and_identities ... ok
[INFO] [stdout] test config::tests::default_draft_update_interval_ms_is_1000 ... ok
[INFO] [stdout] test config::tests::has_listening_integrations_detects_relay_runtime ... ok
[INFO] [stdout] test context::tests::memory_context_skip_and_overflow_detection_match_openhuman_hints ... ok
[INFO] [stdout] test context::tests::build_memory_context_filters_entries_and_truncates_content ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_handles_newline_separated_string ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_normalizes_at_prefix_and_whitespace ... ok
[INFO] [stdout] test config::tests::whatsapp_backend_type_reports_unconfigured ... ok
[INFO] [stdout] test controllers::definitions::tests::all_definitions_have_unique_ids ... ok
[INFO] [stdout] test config::tests::whatsapp_backend_type_web_when_session_path ... ok
[INFO] [stdout] test context::tests::compact_history_keeps_recent_turns_and_truncates_content ... ok
[INFO] [stdout] test config::tests::whatsapp_is_cloud_config_requires_all_three ... ok
[INFO] [stdout] test context::tests::conversation_keys_match_openhuman_channel_behavior ... ok
[INFO] [stdout] test controllers::credentials::tests::channel_credential_provider_combines_channel_id_and_mode ... ok
[INFO] [stdout] test controllers::definitions::tests::all_definitions_include_lark_and_dingtalk ... ok
[INFO] [stdout] test controllers::definitions::tests::auth_mode_serializes_to_expected_wire_values ... ok
[INFO] [stdout] test controllers::definitions::tests::dingtalk_definition_is_registered ... ok
[INFO] [stdout] test controllers::definitions::tests::dingtalk_requires_client_id_and_client_secret ... ok
[INFO] [stdout] test backend::tests::send_message_delegates_to_backend_with_config ... ok
[INFO] [stdout] test controllers::definitions::tests::discord_bot_token_exposes_allowed_users_field ... ok
[INFO] [stdout] test controllers::definitions::tests::discord_has_bot_token_and_oauth ... ok
[INFO] [stdout] test controllers::definitions::tests::auth_mode_display_and_parse ... ok
[INFO] [stdout] test controllers::definitions::tests::email_definition_field_shape_matches_email_config ... ok
[INFO] [stdout] test controllers::definitions::tests::email_definition_is_registered ... ok
[INFO] [stdout] test channel::test::send_error_taxonomy_matches_hermes_categories ... ok
[INFO] [stdout] test controllers::definitions::tests::every_definition_has_at_least_one_auth_mode ... ok
[INFO] [stdout] test controllers::definitions::tests::find_unknown_channel_returns_none ... ok
[INFO] [stdout] test controllers::definitions::tests::lark_definition_is_registered ... ok
[INFO] [stdout] test controllers::definitions::tests::lark_uses_api_key_auth_with_app_id_and_secret_required ... ok
[INFO] [stdout] test controllers::definitions::tests::serialization_produces_expected_structure ... ok
[INFO] [stdout] test controllers::definitions::tests::required_fields_have_non_empty_key_and_label ... ok
[INFO] [stdout] test controllers::definitions::tests::telegram_has_bot_token_and_managed_dm ... ok
[INFO] [stdout] test controllers::definitions::tests::email_validate_credentials_rejects_missing_password ... ok
[INFO] [stdout] test controllers::definitions::tests::validate_credentials_accepts_complete ... ok
[INFO] [stdout] test controllers::definitions::tests::validate_credentials_rejects_missing_required ... ok
[INFO] [stdout] test controllers::definitions::tests::validate_credentials_rejects_unsupported_mode ... ok
[INFO] [stdout] test config::tests::whatsapp_is_web_config ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_accepts_array_of_strings ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_returns_empty_for_none_or_non_string_value ... ok
[INFO] [stdout] test controllers::definitions::tests::lark_validate_credentials_rejects_missing_app_secret ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_dedups_case_insensitively ... ok
[INFO] [stdout] test controllers::definitions::tests::dingtalk_validate_credentials_rejects_missing_client_secret ... ok
[INFO] [stdout] test controllers::schemas::tests::field_helpers_set_requiredness_and_types ... ok
[INFO] [stdout] test controllers::schemas::tests::all_schemas_have_unique_functions ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_handles_string_csv ... ok
[INFO] [stdout] test controllers::credentials::tests::parse_allowed_users_rejects_empty_and_at_only ... ok
[INFO] [stdout] test controllers::schemas::tests::every_registered_key_resolves_to_schema ... ok
[INFO] [stdout] test controllers::schemas::tests::optional_and_empty_inputs_match_controller_contracts ... ok
[INFO] [stdout] test controllers::schemas::tests::unknown_function_returns_unknown_fallback ... ok
[INFO] [stdout] test controllers::schemas::tests::all_schemas_are_in_channels_namespace ... ok
[INFO] [stdout] test delivery::test::durability_degrades_to_best_effort_when_capability_missing ... ok
[INFO] [stdout] test delivery::test::computes_openclaw_backoff_schedule ... ok
[INFO] [stdout] test controllers::definitions::tests::channel_config_connected_covers_config_backed_modes ... ok
[INFO] [stdout] test delivery::test::first_crash_replay_is_eligible_without_attempt_timestamp ... ok
[INFO] [stdout] test delivery::test::failure_markers_preserve_retry_and_unknown_send_state ... ok
[INFO] [stdout] test delivery::test::reconciled_sent_unknown_delivery_is_acked ... ok
[INFO] [stdout] test controllers::schemas::tests::required_inputs_match_controller_contracts ... ok
[INFO] [stdout] test delivery::test::recovery_acks_successful_deliveries ... ok
[INFO] [stdout] test backend::tests::connect_rejects_non_object_credentials_before_delegating ... ok
[INFO] [stdout] test delivery::test::recovery_does_not_blindly_replay_unknown_after_send ... ok
[INFO] [stdout] test delivery::test::enqueue_ack_and_move_to_failed_update_store ... ok
[INFO] [stdout] test harness::test::media_event_projects_media_urls ... ok
[INFO] [stdout] test harness::test::text_delta_degrades_to_segment_send_without_editing ... ok
[INFO] [stdout] test delivery::test::derives_durable_capabilities_from_payload_shape ... ok
[INFO] [stdout] test delivery::test::classifies_permanent_delivery_errors ... ok
[INFO] [stdout] test delivery::test::recovery_records_transient_failure_for_retry ... ok
[INFO] [stdout] test providers::signal::tests::creates_with_correct_fields ... ok
[INFO] [stdout] test delivery::test::recovery_moves_entries_that_exceeded_max_retries ... ok
[INFO] [stdout] test delivery::test::retryable_unresolved_reconciliation_stays_pending ... ok
[INFO] [stdout] test delivery::test::recovery_moves_permanent_errors_to_failed ... ok
[INFO] [stdout] test delivery::test::retry_waits_for_backoff_window ... ok
[INFO] [stdout] test delivery::test::started_entries_replay_only_when_reconciled_not_sent ... ok
[INFO] [stdout] test delivery::test::targeted_drain_can_bypass_backoff_for_matching_entries ... ok
[INFO] [stdout] test harness::test::text_delta_uses_draft_when_editing_supported ... ok
[INFO] [stdout] test harness::test::approval_degrades_to_text_when_native_actions_unavailable ... ok
[INFO] [stdout] test providers::signal::tests::is_uuid_valid ... ok
[INFO] [stdout] test providers::signal::tests::is_uuid_invalid ... ok
[INFO] [stdout] test providers::signal::tests::matches_group_dm_keyword ... ok
[INFO] [stdout] test providers::signal::tests::matches_group_filters_group ... ok
[INFO] [stdout] test providers::signal::tests::parse_recipient_target_non_e164_plus_is_group ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_skips_attachment_only ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_empty_message ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_no_data_message ... ok
[INFO] [stdout] test providers::signal::tests::parse_recipient_target_prefixed_group_is_group ... ok
[INFO] [stdout] test providers::signal::tests::name_returns_signal ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_uuid_sender_in_group ... ok
[INFO] [stdout] test providers::signal::tests::parse_recipient_target_e164_is_direct ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_valid_dm ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_skips_stories ... ok
[INFO] [stdout] test providers::signal::tests::matches_group_no_group_id_accepts_all ... ok
[INFO] [stdout] test providers::signal::tests::empty_allowlist_denies_all ... ok
[INFO] [stdout] test providers::signal::tests::parse_recipient_target_uuid_is_direct ... ok
[INFO] [stdout] test providers::signal::tests::envelope_defaults ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_denied_sender ... ok
[INFO] [stdout] test providers::signal::tests::process_envelope_uuid_sender_dm ... ok
[INFO] [stdout] test providers::signal::tests::sender_falls_back_to_source ... ok
[INFO] [stdout] test providers::signal::tests::sse_envelope_deserializes_group ... ok
[INFO] [stdout] test providers::slack::tests::allowlist_wildcard_and_specific ... ok
[INFO] [stdout] test providers::signal::tests::sender_none_when_both_missing ... ok
[INFO] [stdout] test providers::signal::tests::specific_sender_allowed ... ok
[INFO] [stdout] test providers::signal::tests::strips_trailing_slash ... ok
[INFO] [stdout] test providers::slack::tests::empty_allowlist_denies_everyone ... ok
[INFO] [stdout] test providers::slack::tests::inbound_thread_ts_falls_back_to_ts ... ok
[INFO] [stdout] test providers::slack::tests::inbound_thread_ts_prefers_explicit_thread_ts ... ok
[INFO] [stdout] test providers::signal::tests::sse_envelope_deserializes ... ok
[INFO] [stdout] test providers::signal::tests::unknown_sender_denied ... ok
[INFO] [stdout] test providers::slack::tests::slack_channel_name ... ok
[INFO] [stdout] test providers::slack::tests::allowlist_case_sensitive ... ok
[INFO] [stdout] test providers::signal::tests::wildcard_allows_anyone ... ok
[INFO] [stdout] test providers::slack::tests::allowlist_exact_match_not_substring ... ok
[INFO] [stdout] test providers::slack::tests::allowlist_empty_user_id ... ok
[INFO] [stdout] test providers::signal::tests::reply_target_dm ... ok
[INFO] [stdout] test providers::signal::tests::sender_prefers_source_number ... ok
[INFO] [stdout] test providers::slack::tests::inbound_thread_ts_none_when_ts_missing ... ok
[INFO] [stdout] test providers::slack::tests::slack_message_id_different_channel_different_id ... ok
[INFO] [stdout] test providers::slack::tests::specific_allowlist_filters ... ok
[INFO] [stdout] test providers::signal::tests::reply_target_group ... ok
[INFO] [stdout] test providers::slack::tests::wildcard_allows_everyone ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_number_allowed_case_sensitive ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_channel_fields_stored_correctly ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_channel_name ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_number_denied_empty ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_number_allowed_exact ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_empty_payload ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_invalid_timestamp_uses_current ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_entry_not_array ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_number_allowed_multiple_numbers ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_messages_not_array ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_entry_array ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_number_allowed_wildcard ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_messages_array ... ok
[INFO] [stdout] test providers::slack::tests::slack_message_id_format_includes_channel_and_ts ... ok
[INFO] [stdout] test providers::slack::tests::slack_message_id_no_uuid_randomness ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_empty_entry_array ... ok
[INFO] [stdout] test providers::slack::tests::slack_channel_with_channel_id ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_text_body ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_changes_not_array ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_timestamp_uses_current ... ok
[INFO] [stdout] test providers::slack::tests::slack_message_id_different_ts_different_id ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_empty_messages_array ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_empty_changes_array ... ok
[INFO] [stdout] test providers::slack::tests::slack_message_id_is_deterministic ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_value ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_empty_text_skipped ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_from_field ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_mixed_authorized_unauthorized ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_null_text_body ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_multiple_changes ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_multiple_messages ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_non_text_media_message_types_are_skipped ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_normalizes_phone_with_plus ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_non_text_message_skipped ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_multiple_entries ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_newlines_preserved ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_unicode_message ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_status_update_ignored ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_valid_text_message ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_very_long_message ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_verify_token ... ok
[INFO] [stdout] test relay::test::delivery_headers_match_connector_names ... ok
[INFO] [stdout] test relay::test::delivery_signature_accepts_valid_and_rejects_tamper_or_skew ... ok
[INFO] [stdout] test relay::test::descriptor_fills_optional_defaults ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_unauthorized_number ... ok
[INFO] [stdout] test relay::test::descriptor_projects_platform_entry_fields ... ok
[INFO] [stdout] test relay::test::gateway_frames_match_connector_wire_casing ... ok
[INFO] [stdout] test relay::test::frozen_connector_vectors_match_hermes_tests ... ok
[INFO] [stdout] test relay::test::relay_send_action_projects_text_outbound_intent ... ok
[INFO] [stdout] test relay::test::descriptor_json_is_compact_and_sorted ... ok
[INFO] [stdout] test relay::test::passthrough_forward_decodes_body_and_tolerates_malformed_base64 ... ok
[INFO] [stdout] test relay::test::descriptor_roundtrips_json_and_ignores_unknown_keys ... ok
[INFO] [stdout] test relay::test::passthrough_forward_buffer_ack_uses_same_inbound_ack_frame ... ok
[INFO] [stdout] test relay::test::authenticated_inbound_event_strips_forged_wire_trust ... ok
[INFO] [stdout] test relay::test::relay_send_action_preserves_legacy_native_payload_in_metadata ... ok
[INFO] [stdout] test relay::test::connector_frames_roundtrip_and_build_buffer_ack ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_whitespace_only_message_skipped ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_special_characters ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_phone_already_has_plus ... ok
[INFO] [stdout] test relay::test::relay_transport_go_idle_waits_for_connector_ack ... ok
[INFO] [stdout] test relay::test::relay_transport_connect_sends_hello_and_handshake_reads_descriptor ... ok
[INFO] [stdout] test relay::test::relay_transport_outbound_waits_for_matching_result ... ok
[INFO] [stdout] test relay::test::signature_verifies_against_rotation_list ... ok
[INFO] [stdout] test relay::test::token_rejects_wrong_secret_expiry_and_garbage ... ok
[INFO] [stdout] test relay::test::token_rotation_verify_list_accepts_secondary_secret ... ok
[INFO] [stdout] test relay::test::token_roundtrips_and_payload_may_contain_colons ... ok
[INFO] [stdout] test relay::test::relay_transport_inbound_handler_runs_before_buffer_ack ... ok
[INFO] [stdout] test runtime::tests::compute_max_in_flight_messages_many_channels ... ok
[INFO] [stdout] test runtime::tests::compute_max_in_flight_messages_one_channel ... ok
[INFO] [stdout] test runtime::tests::compute_max_in_flight_messages_clamps_to_max ... ok
[INFO] [stdout] test relay::test::upgrade_token_is_token_of_gateway_id ... ok
[INFO] [stdout] test relay::test::relay_transport_reconnect_supervisor_redials_and_rehandshakes ... ok
[INFO] [stdout] test routes::tests::cached_models_and_help_responses_render_expected_text ... ok
[INFO] [stdout] test routes::tests::runtime_command_parsing_is_channel_scoped ... ok
[INFO] [stdout] test routes::tests::provider_alias_resolution_matches_registered_names_and_aliases ... ok
[INFO] [stdout] test providers::whatsapp::tests::whatsapp_parse_missing_changes_array ... ok
[INFO] [stdout] test text::tests::chunking_avoids_inline_code_span_when_possible ... ok
[INFO] [stdout] test text::tests::resolves_text_chunk_limit_with_overrides ... ok
[INFO] [stdout] test text::tests::truncate_with_ellipsis_only_marks_truncated_text ... ok
[INFO] [stdout] test text::tests::newline_mode_packs_paragraphs_then_rechunks_long_paragraphs ... ok
[INFO] [stdout] test text::tests::continuation_indicators_are_added_for_multi_chunk_messages ... ok
[INFO] [stdout] test traits::tests::channel_message_clone_preserves_fields ... ok
[INFO] [stdout] test text::tests::length_chunking_preserves_boundary_whitespace ... ok
[INFO] [stdout] test text::tests::markdown_fences_are_closed_and_reopened_across_chunks ... ok
[INFO] [stdout] test text::tests::measures_utf16_units_for_astral_characters ... ok
[INFO] [stdout] test traits::tests::default_draft_methods_return_success ... ok
[INFO] [stdout] test text::tests::plain_text_chunking_uses_full_limit_without_fence_reserve ... ok
[INFO] [stdout] test traits::tests::listen_sends_message_to_channel ... ok
[INFO] [stdout] test text::tests::length_chunking_prefers_newline_then_space_boundaries ... ok
[INFO] [stdout] test traits::tests::default_trait_methods_return_success ... ok
[INFO] [stdout] test traits::tests::send_message_generates_deterministic_idempotency_key ... ok
[INFO] [stdout] test text::tests::utf16_chunking_splits_emoji_case_that_character_count_would_pass ... ok
[INFO] [stdout] test traits::tests::explicit_send_message_idempotency_key_is_preserved ... ok
[INFO] [stdout] test runtime::tests::compute_max_in_flight_messages_zero_channels ... ok
[INFO] [stdout] test text::tests::prefix_within_utf16_limit_does_not_split_surrogate_pairs ... ok
[INFO] [stdout] test relay::test::relay_transport_does_not_ack_inbound_without_handler ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tinychannels
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8", kill_on_drop: false }`
[INFO] [stdout] 09cd32c237fb52a289ec7b22ed13732db4d88b27e9c9cd29f295d807e2a8c8a8
