[INFO] fetching crate scv-channels 0.3.8...
[INFO] testing scv-channels-0.3.8 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate scv-channels 0.3.8 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate scv-channels 0.3.8
[INFO] finished tweaking crates.io crate scv-channels 0.3.8
[INFO] tweaked toml for crates.io crate scv-channels 0.3.8 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate scv-channels 0.3.8 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate scv-channels 0.3.8 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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] 82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0
[INFO] running `Command { std: "docker" "start" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", 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" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", 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" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling yoke-derive v0.8.3
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling chacha20 v0.10.2
[INFO] [stderr]    Compiling tendril v0.5.1
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling web_atoms v0.2.6
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling uuid v1.26.1
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling markup5ever v0.39.0
[INFO] [stderr]    Compiling html5ever v0.39.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling scv-protocol v0.3.8
[INFO] [stderr]    Compiling html2text v0.17.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling prost v0.14.4
[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.11.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling scv-client v0.3.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.5
[INFO] [stderr]    Compiling tungstenite v0.30.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tokio-tungstenite v0.30.0
[INFO] [stderr]    Compiling scv-channels v0.3.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.01s
[INFO] running `Command { std: "docker" "inspect" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", 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" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling markup5ever v0.39.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling tungstenite v0.30.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling html5ever v0.39.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling html2text v0.17.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.5
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling scv-client v0.3.8
[INFO] [stderr]    Compiling tokio-tungstenite v0.30.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling scv-channels v0.3.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 56.20s
[INFO] running `Command { std: "docker" "inspect" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", 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" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/scv-channels/9dac08d316358f29/out/scv_channels-9dac08d316358f29)
[INFO] [stdout] 
[INFO] [stdout] running 478 tests
[INFO] [stdout] test channel::tests::channels_keep_their_names_and_order ... ok
[INFO] [stdout] test chatlog::tests::the_host_offset_is_a_real_zone_offset ... ok
[INFO] [stdout] test chatlog::tests::an_account_name_too_long_for_session_start_is_not_logged ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_at_english_attributions ... ok
[INFO] [stdout] test chatlog::tests::voice_transcripts_are_recorded_with_their_files ... ok
[INFO] [stdout] test channel::tests::the_bridge_grants_tools_only_with_an_owner_and_a_turn_timeout ... ok
[INFO] [stdout] test email::clean::tests::clean_body_collapses_whitespace ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_the_signature_after_the_first_line ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_at_marker_lines ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_at_chinese_attributions ... ok
[INFO] [stdout] test channel::tests::credentials_name_their_owner_bot_and_platform ... ok
[INFO] [stdout] test email::clean::tests::clean_body_truncates_at_a_line_boundary ... ok
[INFO] [stdout] test email::clean::tests::clean_body_keeps_a_body_that_is_only_history ... ok
[INFO] [stdout] test email::clean::tests::clean_body_keeps_instructions_as_text_and_drops_hiding_characters ... ok
[INFO] [stdout] test email::clean::tests::clean_body_truncates_within_a_line_at_a_char_boundary ... ok
[INFO] [stdout] test email::clean::tests::an_html_link_shows_where_it_really_goes ... ok
[INFO] [stdout] test email::clean::tests::clean_body_drops_quoted_lines ... ok
[INFO] [stdout] test email::clean::tests::clean_body_converts_html_first ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_at_header_blocks ... ok
[INFO] [stdout] test email::clean::tests::clean_body_cuts_history_from_webmail_html ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_marks_quotes_and_lists_and_reads_tables_by_cell ... ok
[INFO] [stdout] test chatlog::tests::only_the_owners_direct_chat_and_its_threads_are_logged ... ok
[INFO] [stdout] test email::clean::tests::clean_body_truncates_to_tiny_limits ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_keeps_what_a_reader_sees ... ok
[INFO] [stdout] test email::clean::tests::replace_links_leaves_other_text_alone ... ok
[INFO] [stdout] test email::clean::tests::replace_links_marks_a_link_without_a_valid_host ... ok
[INFO] [stdout] test email::clean::tests::replace_links_shows_the_host_a_browser_would_visit ... ok
[INFO] [stdout] test email::clean::tests::sanitize_drops_every_hiding_character_and_keeps_the_rest ... ok
[INFO] [stdout] test email::clean::tests::nesting_depth_counts_what_can_nest ... ok
[INFO] [stdout] test email::clean::tests::sanitize_normalizes_line_breaks ... ok
[INFO] [stdout] test email::clean::tests::strip_tags_keeps_text_and_line_structure ... ok
[INFO] [stdout] test email::credentials::tests::a_new_password_keeps_the_fingerprint_and_another_mailbox_does_not ... ok
[INFO] [stdout] test email::credentials::tests::validation_refuses_what_cannot_be_a_mailbox_login ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_survives_malformed_html ... ok
[INFO] [stdout] test email::credentials::tests::saved_credentials_round_trip_and_never_print_the_secret ... ok
[INFO] [stdout] test email::clean::tests::replace_links_leaves_trailing_punctuation_outside ... ok
[INFO] [stdout] test email::clean::tests::replace_links_shows_only_the_lowercase_host ... ok
[INFO] [stdout] test email::imap::client::tests::a_bye_greeting_refuses_without_the_servers_text ... ok
[INFO] [stdout] test email::clean::tests::sanitize_leaves_instructions_as_plain_text ... ok
[INFO] [stdout] test email::clean::tests::sanitize_is_idempotent_and_never_outputs_a_removed_character ... ok
[INFO] [stdout] test email::clean::tests::replace_links_ends_a_url_at_whitespace_and_delimiters ... ok
[INFO] [stdout] test email::imap::client::tests::a_refusal_names_the_verb_and_code_but_not_the_servers_text ... ok
[INFO] [stdout] test email::imap::client::tests::a_protocol_error_ends_the_connection ... ok
[INFO] [stdout] test email::imap::client::tests::a_command_times_out_and_ends_the_connection ... ok
[INFO] [stdout] test email::imap::client::tests::a_malformed_untagged_response_is_skipped ... ok
[INFO] [stdout] test email::imap::client::tests::authenticate_plain_uses_an_initial_response_with_sasl_ir ... ok
[INFO] [stdout] test email::imap::client::tests::examine_reports_the_mailbox_state_and_encodes_its_name ... ok
[INFO] [stdout] test email::imap::client::tests::id_sends_quoted_fields_and_tolerates_a_refusal ... ok
[INFO] [stdout] test email::imap::client::tests::login_disabled_uses_authenticate_plain ... ok
[INFO] [stdout] test email::imap::client::tests::login_quotes_a_printable_password ... ok
[INFO] [stdout] test email::imap::client::tests::login_sends_a_non_ascii_password_as_a_literal ... ok
[INFO] [stdout] test channel::tests::accounts_read_and_write_each_channel_under_the_layout ... ok
[INFO] [stdout] test email::imap::client::tests::segments_split_where_the_server_must_answer ... ok
[INFO] [stdout] test email::imap::client::tests::tags_count_up_and_capabilities_refresh ... ok
[INFO] [stdout] test email::imap::client::tests::the_greeting_may_carry_capabilities_or_preauthenticate ... ok
[INFO] [stdout] test email::imap::client::tests::uid_fetch_merges_split_responses_and_drops_others ... ok
[INFO] [stdout] test email::imap::client::tests::uid_search_drops_what_the_star_quirk_matches ... ok
[INFO] [stdout] test email::imap::fetch::tests::a_missing_or_short_envelope_is_empty ... ok
[INFO] [stdout] test email::imap::fetch::tests::internal_dates_become_unix_seconds ... ok
[INFO] [stdout] test email::imap::fetch::tests::later_responses_add_to_earlier_ones ... ok
[INFO] [stdout] test email::imap::fetch::tests::merges_the_items_of_a_fetch_response ... ok
[INFO] [stdout] test email::imap::fetch::tests::reads_the_rfc_3501_envelope ... ok
[INFO] [stdout] test email::imap::fetch::tests::search_dates_name_the_utc_day ... ok
[INFO] [stdout] test email::imap::fetch::tests::section_specs_normalize_case_quotes_and_spacing ... ok
[INFO] [stdout] test email::imap::fetch::tests::skips_group_markers_and_reads_literals_and_lowercase_nil ... ok
[INFO] [stdout] test email::imap::fetch::tests::the_non_extensible_body_form_stands_in_for_bodystructure ... ok
[INFO] [stdout] test email::imap::guard::tests::a_literal_cannot_carry_a_refused_verb_past_the_guard ... ok
[INFO] [stdout] test email::imap::guard::tests::allows_the_read_only_commands ... ok
[INFO] [stdout] test email::imap::guard::tests::authenticate_takes_one_base64_response ... ok
[INFO] [stdout] test email::imap::guard::tests::mailbox_and_credential_arguments_may_be_atoms_quoted_or_literals ... ok
[INFO] [stdout] test email::imap::guard::tests::refuses_every_mailbox_changing_verb ... ok
[INFO] [stdout] test email::imap::guard::tests::refuses_fetch_items_that_set_seen_or_are_unknown ... ok
[INFO] [stdout] test email::imap::guard::tests::refuses_line_breaks_and_malformed_commands ... ok
[INFO] [stdout] test email::imap::guard::tests::refuses_searches_outside_the_known_keys ... ok
[INFO] [stdout] test email::imap::guard::tests::returns_the_verb ... ok
[INFO] [stdout] test email::imap::guard::tests::the_violation_names_only_the_verb ... ok
[INFO] [stdout] test email::imap::structure::tests::a_name_parameter_makes_a_part_an_attachment ... ok
[INFO] [stdout] test email::imap::structure::tests::a_single_text_part_is_part_one ... ok
[INFO] [stdout] test email::imap::structure::tests::alternative_prefers_plain_over_html ... ok
[INFO] [stdout] test email::imap::structure::tests::an_attached_message_is_listed_and_never_entered ... ok
[INFO] [stdout] test email::imap::structure::tests::an_attached_text_part_is_never_the_text ... ok
[INFO] [stdout] test email::imap::structure::tests::decodes_rfc_2231_file_names ... ok
[INFO] [stdout] test email::imap::structure::tests::html_only ... ok
[INFO] [stdout] test email::imap::structure::tests::keywords_may_be_lowercase ... ok
[INFO] [stdout] test email::imap::structure::tests::lists_at_most_sixteen_attachments ... ok
[INFO] [stdout] test email::imap::structure::tests::missing_extension_data_is_fine ... ok
[INFO] [stdout] test email::imap::structure::tests::mixed_lists_a_pdf_and_an_inline_image_as_attachments ... ok
[INFO] [stdout] test email::imap::structure::tests::nested_multiparts_number_their_parts ... ok
[INFO] [stdout] test email::imap::structure::tests::other_text_types_are_neither_text_nor_attachments ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_does_not_wrap_long_paragraphs ... ok
[INFO] [stdout] test email::imap::structure::tests::structures_of_the_wrong_shape_have_no_layout ... ok
[INFO] [stdout] test email::imap::tests::a_preauthenticated_session_does_not_sign_in ... ok
[INFO] [stdout] test chatlog::tests::a_log_remembers_a_bounded_number_of_conversations ... ok
[INFO] [stdout] test email::imap::tests::asks_for_capabilities_when_not_told_and_skips_id_when_not_offered ... ok
[INFO] [stdout] test email::imap::tests::changes::a_cursor_at_zero_resumes_from_one ... ok
[INFO] [stdout] test email::imap::tests::changes::a_limit_truncates_and_the_cursor_resumes_after_the_last_listed ... ok
[INFO] [stdout] test email::imap::tests::changes::a_new_uidvalidity_resets_to_the_newest_in_the_window ... ok
[INFO] [stdout] test email::imap::tests::changes::a_reset_without_uidnext_resumes_after_the_highest_uid ... ok
[INFO] [stdout] test email::imap::tests::changes::a_zero_limit_keeps_the_cursor ... ok
[INFO] [stdout] test email::imap::tests::changes::another_mailbox_or_an_unreadable_cursor_resets ... ok
[INFO] [stdout] test email::imap::tests::changes::new_mail_is_listed_oldest_first_from_the_cursor ... ok
[INFO] [stdout] test email::imap::tests::changes::nothing_is_searched_while_uidnext_has_not_passed_the_cursor ... ok
[INFO] [stdout] test email::imap::tests::changes::the_first_run_lists_nothing_and_starts_at_uidnext ... ok
[INFO] [stdout] test email::imap::tests::changes::the_first_run_without_uidnext_starts_after_the_highest_uid ... ok
[INFO] [stdout] test email::imap::tests::changes::the_star_quirk_lists_nothing_and_moves_to_uidnext ... ok
[INFO] [stdout] test email::imap::tests::close_logs_out ... ok
[INFO] [stdout] test email::imap::tests::messages::messages_sharing_a_message_id_keep_their_own_identities ... ok
[INFO] [stdout] test email::imap::tests::messages::metadata_falls_back_to_the_envelope_message_id ... ok
[INFO] [stdout] test email::imap::tests::messages::metadata_fetches_at_most_64_messages_per_command ... ok
[INFO] [stdout] test email::imap::tests::messages::metadata_for_another_selection_sends_nothing ... ok
[INFO] [stdout] test email::imap::tests::messages::metadata_reads_headers_envelope_and_structure_in_ref_order ... ok
[INFO] [stdout] test email::imap::tests::messages::oversized_metadata_is_cut_to_its_bounds ... ok
[INFO] [stdout] test email::imap::tests::messages::text_of_a_message_that_is_gone_is_none ... ok
[INFO] [stdout] test email::imap::tests::messages::text_peeks_at_a_partial_section ... ok
[INFO] [stdout] test email::imap::client::tests::a_failed_authenticate_plain_never_repeats_the_credentials ... ok
[INFO] [stdout] test email::imap::client::tests::a_refused_command_writes_nothing_and_ends_the_connection ... ok
[INFO] [stdout] test email::imap::tests::starts_by_signing_in_identifying_and_examining ... ok
[INFO] [stdout] test email::imap::client::tests::a_closed_connection_ends_the_client ... ok
[INFO] [stdout] test email::imap::tests::the_config_debug_output_hides_credentials ... ok
[INFO] [stdout] test email::imap::tests::part_sections_are_part_numbers ... ok
[INFO] [stdout] test email::imap::tests::the_fake_server_fails_a_test_that_fetches_without_peek - should panic ... ok
[INFO] [stdout] test email::imap::tls::tests::the_client_config_builds_with_the_bundled_roots ... ok
[INFO] [stdout] test email::imap::utf7::tests::control_characters_are_encoded_never_sent_raw ... ok
[INFO] [stdout] test email::imap::utf7::tests::decode_refuses_malformed_runs ... ok
[INFO] [stdout] test email::imap::utf7::tests::encodes_ascii_as_itself_and_ampersand_as_a_run ... ok
[INFO] [stdout] test email::imap::utf7::tests::encodes_the_rfc_3501_example_and_chinese_names ... ok
[INFO] [stdout] test email::imap::utf7::tests::round_trips ... ok
[INFO] [stdout] test email::imap::wire::tests::a_cut_off_literal_is_an_error ... ok
[INFO] [stdout] test email::imap::wire::tests::bounds_lines_literals_and_the_whole_response ... ok
[INFO] [stdout] test email::imap::wire::tests::malformed_responses_are_errors ... ok
[INFO] [stdout] test email::imap::wire::tests::nesting_is_bounded ... ok
[INFO] [stdout] test email::imap::wire::tests::parses_quoted_strings_literals_nil_and_nested_lists ... ok
[INFO] [stdout] test email::imap::wire::tests::parses_section_keys_with_field_lists_and_origins ... ok
[INFO] [stdout] test email::imap::client::tests::logout_finishes_the_connection ... ok
[INFO] [stdout] test email::imap::tests::messages::text_refuses_a_part_that_is_not_a_part_number ... ok
[INFO] [stdout] test email::imap::client::tests::login_disabled_without_plain_sends_nothing ... ok
[INFO] [stdout] test email::imap::wire::tests::reads_a_response_through_its_literals ... ok
[INFO] [stdout] test email::imap::wire::tests::parses_tagged_completions_with_their_codes ... ok
[INFO] [stdout] test email::imap::wire::tests::reads_non_synchronizing_and_binary_literal_announcements ... ok
[INFO] [stdout] test email::imap::wire::tests::parses_untagged_status_data_and_continuations ... ok
[INFO] [stdout] test email::imap::client::tests::a_silent_server_times_out_at_the_greeting ... ok
[INFO] [stdout] test email::imap::tests::a_refused_mailbox_is_reported_without_the_servers_text ... ok
[INFO] [stdout] test email::imap::tls::tests::an_invalid_host_name_is_refused_before_connecting ... ok
[INFO] [stdout] test email::imap::tests::the_fake_server_fails_a_test_that_sends_a_store - should panic ... ok
[INFO] [stdout] test email::imap::client::tests::only_standard_response_codes_are_named ... ok
[INFO] [stdout] test email::janitor::tests::in_the_shared_directory_only_the_accounts_own_temporaries_go ... ok
[INFO] [stdout] test email::imap::tests::a_mailbox_without_uidvalidity_cannot_be_read ... ok
[INFO] [stdout] test email::imap::wire::tests::tolerates_bare_line_feeds_binary_literals_and_tight_lists ... ok
[INFO] [stdout] test email::imap::client::tests::a_failed_login_never_repeats_the_servers_text_or_the_secret ... ok
[INFO] [stdout] test email::janitor::tests::stale_temporaries_go_and_everything_else_stays ... ok
[INFO] [stdout] test email::janitor::tests::the_empty_directory_is_emptied_without_following_links ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_reads_at_most_a_mebibyte ... ok
[INFO] [stdout] test email::ledger::tests::a_failed_write_changes_nothing ... ok
[INFO] [stdout] test email::ledger::tests::a_new_state_gets_an_epoch_and_a_newer_one_is_refused ... ok
[INFO] [stdout] test email::janitor::tests::free_space_that_cannot_be_told_counts_as_too_little ... ok
[INFO] [stdout] test email::model::tests::a_failed_turn_or_a_closed_session_is_a_plain_failure ... ok
[INFO] [stdout] test email::model::tests::a_long_answer_is_cut ... ok
[INFO] [stdout] test email::model::tests::a_triage_session_is_tool_free_channel_less_and_uses_the_fixed_frame ... ok
[INFO] [stdout] test email::janitor::tests::a_sweep_prunes_and_flags_a_full_disk_once ... ok
[INFO] [stdout] test email::model::tests::any_tool_or_approval_event_ends_the_turn ... ok
[INFO] [stdout] test email::ledger::tests::a_slow_disk_holds_up_no_reader_and_no_shutdown ... ok
[INFO] [stdout] test email::imap::wire::tests::truncated_and_random_input_never_panics ... ok
[INFO] [stdout] test email::ledger::tests::a_report_that_cannot_fit_the_state_file_is_counted_instead ... ok
[INFO] [stdout] test email::ledger::tests::the_same_key_is_queued_once_and_long_items_are_cut ... ok
[INFO] [stdout] test email::parse::tests::a_huge_header_value_is_decoded_only_so_far ... ok
[INFO] [stdout] test email::parse::tests::decode_body_drops_a_character_cut_at_the_end ... ok
[INFO] [stdout] test email::parse::tests::decode_body_drops_a_quoted_printable_sequence_cut_at_the_end ... ok
[INFO] [stdout] test email::parse::tests::decode_body_drops_an_incomplete_base64_quantum ... ok
[INFO] [stdout] test email::parse::tests::decode_body_falls_back_to_utf8 ... ok
[INFO] [stdout] test email::notify::tests::an_ordinary_chat_on_the_route_is_skipped_and_the_next_mail_chat_used ... ok
[INFO] [stdout] test email::parse::tests::decode_body_passes_other_transfer_encodings_through ... ok
[INFO] [stdout] test email::parse::tests::decode_body_reads_each_charset ... ok
[INFO] [stdout] test email::parse::tests::decode_body_reads_mislabelled_us_ascii_as_utf8_when_it_is ... ok
[INFO] [stdout] test email::parse::tests::decode_body_strips_a_leading_byte_order_mark ... ok
[INFO] [stdout] test email::parse::tests::decode_body_undoes_base64_leniently ... ok
[INFO] [stdout] test email::parse::tests::decode_body_undoes_quoted_printable_leniently ... ok
[INFO] [stdout] test email::parse::tests::decode_words_decodes_b_and_q_words_in_any_case ... ok
[INFO] [stdout] test email::parse::tests::decode_words_drops_space_only_between_adjacent_encoded_words ... ok
[INFO] [stdout] test email::parse::tests::decode_words_joins_a_character_split_across_encoded_words ... ok
[INFO] [stdout] test email::parse::tests::decode_words_keeps_a_decoded_value_on_one_line ... ok
[INFO] [stdout] test email::parse::tests::decode_words_leaves_malformed_or_unknown_words_as_written ... ok
[INFO] [stdout] test email::parse::tests::decode_words_reads_chinese_japanese_and_korean_charsets ... ok
[INFO] [stdout] test email::parse::tests::decode_words_reads_raw_bytes_as_utf8_or_else_gb18030 ... ok
[INFO] [stdout] test email::notify::tests::a_refused_digest_is_counted_in_the_next_one ... ok
[INFO] [stdout] test email::parse::tests::decode_words_unfolds_and_trims_plain_text ... ok
[INFO] [stdout] test email::parse::tests::digest_is_hex_sha256 ... ok
[INFO] [stdout] test email::parse::tests::header_fields_unfold_lowercase_and_stop_at_the_blank_line ... ok
[INFO] [stdout] test email::ledger::tests::claims_move_the_cursor_in_the_same_write_and_decisions_release_them ... ok
[INFO] [stdout] test email::parse::tests::messages_without_an_id_in_the_same_second_with_the_same_size_stay_apart ... ok
[INFO] [stdout] test email::notify::tests::urgent_mail_goes_at_once ... ok
[INFO] [stdout] test email::parse::tests::identity_is_one_stored_message_not_one_message_id ... ok
[INFO] [stdout] test email::parse::tests::msg_id_refuses_what_is_not_a_msg_id ... ok
[INFO] [stdout] test email::plan::tests::a_full_count_goes_at_once_and_a_message_holds_at_most_the_limits ... ok
[INFO] [stdout] test email::plan::tests::a_digest_waits_for_the_settle_window_then_goes ... ok
[INFO] [stdout] test email::plan::tests::a_spent_urgent_budget_treats_urgent_items_as_normal ... ok
[INFO] [stdout] test email::plan::tests::a_steady_trickle_goes_out_at_the_maximum_delay ... ok
[INFO] [stdout] test email::plan::tests::message_limits_pause_digests_until_the_window_has_room ... ok
[INFO] [stdout] test email::parse::tests::msg_id_keeps_brackets_and_case_and_drops_comments_and_space ... ok
[INFO] [stdout] test email::plan::tests::nothing_queued_is_idle ... ok
[INFO] [stdout] test email::plan::tests::responses_go_at_once_under_their_own_limit ... ok
[INFO] [stdout] test email::plan::tests::quiet_hours_across_midnight_hold_digests_and_deliver_or_hold_urgent_mail ... ok
[INFO] [stdout] test email::plan::tests::urgent_items_go_first_and_others_ride_along ... ok
[INFO] [stdout] test email::render::tests::a_digest_says_what_it_carries_and_what_it_left_out ... ok
[INFO] [stdout] test email::render::tests::a_report_puts_sender_text_on_prefixed_lines_and_scv_facts_on_its_own ... ok
[INFO] [stdout] test email::render::tests::addresses_on_scv_lines_are_plain_dot_atoms ... ok
[INFO] [stdout] test email::render::tests::an_oversized_report_drops_untrusted_lines_first ... ok
[INFO] [stdout] test email::rules::tests::a_rule_holds_only_when_every_condition_it_names_holds ... ok
[INFO] [stdout] test email::notify::tests::reports_wait_for_the_settle_window_then_go_to_the_mail_chat_once ... ok
[INFO] [stdout] test email::ledger::tests::a_batch_is_stored_once_and_its_counts_leave_the_next_digest ... ok
[INFO] [stdout] test email::rules::tests::the_first_matching_owner_rule_wins_over_the_built_in_ones ... ok
[INFO] [stdout] test email::settings::tests::defaults_need_only_a_route ... ok
[INFO] [stdout] test email::settings::tests::mail_actions_are_refused_in_this_release ... ok
[INFO] [stdout] test email::settings::tests::notification_bounds_are_checked ... ok
[INFO] [stdout] test email::settings::tests::routes_name_one_to_four_chat_accounts ... ok
[INFO] [stdout] test email::settings::tests::the_queue_must_fit_in_half_the_state_file ... ok
[INFO] [stdout] test email::settings::tests::rules_are_lowercased_and_checked ... ok
[INFO] [stdout] test email::rules::tests::built_in_rules_count_bulk_report_noreply_and_triage_the_rest ... ok
[INFO] [stdout] test email::settings::tests::unknown_keys_and_out_of_bounds_values_fail ... ok
[INFO] [stdout] test email::source::tests::cut_keeps_what_fits_and_marks_what_does_not ... ok
[INFO] [stdout] test email::render::tests::adversarial_text_never_forms_an_unprefixed_line ... ok
[INFO] [stdout] test email::tests::every_route_must_be_a_configured_mail_chat ... ok
[INFO] [stdout] test email::tests::every_route_must_name_a_chat ... ok
[INFO] [stdout] test email::parse::tests::decode_words_stays_linear_on_hostile_input ... ok
[INFO] [stdout] test email::tests::a_refused_sign_in_logs_nothing_the_server_said_or_was_sent ... ok
[INFO] [stdout] test email::tests::status_shows_the_server_and_never_the_user_name ... ok
[INFO] [stdout] test email::triage::tests::the_answer_is_read_into_three_fields_and_everything_else_is_ignored ... ok
[INFO] [stdout] test email::triage::tests::the_estimate_counts_three_bytes_a_token_plus_the_answer ... ok
[INFO] [stdout] test email::triage::tests::the_frame_is_fixed_and_carries_only_the_owners_instructions ... ok
[INFO] [stdout] test email::notify::tests::at_the_message_limit_the_owner_is_told_once_and_the_rest_waits ... ok
[INFO] [stdout] test email::triage::tests::the_prompt_frames_the_mail_between_unpredictable_delimiters ... ok
[INFO] [stdout] test email::tests::every_file_is_private ... ok
[INFO] [stdout] test email::notify::tests::with_no_mail_chat_running_the_message_waits_and_is_given_up_in_time ... ok
[INFO] [stdout] test email::ledger::tests::a_batch_no_route_took_is_dissolved_and_counted ... ok
[INFO] [stdout] test email::tests::logout_removes_the_state_and_the_private_directory ... ok
[INFO] [stdout] test email::parse::tests::decode_body_handles_large_input ... ok
[INFO] [stdout] test email::ledger::tests::a_full_queue_drops_its_oldest_reports_into_a_count_but_keeps_scv_lines ... ok
[INFO] [stdout] test email::tests::mail_text_reaches_the_mail_chat_and_nothing_else ... ok
[INFO] [stdout] test email::worker::tests::a_lost_connection_keeps_claims_for_the_next_check ... ok
[INFO] [stdout] test email::worker::tests::a_prompt_over_its_bound_is_never_sent ... ok
[INFO] [stdout] test email::worker::tests::a_reset_mailbox_is_resynced_once_without_repeating_reports ... ok
[INFO] [stdout] test email::worker::tests::a_reused_message_id_hides_no_mail ... ok
[INFO] [stdout] test email::worker::tests::a_failed_or_unreadable_turn_still_reports_the_mail ... ok
[INFO] [stdout] test email::worker::tests::mail_the_model_passes_over_is_counted_not_reported ... ok
[INFO] [stdout] test feishu::api::tests::mention_tags_are_broken_but_other_text_is_kept ... ok
[INFO] [stdout] test feishu::api::tests::message_ids_are_path_encoded ... ok
[INFO] [stdout] test feishu::api::tests::send_outcomes_separate_refusals_from_retries ... ok
[INFO] [stdout] test feishu::api::tests::socket_urls_must_stay_on_the_brand_domain_over_tls ... ok
[INFO] [stdout] test feishu::credentials::tests::debug_never_shows_the_secret ... ok
[INFO] [stdout] test feishu::credentials::tests::ids_are_checked_before_use ... ok
[INFO] [stdout] test email::worker::tests::new_mail_is_triaged_in_a_fresh_tool_free_turn_and_reported ... ok
[INFO] [stdout] test feishu::credentials::tests::secret_rotation_keeps_the_binding_but_app_or_owner_changes_do_not ... ok
[INFO] [stdout] test feishu::frame::tests::acknowledgement_keeps_the_frame_and_reports_success ... ok
[INFO] [stdout] test feishu::frame::tests::frames_round_trip_with_required_fields ... ok
[INFO] [stdout] test email::worker::tests::low_disk_space_counts_mail_instead_of_writing_reports ... ok
[INFO] [stdout] test feishu::frame::tests::split_events_reassemble_in_any_order ... ok
[INFO] [stdout] test feishu::inbound::tests::a_reply_outside_a_thread_quotes_and_answers_in_the_chat ... ok
[INFO] [stdout] test feishu::inbound::tests::a_thread_message_belongs_to_its_thread_and_is_answered_inside_it ... ok
[INFO] [stdout] test email::worker::tests::a_second_arrival_and_mail_past_the_catch_up_window_are_counted ... ok
[INFO] [stdout] test feishu::inbound::tests::a_threads_root_starts_it_and_has_no_origin_to_show ... ok
[INFO] [stdout] test feishu::inbound::tests::a_voice_message_gets_the_voice_reply_because_feishu_sends_no_transcript ... ok
[INFO] [stdout] test feishu::credentials::tests::saved_accounts_are_private_and_round_trip ... ok
[INFO] [stdout] test feishu::inbound::tests::checkpoint_keeps_the_newest_time_per_chat_within_bounds ... ok
[INFO] [stdout] test feishu::inbound::tests::direct_text_becomes_a_message_to_answer ... ok
[INFO] [stdout] test feishu::inbound::tests::content_without_files_becomes_readable_markers ... ok
[INFO] [stdout] test feishu::inbound::tests::group_messages_count_only_when_they_mention_the_bot ... ok
[INFO] [stdout] test feishu::inbound::tests::history_items_keep_their_thread ... ok
[INFO] [stdout] test feishu::inbound::tests::history_items_skip_the_bot_and_deleted_messages ... ok
[INFO] [stdout] test feishu::inbound::tests::other_events_and_malformed_payloads_are_told_apart ... ok
[INFO] [stdout] test feishu::inbound::tests::files_become_media_to_fetch ... ok
[INFO] [stdout] test feishu::inbound::tests::quotes_and_forwarded_bundles_are_resolved_before_the_turn ... ok
[INFO] [stdout] test feishu::inbound::tests::rich_text_is_flattened_and_its_images_are_fetched ... ok
[INFO] [stdout] test feishu::inbound::tests::thread_messages_move_their_threads_mark_and_make_the_chat_known ... ok
[INFO] [stdout] test email::worker::tests::a_message_that_keeps_failing_is_read_by_headers_then_given_up ... ok
[INFO] [stdout] test feishu::tests::a_threads_origin_resolves_to_its_root ... ok
[INFO] [stdout] test feishu::tests::an_untrusted_socket_host_is_never_dialed ... ok
[INFO] [stdout] test feishu::tests::a_dropped_socket_reconnects_and_catches_up_again ... ok
[INFO] [stdout] test feishu::tests::files_download_through_the_resource_api_within_limits ... ok
[INFO] [stdout] test email::worker::tests::the_first_check_takes_the_position_and_reads_no_old_mail ... ok
[INFO] [stdout] test feishu::tests::files_upload_then_go_out_as_image_or_file_messages ... ok
[INFO] [stdout] test feishu::frame::tests::malformed_or_oversized_parts_are_dropped ... ok
[INFO] [stdout] test email::worker::tests::rules_and_signals_decide_without_a_model ... ok
[INFO] [stdout] test feishu::tests::full_bridge_answers_a_caught_up_message_and_saves_the_checkpoint ... ok
[INFO] [stdout] test feishu::tests::full_bridge_answers_a_caught_up_thread_message_inside_its_thread ... ok
[INFO] [stdout] test feishu::tests::full_bridge_answers_the_owners_voice_message_with_the_voice_reply ... ok
[INFO] [stdout] test feishu::tests::quoted_and_forwarded_messages_are_resolved_into_context_and_files ... ok
[INFO] [stdout] test feishu::tests::registration_stops_when_declined_or_unsupported ... ok
[INFO] [stdout] test feishu::tests::catch_up_lists_known_and_new_threads_and_hands_each_message_over_once ... ok
[INFO] [stdout] test feishu::tests::full_bridge_sends_scvs_notices_without_a_label_or_code_block ... ok
[INFO] [stdout] test feishu::tests::replies_in_a_thread_stay_in_it_and_go_to_the_chat_where_threads_are_refused ... ok
[INFO] [stdout] test feishu::tests::the_model_is_told_the_brand_its_users_know ... ok
[INFO] [stdout] test hub::tests::a_detached_link_holds_no_question ... ok
[INFO] [stdout] test hub::tests::a_detached_link_shares_nothing ... ok
[INFO] [stdout] test hub::tests::a_dropped_notice_is_reported_as_not_stored ... ok
[INFO] [stdout] test hub::tests::a_notice_not_stored_in_time_is_abandoned ... ok
[INFO] [stdout] test hub::tests::a_replaced_bridge_is_not_withdrawn_by_its_predecessor ... ok
[INFO] [stdout] test hub::tests::an_undelivered_question_fails_and_frees_the_chat ... ok
[INFO] [stdout] test hub::tests::bridges_and_chats_are_visible_while_registered ... ok
[INFO] [stdout] test hub::tests::one_question_waits_per_chat_until_answered_or_withdrawn ... ok
[INFO] [stdout] test hub::tests::only_an_accounts_first_recovery_sees_the_planned_restart ... ok
[INFO] [stdout] test hub::tests::the_owners_last_chat_survives_a_restart ... ok
[INFO] [stdout] test intake::tests::a_claimed_or_undelivered_message_never_runs_a_second_turn ... ok
[INFO] [stdout] test intake::tests::a_dropped_sender_never_gets_the_busy_reply_and_seen_ids_stay_ignored ... ok
[INFO] [stdout] test intake::tests::a_full_session_table_makes_room_only_by_closing_an_idle_conversation ... ok
[INFO] [stdout] test intake::tests::a_full_session_table_never_closes_a_conversation_with_background_work ... ok
[INFO] [stdout] test intake::tests::a_thread_has_its_own_queue_limit ... ok
[INFO] [stdout] test intake::tests::a_thread_is_a_conversation_of_its_own_with_its_chats_authority ... ok
[INFO] [stdout] test intake::tests::a_voice_message_nobody_transcribed_gets_the_voice_reply_instead_of_a_turn ... ok
[INFO] [stdout] test intake::tests::an_account_that_answers_anyone_keeps_owner_authority_for_the_owner_alone ... ok
[INFO] [stdout] test intake::tests::an_answer_needs_no_room_but_is_never_taken_twice ... ok
[INFO] [stdout] test intake::tests::an_owner_only_account_answers_its_owner_and_drops_everyone_else ... ok
[INFO] [stdout] test intake::tests::an_owner_only_account_with_no_known_owner_answers_nobody ... ok
[INFO] [stdout] test intake::tests::direct_chats_and_each_sender_in_a_group_are_separate_conversations ... ok
[INFO] [stdout] test email::worker::tests::without_budget_or_room_this_hour_mail_is_reported_by_its_headers ... ok
[INFO] [stdout] test intake::tests::messages_beyond_the_claim_and_queue_limits_get_the_busy_reply ... ok
[INFO] [stdout] test intake::tests::explicit_answers_are_recognized_after_normalizing ... ok
[INFO] [stdout] test intake::tests::only_a_message_sent_after_the_question_reached_the_chat_answers_it ... ok
[INFO] [stdout] test feishu::tests::catch_up_then_socket_events_acknowledged_only_after_the_next_receive ... ok
[INFO] [stdout] test intake::tests::only_the_owner_answers_a_question_in_their_direct_chat ... ok
[INFO] [stdout] test intake::tests::the_account_owner_is_known_without_the_tool_grant ... ok
[INFO] [stdout] test intake::tests::the_voice_reply_needs_no_turn_slot ... ok
[INFO] [stdout] test mail_chat::tests::action_commands_are_recognised_only_to_refuse_them ... ok
[INFO] [stdout] test mail_chat::tests::quotes_forwards_and_files_are_never_commands ... ok
[INFO] [stdout] test intake::tests::only_the_owners_direct_chat_gets_tools_and_the_owner_limit ... ok
[INFO] [stdout] test intake::tests::seen_and_unanswerable_messages_are_only_marked_seen ... ok
[INFO] [stdout] test mail_chat::tests::status_shows_counts_only ... ok
[INFO] [stdout] test media::tests::limits_follow_the_sender_and_kind ... ok
[INFO] [stdout] test mail_chat::tests::status_and_help_are_the_only_commands ... ok
[INFO] [stdout] test media::tests::declared_types_win_then_magic_bytes_then_extensions ... ok
[INFO] [stdout] test media::tests::names_lose_directories_control_characters_and_leading_dots ... ok
[INFO] [stdout] test media::tests::only_regular_files_inside_the_outbox_count ... ok
[INFO] [stdout] test retry::tests::a_refusal_stops_at_once_without_reporting_unhealthy ... ok
[INFO] [stdout] test retry::tests::a_send_that_fails_twice_then_lands_waits_one_then_two_seconds ... ok
[INFO] [stdout] test media::tests::prune_removes_old_files_and_their_empty_directories ... ok
[INFO] [stdout] test retry::tests::backoff_doubles_up_to_a_minute_and_resets ... ok
[INFO] [stdout] test retry::tests::three_transient_failures_give_up_with_the_callers_error ... ok
[INFO] [stdout] test state::tests::a_question_tag_is_written_only_when_set_and_older_readers_ignore_it ... ok
[INFO] [stdout] test state::tests::a_running_job_names_its_agent_and_0_3_0_state_still_reads ... ok
[INFO] [stdout] test session::tests::accumulated_reply_is_cut_with_a_note_at_the_byte_limit ... ok
[INFO] [stdout] test state::tests::account_lock_excludes_other_runs_and_removal ... ok
[INFO] [stdout] test media::tests::saved_files_are_private_and_never_overwrite ... ok
[INFO] [stdout] test state::tests::pending_state_reads_legacy_shape ... ok
[INFO] [stdout] test state::tests::files_follow_the_instance_layout_privately ... ok
[INFO] [stdout] test state::tests::senders_default_to_the_owner_and_only_anyone_is_written ... ok
[INFO] [stdout] test state::tests::removal_clears_one_account_and_preserves_others ... ok
[INFO] [stdout] test state::tests::single_entries_keep_the_legacy_shape_and_many_become_lists ... ok
[INFO] [stdout] test email::triage::tests::the_largest_prompt_the_bounds_allow_fits_its_budget ... ok
[INFO] [stdout] test state::tests::transaction_contention_fails_promptly_without_partial_mutations ... ok
[INFO] [stdout] test tests::a_backtick_run_gets_a_longer_fence_and_the_text_stays_as_written ... ok
[INFO] [stdout] test tests::a_block_too_long_for_one_message_is_sent_as_complete_blocks_one_per_part ... ok
[INFO] [stdout] test tests::a_run_too_long_to_fence_within_a_message_goes_out_unfenced ... ok
[INFO] [stdout] test tests::a_recovered_thread_claim_is_answered_inside_its_thread ... ok
[INFO] [stdout] test tests::after_a_planned_restart_claims_are_told_why ... ok
[INFO] [stdout] test feishu::tests::a_refusal_is_final_and_a_bad_token_is_renewed ... ok
[INFO] [stdout] test feishu::tests::non_token_and_oversized_responses_are_refused ... ok
[INFO] [stdout] test state::tests::settings_live_in_config_toml_and_keep_the_rest_of_the_file ... ok
[INFO] [stdout] test tests::bridge::a_chat_log_that_cannot_be_read_keeps_an_account_from_becoming_a_mail_chat ... ok
[INFO] [stdout] test tests::bridge::a_claimed_message_runs_one_turn_and_its_reply_answers_it ... ok
[INFO] [stdout] test tests::bridge::a_group_thread_is_its_senders_own_conversation_and_is_not_logged ... ok
[INFO] [stdout] test tests::bridge::a_full_conversation_queue_gets_the_busy_reply_without_a_turn ... ok
[INFO] [stdout] test feishu::tests::replies_and_direct_messages_retry_with_the_same_uuid ... ok
[INFO] [stdout] test feishu::tests::registration_waits_for_the_scan_and_follows_a_lark_tenant ... ok
[INFO] [stdout] test tests::bridge::a_mail_chat_stores_each_keyed_notice_once_and_records_its_delivery ... ok
[INFO] [stdout] test tests::bridge::a_mail_chat_reloads_how_its_notices_went_into_the_hub ... ok
[INFO] [stdout] test email::source::tests::bounded_cuts_every_field_and_list_of_hostile_metadata ... ok
[INFO] [stdout] test tests::bridge::a_chat_that_carried_mail_never_runs_as_an_ordinary_chat ... ok
[INFO] [stdout] test email::clean::tests::clean_body_handles_a_mebibyte_line ... ok
[INFO] [stdout] test feishu::tests::full_bridge_never_takes_a_caught_up_yes_from_before_the_question_as_its_answer ... ok
[INFO] [stdout] test tests::bridge::a_notice_its_sender_gave_up_on_is_never_sent ... ok
[INFO] [stdout] test tests::bridge::a_nearly_full_disk_saves_no_files_from_chat_but_logs_the_text ... ok
[INFO] [stdout] test tests::bridge::a_question_that_no_longer_waits_is_never_sent ... ok
[INFO] [stdout] test tests::bridge::a_refused_mail_notice_is_recorded_and_never_held_for_later ... ok
[INFO] [stdout] test tests::bridge::a_question_the_platform_refuses_fails_and_is_never_held ... ok
[INFO] [stdout] test email::clean::tests::html_to_text_reads_deep_nesting_without_the_renderer ... ok
[INFO] [stdout] test tests::bridge::a_mail_chat_answers_its_owner_with_fixed_replies_and_never_runs_a_model ... ok
[INFO] [stdout] test tests::already_seen_batch_ids_survive_until_cursor_commit ... ok
[INFO] [stdout] test tests::bridge::an_account_with_a_chat_log_cannot_become_a_mail_chat ... ok
[INFO] [stdout] test tests::bridge::a_threads_origin_alone_is_not_enough_for_a_turn ... ok
[INFO] [stdout] test tests::bridge::a_redelivered_message_is_answered_once ... ok
[INFO] [stdout] test tests::bridge::a_notice_arriving_while_a_save_waits_out_a_busy_account_is_stored ... ok
[INFO] [stdout] test tests::bridge::an_ordinary_chat_takes_no_mail_notice ... ok
[INFO] [stdout] test tests::bridge::a_voice_message_without_a_transcript_gets_the_voice_reply_and_nothing_else ... ok
[INFO] [stdout] test tests::bridge::mail_status_counts_the_email_accounts_reporting_here ... ok
[INFO] [stdout] test tests::bridge::an_owner_only_account_checkpoints_anothers_message_without_answering_it ... ok
[INFO] [stdout] test tests::bridge::a_yes_in_a_thread_runs_a_turn_and_leaves_the_question_waiting ... ok
[INFO] [stdout] test tests::bridge::an_owners_thread_is_owner_work_of_their_direct_chat_in_the_hub ... ok
[INFO] [stdout] test tests::bridge::new_in_a_thread_starts_that_thread_over_and_leaves_the_direct_chat_alone ... ok
[INFO] [stdout] test tests::chunks_make_progress_below_codepoint_size ... ok
[INFO] [stdout] test tests::chunks_on_utf8_boundaries ... ok
[INFO] [stdout] test tests::dedup_eviction_keeps_newest_entries ... ok
[INFO] [stdout] test tests::held_replies_are_bounded_per_conversation_and_expire ... ok
[INFO] [stdout] test tests::bridge::a_yes_sent_before_the_question_reached_the_chat_never_answers_it ... ok
[INFO] [stdout] test tests::only_held_replies_that_fit_ride_along_and_refusal_restores_them ... ok
[INFO] [stdout] test tests::owner_turns_outlast_the_longest_tool_call ... ok
[INFO] [stdout] test tests::bridge::an_account_that_ran_as_an_ordinary_chat_cannot_become_a_mail_chat ... ok
[INFO] [stdout] test tests::interrupted_recovery_is_durable_and_preserves_retry_identity ... ok
[INFO] [stdout] test tests::recovered_replies_and_notices_are_scvs_own_words_and_carry_the_system_label ... ok
[INFO] [stdout] test tests::scvs_own_words_go_in_a_labelled_code_block_only_where_the_channel_labels_them ... ok
[INFO] [stdout] test wechat::cdn::tests::aes_ecb_matches_the_fips_197_vector_and_round_trips ... ok
[INFO] [stdout] test wechat::cdn::tests::cdn_addresses_must_be_https_tencent_hosts ... ok
[INFO] [stdout] test tests::recovery_tells_a_thread_which_of_its_jobs_stopped_inside_the_thread ... ok
[INFO] [stdout] test wechat::cdn::tests::keys_come_as_hex_or_base64_of_raw_bytes_or_hex ... ok
[INFO] [stdout] test wechat::cdn::tests::media_items_parse_by_type ... ok
[INFO] [stdout] test wechat::cdn::tests::uploads_describe_the_file_and_point_at_the_cdn ... ok
[INFO] [stdout] test wechat::credentials::tests::identities_are_backward_compatible ... ok
[INFO] [stdout] test tests::recovery_tells_each_chat_which_background_jobs_stopped ... ok
[INFO] [stdout] test tests::bridge::replies_written_while_recovering_from_a_crash_are_logged ... ok
[INFO] [stdout] test tests::bridge::other_senders_are_not_logged_and_their_sessions_name_no_log ... ok
[INFO] [stdout] test wechat::credentials::tests::replacement_is_rejected_even_without_pending_delivery ... ok
[INFO] [stdout] test wechat::ilink::tests::fake_response_requires_success_ret ... ok
[INFO] [stdout] test wechat::ilink::tests::login_requires_ids ... ok
[INFO] [stdout] test wechat::ilink::tests::origin_allows_returned_regional_host ... ok
[INFO] [stdout] test wechat::ilink::tests::origin_pins_tls_port ... ok
[INFO] [stdout] test wechat::ilink::tests::origin_rejects_untrusted_host ... ok
[INFO] [stdout] test wechat::credentials::tests::binding_rejects_externally_replaced_credentials_without_changing_state ... ok
[INFO] [stdout] test wechat::ilink::tests::parse_response_rejects_oversized_body ... ok
[INFO] [stdout] test wechat::tests::accepts_live_getupdates_success_without_ret ... ok
[INFO] [stdout] test wechat::tests::accepts_live_send_ack_without_ret ... ok
[INFO] [stdout] test wechat::tests::a_voice_message_is_answered_by_a_turn_only_with_its_transcript ... ok
[INFO] [stdout] test tests::bridge::new_lets_a_running_background_report_finish_and_sends_it_first ... ok
[INFO] [stdout] test wechat::credentials::tests::known_identity_token_rotation_preserves_pending_while_running ... ok
[INFO] [stdout] test tests::bridge::a_thread_runs_on_its_own_session_and_its_answers_and_reports_stay_in_it ... ok
[INFO] [stdout] test wechat::credentials::tests::legacy_binding_requires_original_credentials_and_refuses_login_upgrade ... ok
[INFO] [stdout] test tests::bridge::one_senders_messages_run_in_order_while_another_sender_runs_alongside ... ok
[INFO] [stdout] test wechat::credentials::tests::replacement_requires_logout_and_preserves_delivery ... ok
[INFO] [stdout] test tests::bridge::a_question_reaches_the_owners_chat_and_a_plain_answer_resolves_it_without_a_turn ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_failed_turn_replies_with_the_generic_failure_message ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_message_stored_with_the_bare_label_goes_out_as_stored ... ok
[INFO] [stdout] test tests::bridge::the_owners_direct_chat_is_logged_and_new_starts_a_fresh_episode ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_full_conversation_queue_gets_a_busy_reply_without_a_turn ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_job_whose_result_a_later_call_showed_the_model_stops_holding_the_session ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_finished_background_job_reaches_the_owner_as_one_unprompted_message ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_long_owner_turn_neither_blocks_other_senders_nor_reorders_the_owners_messages ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_refused_reply_rides_ahead_of_the_senders_next_reply_and_never_reaches_logs ... ok
[INFO] [stdout] test tests::bridge::a_question_still_waiting_to_be_delivered_cannot_be_answered ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_refused_background_report_is_held_for_the_owners_next_reply ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_restart_resumes_sending_files_where_it_stopped_with_the_same_client_id ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_report_finishing_during_the_owners_turn_follows_that_turns_reply ... ok
[INFO] [stdout] test email::plan::tests::over_random_arrivals_the_limits_hold_and_every_item_goes_out_in_order ... ok
[INFO] [stdout] test wechat::tests::lifecycle::an_owners_files_are_decrypted_saved_privately_and_attached_to_the_turn ... ok
[INFO] [stdout] test wechat::tests::lifecycle::after_a_planned_restart_interrupted_work_is_described_as_such ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_report_turn_starting_during_the_owners_turn_is_still_delivered ... ok
[INFO] [stdout] test wechat::tests::lifecycle::an_untranscribed_voice_message_gets_the_voice_reply_without_a_download ... ok
[INFO] [stdout] test email::clean::tests::replace_links_stays_linear_on_hostile_input ... ok
[INFO] [stdout] test wechat::tests::lifecycle::login_validates_account_before_network_or_url ... ok
[INFO] [stdout] test wechat::tests::lifecycle::cancellation_drops_long_poll_and_pending_send ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_model_answer_that_looks_like_scvs_own_goes_out_byte_for_byte ... ok
[INFO] [stdout] test wechat::tests::lifecycle::at_most_four_senders_run_turns_at_once ... ok
[INFO] [stdout] test wechat::tests::lifecycle::oversized_responses_are_rejected_before_parsing ... ok
[INFO] [stdout] test wechat::tests::lifecycle::cancellation_drops_handshake_and_active_turn_with_durable_marker ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_long_reply_uses_its_context_token_once_and_the_rest_goes_unprompted ... ok
[INFO] [stdout] test wechat::tests::lifecycle::mismatched_credentials_never_contact_poll_or_send ... ok
[INFO] [stdout] test wechat::tests::lifecycle::redirects_are_not_followed ... ok
[INFO] [stdout] test wechat::tests::lifecycle::failed_poll_reports_unhealthy_and_cancels_backoff ... ok
[INFO] [stdout] test wechat::tests::lifecycle::files_the_model_attaches_are_uploaded_encrypted_after_the_reply ... ok
[INFO] [stdout] test wechat::tests::lifecycle::shutdown_closes_every_running_turn_and_keeps_the_claims ... ok
[INFO] [stdout] test wechat::tests::lifecycle::the_no_wait_checks_see_what_is_already_queued ... ok
[INFO] [stdout] test wechat::tests::lifecycle::files_from_other_senders_are_not_downloaded_and_failures_are_explained ... ok
[INFO] [stdout] test wechat::tests::preserves_string_and_unsigned_numeric_message_ids ... ok
[INFO] [stdout] test wechat::tests::rejects_getupdates_error_without_ret ... ok
[INFO] [stdout] test wechat::tests::the_send_time_comes_from_create_time_ms ... ok
[INFO] [stdout] test wechat::tests::validates_origins ... ok
[INFO] [stdout] test wechat::tests::validates_ret ... ok
[INFO] [stdout] test wechat::tests::voice_transcripts_quotes_and_files_come_through ... ok
[INFO] [stdout] test wechat::tests::lifecycle::live_send_ack_without_ret_completes_pending_delivery_once ... ok
[INFO] [stdout] test wechat::tests::lifecycle::rejected_send_is_final_and_polling_resumes ... ok
[INFO] [stdout] test wechat::tests::lifecycle::recovered_delivery_deduplicates_first_poll_without_reexecuting ... ok
[INFO] [stdout] test wechat::tests::lifecycle::recovery_answers_every_claim_once_and_never_replays_it ... ok
[INFO] [stdout] test wechat::tests::lifecycle::tool_progress_never_reaches_wechat ... ok
[INFO] [stdout] test wechat::tests::lifecycle::oversized_batch_never_executes_or_advances_cursor ... ok
[INFO] [stdout] test wechat::tests::lifecycle::the_hub_sees_owner_work_until_its_report_is_stored_and_can_queue_notices ... ok
[INFO] [stdout] test state::tests::discovery_is_bounded_and_ignores_bad_credentials ... ok
[INFO] [stdout] test wechat::tests::lifecycle::an_owner_turn_that_times_out_is_cancelled_without_ending_its_background_jobs ... ok
[INFO] [stdout] test wechat::tests::lifecycle::scvs_own_messages_go_in_a_labelled_code_block_and_the_models_answers_do_not ... ok
[INFO] [stdout] test wechat::tests::lifecycle::only_the_owner_gets_tools_and_auto_approval ... ok
[INFO] [stdout] test wechat::tests::lifecycle::failed_send_retries_same_client_id_and_only_poll_restores_health ... ok
[INFO] [stdout] test email::clean::tests::clean_body_output_is_bounded_and_clean_for_hostile_input ... ok
[INFO] [stdout] test wechat::tests::lifecycle::a_retried_or_held_system_message_keeps_exactly_one_label_and_one_block ... ok
[INFO] [stdout] test email::ledger::tests::rings_are_pruned_by_age_and_count ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 478 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.59s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests scv_channels
[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" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0", kill_on_drop: false }`
[INFO] [stdout] 82eafe88e878737debbebfb734a2825f8c5dd4d9d1484c91a10bec0104d7c8f0
