[INFO] fetching crate rustifymyclaw 0.1.3...
[INFO] testing rustifymyclaw-0.1.3 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate rustifymyclaw 0.1.3 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate rustifymyclaw 0.1.3
[INFO] finished tweaking crates.io crate rustifymyclaw 0.1.3
[INFO] tweaked toml for crates.io crate rustifymyclaw 0.1.3 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustifymyclaw 0.1.3 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rustifymyclaw 0.1.3 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded teloxide v0.17.0
[INFO] [stderr]   Downloaded teloxide-macros v0.10.0
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] [stderr]   Downloaded dptree v0.5.1
[INFO] [stderr]   Downloaded notify v6.1.1
[INFO] [stderr]   Downloaded inotify v0.9.6
[INFO] [stderr]   Downloaded aquamarine v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57
[INFO] running `Command { std: "docker" "start" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", 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" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", 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" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling stacker v0.1.23
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling rc-box v1.3.0
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling takecell v0.1.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling take_mut v0.2.2
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling aquamarine v0.6.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling teloxide-macros v0.10.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling dptree v0.5.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling serde_with v3.18.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ar_archive_writer v0.5.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling psm v0.1.30
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling teloxide-core v0.13.0
[INFO] [stderr]    Compiling teloxide v0.17.0
[INFO] [stderr]    Compiling rustifymyclaw v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", 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" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling teloxide-core v0.13.0
[INFO] [stderr]    Compiling teloxide v0.17.0
[INFO] [stderr]    Compiling rustifymyclaw v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", 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" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustifymyclaw-5538a962462576f6)
[INFO] [stdout] 
[INFO] [stdout] running 154 tests
[INFO] [stdout] test backend::claude::tests::active_session_has_continue_flag ... ok
[INFO] [stdout] test backend::claude::tests::fresh_session_has_no_continue_flag ... ok
[INFO] [stdout] test backend::claude::tests::parse_output_passthrough ... ok
[INFO] [stdout] test backend::claude::tests::name_is_correct ... ok
[INFO] [stdout] test backend::codex::tests::parse_output_passthrough ... ok
[INFO] [stdout] test backend::codex::tests::quiet_flag_present ... ok
[INFO] [stdout] test backend::codex::tests::prompt_is_passed_as_arg ... ok
[INFO] [stdout] test backend::claude::tests::prompt_is_passed_after_p_flag ... ok
[INFO] [stdout] test backend::codex::tests::binary_is_codex ... ok
[INFO] [stdout] test backend::codex::tests::name_is_correct ... ok
[INFO] [stdout] test backend::gemini::tests::binary_is_gemini ... ok
[INFO] [stdout] test backend::codex::tests::session_state_ignored_no_continue_flag ... ok
[INFO] [stdout] test backend::gemini::tests::name_is_correct ... ok
[INFO] [stdout] test backend::gemini::tests::non_interactive_flag_present ... ok
[INFO] [stdout] test backend::gemini::tests::parse_output_passthrough ... ok
[INFO] [stdout] test backend::gemini::tests::session_state_ignored_no_continue_flag ... ok
[INFO] [stdout] test backend::registry_tests::all_backends_are_buildable ... ok
[INFO] [stdout] test channel::slack::tests::ack_json_has_only_envelope_id ... ok
[INFO] [stdout] test backend::registry_tests::unknown_backend_returns_error ... ok
[INFO] [stdout] test channel::slack::tests::socket_mode_disconnect_envelope_deserializes ... ok
[INFO] [stdout] test channel::slack::tests::socket_mode_envelope_deserializes_events_api ... ok
[INFO] [stdout] test channel::slack::tests::socket_mode_hello_envelope_deserializes ... ok
[INFO] [stdout] test channel::telegram::tests::resolve_users_keeps_numeric_id ... ok
[INFO] [stdout] test channel::telegram::tests::resolve_users_normalizes_handle_with_at ... ok
[INFO] [stdout] test channel::telegram::tests::short_message_unchanged ... ok
[INFO] [stdout] test channel::telegram::tests::exactly_at_limit_unchanged ... ok
[INFO] [stdout] test channel::slack::tests::ack_json_has_correct_shape ... ok
[INFO] [stdout] test backend::gemini::tests::prompt_passed_after_p_flag ... ok
[INFO] [stdout] test channel::telegram::tests::long_message_truncated_within_limit ... ok
[INFO] [stdout] test channel::whatsapp::tests::exactly_at_limit_unchanged ... ok
[INFO] [stdout] test channel::whatsapp::tests::webhook_payload_empty_messages_is_valid ... ok
[INFO] [stdout] test channel::whatsapp::tests::webhook_payload_deserializes_text_message ... ok
[INFO] [stdout] test channel::whatsapp::tests::long_message_truncated_within_limit ... ok
[INFO] [stdout] test channel::whatsapp::tests::resolve_users_numeric_id_is_skipped_with_warning ... ok
[INFO] [stdout] test channel::whatsapp::tests::resolve_users_phone_numbers_pass_through ... ok
[INFO] [stdout] test channel::whatsapp::tests::short_message_unchanged ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::three_paths_all_preserved ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::traversal_parents_root_child ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::duplicate_path_is_detected ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::empty_existing_creates_service_section ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::second_path_appends_under_service_section ... ok
[INFO] [stdout] test channel::whatsapp::tests::webhook_payload_missing_messages_field_is_valid ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::traversal_parents_typical_home_path ... ok
[INFO] [stdout] test channel::whatsapp::tests::unicode_boundary_respected ... ok
[INFO] [stdout] test channel::telegram::tests::resolve_users_normalizes_handle_without_at ... ok
[INFO] [stdout] test channel::telegram::tests::unicode_boundary_respected ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::parse_dotted_keys ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::traversal_parents_shallow_path ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::parse_empty_errors ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::auto_value_bool ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::auto_value_int ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::auto_value_null ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::auto_value_string ... ok
[INFO] [stdout] test cli::config_cmd::allow_path::tests::traversal_parents_deeply_nested ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::parse_simple_key ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::parse_unclosed_bracket_errors ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::parse_with_index ... ok
[INFO] [stdout] test command::tests::empty_string_is_empty_prompt ... ok
[INFO] [stdout] test command::tests::leading_trailing_whitespace_stripped_for_commands ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::resolve_mut_creates_missing_key ... ok
[INFO] [stdout] test command::tests::leading_whitespace_stripped_for_prompts ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::resolve_nested_value ... ok
[INFO] [stdout] test command::tests::parses_new_command ... ok
[INFO] [stdout] test command::tests::parses_help_command ... ok
[INFO] [stdout] test cli::config_cmd::dotted_path::tests::resolve_missing_key_errors ... ok
[INFO] [stdout] test command::tests::partial_use_is_prompt ... ok
[INFO] [stdout] test command::tests::plain_text_is_prompt ... ok
[INFO] [stdout] test command::tests::unicode_prompt ... ok
[INFO] [stdout] test command::tests::use_command_with_empty_name_becomes_prompt ... ok
[INFO] [stdout] test command::tests::parses_status_command ... ok
[INFO] [stdout] test config::tests::dirs_path_ends_with_config_yaml ... ok
[INFO] [stdout] test command::tests::use_command_parses_workspace_name ... ok
[INFO] [stdout] test config::tests::diff_reload_does_not_panic_on_identical_configs ... ok
[INFO] [stdout] test config::tests::empty_allowed_users_is_rejected ... ok
[INFO] [stdout] test config::tests::dirs_path_uses_rustifymyclaw_dir_on_unix ... ok
[INFO] [stdout] test config::tests::diff_reload_does_not_panic_on_limits_change ... ok
[INFO] [stdout] test command::tests::use_command_trims_workspace_name ... ok
[INFO] [stdout] test config::tests::effective_output_falls_back_to_global ... ok
[INFO] [stdout] test config::tests::effective_output_uses_channel_override ... ok
[INFO] [stdout] test command::tests::use_command_workspace_name_with_spaces ... ok
[INFO] [stdout] test command::tests::whitespace_only_is_empty_prompt ... ok
[INFO] [stdout] test config::tests::empty_workspaces_is_rejected ... ok
[INFO] [stdout] test config::tests::resolve_path_cli_flag_overrides_env_var ... ok
[INFO] [stdout] test config::tests::load_from_path_returns_error_for_nonexistent_file ... ok
[INFO] [stdout] test config::tests::missing_output_section_is_rejected ... ok
[INFO] [stdout] test config::tests::numeric_and_handle_allowed_users_parse ... ok
[INFO] [stdout] test command::tests::partial_command_is_prompt ... ok
[INFO] [stdout] test config::tests::limits_absent_defaults_to_none ... ok
[INFO] [stdout] test config::tests::resolve_path_falls_back_to_dirs_path ... ok
[INFO] [stdout] test config::tests::resolve_path_ignores_empty_env_var ... ok
[INFO] [stdout] test config::tests::limits_parses_when_present ... ok
[INFO] [stdout] test config::tests::resolve_path_prefers_cli_flag ... ok
[INFO] [stdout] test config::tests::resolve_path_returns_home_default_when_no_files_exist ... ok
[INFO] [stdout] test config::tests::slack_config_fields_parse ... ok
[INFO] [stdout] test config::tests::telegram_config_still_parses_without_new_fields ... ok
[INFO] [stdout] test config::tests::timeout_seconds_absent_defaults_to_none ... ok
[INFO] [stdout] test config::tests::resolve_path_uses_env_var_when_no_cli_flag ... ok
[INFO] [stdout] test config::tests::unknown_backend_is_rejected ... ok
[INFO] [stdout] test config::tests::valid_config_parses ... ok
[INFO] [stdout] test config::tests::unknown_channel_kind_is_rejected ... ok
[INFO] [stdout] test config::tests::timeout_seconds_parses_when_present ... ok
[INFO] [stdout] test config::tests::whatsapp_fields_on_telegram_channel_still_parse ... ok
[INFO] [stdout] test config::tests::whatsapp_config_fields_parse ... ok
[INFO] [stdout] test formatter::tests::all_chunks_within_max_chars ... ok
[INFO] [stdout] test config::tests::env_var_interpolation_replaces_known_vars ... ok
[INFO] [stdout] test formatter::tests::chunks_respect_paragraph_breaks ... ok
[INFO] [stdout] test config_reload::tests::watch_returns_error_for_nonexistent_path ... ok
[INFO] [stdout] test formatter::tests::empty_input_produces_one_empty_chunk ... ok
[INFO] [stdout] test formatter::tests::code_block_not_split ... ok
[INFO] [stdout] test config::tests::env_var_interpolation_fails_on_missing_var ... ok
[INFO] [stdout] test formatter::tests::fixed_over_file_threshold_still_uploads_file ... ok
[INFO] [stdout] test formatter::tests::fixed_hard_cut_at_boundary ... ok
[INFO] [stdout] test formatter::tests::fixed_all_chunks_within_max_chars ... ok
[INFO] [stdout] test config_reload::tests::watch_returns_ok_on_immediate_shutdown ... ok
[INFO] [stdout] test formatter::tests::fixed_empty_input_produces_one_empty_chunk ... ok
[INFO] [stdout] test executor::tests::no_timeout_configured_fast_command_succeeds ... ok
[INFO] [stdout] test formatter::tests::multiple_sentences_split_into_multiple_chunks ... ok
[INFO] [stdout] test formatter::tests::fixed_unicode_at_boundary_valid_utf8 ... ok
[INFO] [stdout] test formatter::tests::fixed_mid_word_split ... ok
[INFO] [stdout] test formatter::tests::fixed_reassembly_matches_original ... ok
[INFO] [stdout] test formatter::tests::over_file_threshold_sends_file ... ok
[INFO] [stdout] test formatter::tests::no_sentence_boundary_falls_through_to_hard_cut ... ok
[INFO] [stdout] test formatter::tests::over_limit_multiple_chunks ... ok
[INFO] [stdout] test formatter::tests::fixed_under_limit_single_chunk ... ok
[INFO] [stdout] test formatter::tests::oversized_code_block_becomes_file ... ok
[INFO] [stdout] test formatter::tests::sentence_boundary_preferred_over_hard_cut ... ok
[INFO] [stdout] test formatter::tests::under_limit_single_chunk ... ok
[INFO] [stdout] test formatter::tests::unicode_chunks_within_max_chars ... ok
[INFO] [stdout] test formatter::tests::unicode_does_not_panic ... ok
[INFO] [stdout] test executor::tests::nonzero_exit_code_is_captured ... ok
[INFO] [stdout] test rate_limit::tests::allows_requests_within_limit ... ok
[INFO] [stdout] test rate_limit::tests::different_users_have_independent_limits ... ok
[INFO] [stdout] test executor::tests::timeout_not_triggered_by_fast_command ... ok
[INFO] [stdout] test rate_limit::tests::limit_of_zero_rejects_all ... ok
[INFO] [stdout] test rate_limit::tests::limited_for_duration_is_positive ... ok
[INFO] [stdout] test rate_limit::tests::max_requests_is_enforced_exactly ... ok
[INFO] [stdout] test rate_limit::tests::rejects_when_limit_exceeded ... ok
[INFO] [stdout] test rate_limit::tests::single_request_is_allowed ... ok
[INFO] [stdout] test rate_limit::tests::window_expiry_allows_new_requests ... ok
[INFO] [stdout] test executor::tests::duration_is_populated ... ok
[INFO] [stdout] test security::tests::allowed_user_passes ... ok
[INFO] [stdout] test security::tests::blocked_user_rejected ... ok
[INFO] [stdout] test security::tests::empty_allowlist_blocks_all ... ok
[INFO] [stdout] test executor::tests::successful_run_captures_stdout ... ok
[INFO] [stdout] test security::tests::exact_match_required ... ok
[INFO] [stdout] test session::tests::after_mark_active_should_continue ... ok
[INFO] [stdout] test session::tests::after_reset_is_not_active ... ok
[INFO] [stdout] test session::tests::different_platforms_same_id_are_independent ... ok
[INFO] [stdout] test session::tests::fresh_chat_is_not_active ... ok
[INFO] [stdout] test session::tests::reset_nonexistent_is_noop ... ok
[INFO] [stdout] test channel::slack::tests::resolve_users_raw_user_id_passes_through ... ok
[INFO] [stdout] test channel::slack::tests::resolve_users_numeric_id_is_skipped_with_warning ... ok
[INFO] [stdout] test channel::slack::tests::resolve_users_raw_workspaceid_passes_through ... ok
[INFO] [stdout] test executor::tests::timeout_kills_slow_process ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 154 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57", kill_on_drop: false }`
[INFO] [stdout] db0f284e1a040ddd43d18558319249e7a7995c5f2e21769b43312bf61ed48e57
