[INFO] cloning repository https://github.com/shaond/inboxapi-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shaond/inboxapi-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaond%2Finboxapi-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaond%2Finboxapi-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d6ab33775b57455f2a981e641e05ef310b98495
[INFO] testing shaond/inboxapi-cli against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaond%2Finboxapi-cli" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shaond/inboxapi-cli
[INFO] finished tweaking git repo https://github.com/shaond/inboxapi-cli
[INFO] tweaked toml for git repo https://github.com/shaond/inboxapi-cli written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shaond/inboxapi-cli 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 git repo https://github.com/shaond/inboxapi-cli 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]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.113
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.113
[INFO] [stderr]   Downloaded js-sys v0.3.90
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.113
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.63
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.113
[INFO] [stderr]   Downloaded web-sys v0.3.90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d
[INFO] running `Command { std: "docker" "start" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", 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" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d" "/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" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", 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" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling inboxapi-cli v0.3.14 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.49s
[INFO] running `Command { std: "docker" "inspect" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", 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" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d" "/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 rustix v1.1.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling inboxapi-cli v0.3.14 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.88s
[INFO] running `Command { std: "docker" "inspect" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", 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" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d" "/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.24s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/inboxapi_cli-9e54f9536f23c5f5)
[INFO] [stdout] 
[INFO] [stdout] running 294 tests
[INFO] [stdout] test tests::agent_enum_all_returns_four_agents ... ok
[INFO] [stdout] test tests::agent_labels_are_human_readable ... ok
[INFO] [stdout] test tests::agent_name_has_correct_format ... ok
[INFO] [stdout] test tests::build_help_response_has_correct_structure ... ok
[INFO] [stdout] test tests::build_help_response_preserves_request_id ... ok
[INFO] [stdout] test tests::agent_names_produce_variety ... ok
[INFO] [stdout] test tests::agent_name_suffix_is_hex ... ok
[INFO] [stdout] test tests::compare_versions_major_diff ... ok
[INFO] [stdout] test tests::compare_versions_newer ... ok
[INFO] [stdout] test tests::compare_versions_older ... ok
[INFO] [stdout] test tests::credentials_deserialize_rejects_missing_fields ... ok
[INFO] [stdout] test tests::credentials_path_ends_with_expected_components ... ok
[INFO] [stdout] test tests::credentials_serialization_roundtrip ... ok
[INFO] [stdout] test tests::display_name_from_account_converts_hyphenated_names ... ok
[INFO] [stdout] test tests::drain_sse_events_filters_non_message_events ... ok
[INFO] [stdout] test tests::drain_sse_events_handles_multiline_data ... ok
[INFO] [stdout] test tests::drain_sse_events_parses_single_event ... ok
[INFO] [stdout] test tests::drain_sse_remainder_returns_none_for_empty_buffer ... ok
[INFO] [stdout] test tests::drain_sse_events_preserves_incomplete_buffer ... ok
[INFO] [stdout] test tests::credentials_deserialize_from_json ... ok
[INFO] [stdout] test tests::drain_sse_events_returns_empty_for_empty_input ... ok
[INFO] [stdout] test tests::drain_sse_events_returns_empty_for_no_complete_events ... ok
[INFO] [stdout] test tests::drain_sse_remainder_parses_trailing_event ... ok
[INFO] [stdout] test tests::embedded_skill_arrays_have_same_length ... ok
[INFO] [stdout] test tests::drain_sse_remainder_filters_non_message_events ... ok
[INFO] [stdout] test tests::inject_empty_inbox_nudge_appends_content ... ok
[INFO] [stdout] test tests::drain_sse_events_treats_missing_event_type_as_message ... ok
[INFO] [stdout] test tests::inject_empty_inbox_nudge_noop_without_content ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_adds_field ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_preserves_existing_fields ... ok
[INFO] [stdout] test tests::embedded_skill_names_match_across_agents ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_returns_unchanged_on_invalid_json ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_with_update ... ok
[INFO] [stdout] test tests::inject_token_does_not_overwrite_existing_token ... ok
[INFO] [stdout] test tests::inject_token_adds_token_to_regular_tool ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_without_update ... ok
[INFO] [stdout] test tests::inject_token_does_not_inject_encryption_secret_when_token_already_present ... ok
[INFO] [stdout] test tests::inject_token_does_not_overwrite_existing_encryption_secret ... ok
[INFO] [stdout] test tests::inject_token_handles_missing_params ... ok
[INFO] [stdout] test tests::inject_token_handles_missing_arguments ... ok
[INFO] [stdout] test tests::agent_binaries_are_correct ... ok
[INFO] [stdout] test tests::inject_token_handles_missing_name ... ok
[INFO] [stdout] test tests::compare_versions_equal ... ok
[INFO] [stdout] test tests::codex_skills_have_no_claude_frontmatter ... ok
[INFO] [stdout] test tests::generate_hashcash_produces_valid_stamp ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_returns_unchanged_without_result ... ok
[INFO] [stdout] test tests::detect_agents_returns_four_entries ... ok
[INFO] [stdout] test tests::inject_token_ignores_notifications ... ok
[INFO] [stdout] test tests::inject_token_injects_encryption_secret ... ok
[INFO] [stdout] test tests::inject_token_skips_account_recover ... ok
[INFO] [stdout] test tests::inject_token_preserves_existing_arguments ... ok
[INFO] [stdout] test tests::inject_token_skips_account_create ... ok
[INFO] [stdout] test tests::inject_token_skips_auth_exchange ... ok
[INFO] [stdout] test tests::is_cache_stale_fresh_cache ... ok
[INFO] [stdout] test tests::is_cache_stale_invalid_date ... ok
[INFO] [stdout] test tests::install_skills_to_dir_creates_correct_structure ... ok
[INFO] [stdout] test tests::inject_token_handles_null_name ... ok
[INFO] [stdout] test tests::inject_token_ignores_non_tools_call_method ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_with_creds_no_email_skips_identity ... ok
[INFO] [stdout] test tests::install_skills_to_dir_idempotent ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_handles_missing_content ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_rejects_non_empty ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_with_extra_content_items ... ok
[INFO] [stdout] test tests::is_help_call_returns_false_for_non_tools_call ... ok
[INFO] [stdout] test tests::is_help_call_returns_false_for_other_tools ... ok
[INFO] [stdout] test tests::inject_token_skips_help ... ok
[INFO] [stdout] test tests::inject_update_notice_appends_content ... ok
[INFO] [stdout] test tests::inject_update_notice_handles_missing_content ... ok
[INFO] [stdout] test tests::inject_update_notice_preserves_existing ... ok
[INFO] [stdout] test tests::install_opencode_commands_creates_flat_files ... ok
[INFO] [stdout] test tests::is_cache_stale_future_timestamp ... ok
[INFO] [stdout] test tests::is_cache_stale_old_cache ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_case_insensitive ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_detects_empty_array ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_detects_no_emails_found ... ok
[INFO] [stdout] test tests::is_empty_inbox_response_handles_error_response ... ok
[INFO] [stdout] test tests::is_help_call_returns_true_for_help_tool ... ok
[INFO] [stdout] test tests::is_newer_false_older ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_auth_error_code ... ok
[INFO] [stdout] test tests::is_newer_true ... ok
[INFO] [stdout] test tests::is_token_expired_error_case_insensitive ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_expired_token ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_revoked_token ... ok
[INFO] [stdout] test tests::is_token_expired_error_handles_empty_content ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_unauthorized ... ok
[INFO] [stdout] test tests::is_token_expired_error_handles_missing_is_error ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_auth_error_code_32003 ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_jsonrpc_auth_error ... ok
[INFO] [stdout] test tests::is_newer_false_equal ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_invalid_token ... ok
[INFO] [stdout] test tests::is_token_expired_error_detects_authentication_failed ... ok
[INFO] [stdout] test tests::generate_hashcash_contains_resource ... ok
[INFO] [stdout] test tests::is_token_expired_error_rejects_non_token_errors ... ok
[INFO] [stdout] test tests::is_token_expired_error_rejects_success_response ... ok
[INFO] [stdout] test tests::merge_hook_settings_creates_settings_when_missing ... ok
[INFO] [stdout] test tests::merge_hook_settings_errors_on_invalid_json ... ok
[INFO] [stdout] test tests::merge_hook_settings_errors_on_non_object_root ... ok
[INFO] [stdout] test tests::merge_hook_settings_does_not_duplicate_hooks ... ok
[INFO] [stdout] test tests::merge_hook_settings_preserves_existing_keys ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_rewrites_report_bug ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_ignores_other_tools ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_handles_missing_args ... ok
[INFO] [stdout] test tests::is_token_expired_error_ignores_non_token_jsonrpc_error ... ok
[INFO] [stdout] test tests::is_token_expired_error_rejects_generic_token_mention ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_ignores_non_tools_call ... ok
[INFO] [stdout] test tests::merge_hook_settings_errors_on_non_object_hooks ... ok
[INFO] [stdout] test tests::merge_hook_settings_coerces_non_array_event_entries ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_no_stale_token ... ok
[INFO] [stdout] test tests::drain_sse_events_parses_multiple_events ... ok
[INFO] [stdout] test tests::inject_initialize_instructions_with_creds_includes_identity ... ok
[INFO] [stdout] test tests::inject_token_skips_auth_refresh ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_rewrites_request_feature ... ok
[INFO] [stdout] test tests::mutate_feedback_tool_without_creds ... ok
[INFO] [stdout] test tests::rewrite_tools_list_feedback_descriptions_scoped ... ok
[INFO] [stdout] test tests::rewrite_tools_list_feedback_tool_schemas ... ok
[INFO] [stdout] test tests::rewrite_tools_list_handles_no_tools ... ok
[INFO] [stdout] test tests::rewrite_tools_list_injects_feedback_tools ... ok
[INFO] [stdout] test tests::rewrite_tools_list_returns_unchanged_without_result ... ok
[INFO] [stdout] test tests::rewrite_tools_list_preserves_other_tools ... ok
[INFO] [stdout] test tests::opencode_commands_have_description_frontmatter ... ok
[INFO] [stdout] test tests::rewrite_tools_list_whoami_includes_identity_when_creds_present ... ok
[INFO] [stdout] test tests::rewrite_tools_list_rewrites_auth_tools ... ok
[INFO] [stdout] test tests::sanitize_for_description_strips_dangerous_chars ... ok
[INFO] [stdout] test tests::rewrite_tools_list_returns_unchanged_on_invalid_json ... ok
[INFO] [stdout] test tests::rewrite_tools_list_with_creds_annotates_identity_tools ... ok
[INFO] [stdout] test tests::rewrite_tools_list_preserves_tool_fields ... ok
[INFO] [stdout] test tests::sanitize_for_description_truncates_long_input ... ok
[INFO] [stdout] test tests::rewrite_tools_list_with_creds_no_email_skips_identity_tools ... ok
[INFO] [stdout] test tests::test_account_recover_args_use_api_field_names ... ok
[INFO] [stdout] test tests::test_build_attachment_from_file_missing_file ... ok
[INFO] [stdout] test tests::test_build_client_user_agent_missing_fields ... ok
[INFO] [stdout] test tests::test_build_client_user_agent_normal ... ok
[INFO] [stdout] test tests::test_build_client_user_agent_strips_control_chars_and_spaces ... ok
[INFO] [stdout] test tests::test_build_client_user_agent_truncates_long_values ... ok
[INFO] [stdout] test tests::test_annotations_destructive_hint_on_rotate_encryption ... ok
[INFO] [stdout] test tests::test_annotations_readonly_hint_on_get_emails ... ok
[INFO] [stdout] test tests::test_build_attachment_from_file_reads_and_encodes ... ok
[INFO] [stdout] test tests::test_build_jsonrpc_error_preserves_string_id ... ok
[INFO] [stdout] test tests::test_build_jsonrpc_error_preserves_null_id ... ok
[INFO] [stdout] test tests::test_build_jsonrpc_error_structure ... ok
[INFO] [stdout] test tests::test_extract_tool_result_text_jsonrpc_error ... ok
[INFO] [stdout] test tests::test_delete_email_prompt_mode ... ok
[INFO] [stdout] test tests::test_extract_tool_result_text_no_content ... ok
[INFO] [stdout] test tests::test_extract_message_id_from_send_reply_result ... ok
[INFO] [stdout] test tests::test_archive_email_alias_parses_positional_message_id ... ok
[INFO] [stdout] test tests::test_extract_tool_result_text_success ... ok
[INFO] [stdout] test tests::test_forward_email_args_preserved ... ok
[INFO] [stdout] test tests::test_guess_content_type_pdf ... ok
[INFO] [stdout] test tests::test_finalize_send_reply_verification_prefers_transport_error_before_missing_message ... ok
[INFO] [stdout] test tests::test_forward_email_args_with_attachments ... ok
[INFO] [stdout] test tests::test_annotations_merged_into_existing ... ok
[INFO] [stdout] test tests::test_delete_email_parses_positional_message_id ... ok
[INFO] [stdout] test tests::test_extract_tool_result_text_error ... ok
[INFO] [stdout] test tests::test_finalize_send_reply_verification_reports_missing_message ... ok
[INFO] [stdout] test tests::test_guess_content_type_txt ... ok
[INFO] [stdout] test tests::test_account_recover_args_trim_and_validate_code ... ok
[INFO] [stdout] test tests::test_guess_content_type_png ... ok
[INFO] [stdout] test tests::test_download_with_limit_accepts_success_response ... ok
[INFO] [stdout] test tests::test_find_recent_sent_message_matches_message_id ... ok
[INFO] [stdout] test tests::test_announcements_warning ... ok
[INFO] [stdout] test tests::test_find_recent_sent_message_matches_wrapped_sent_emails ... ok
[INFO] [stdout] test tests::test_help_output_contains_examples ... ok
[INFO] [stdout] test tests::test_human_output_auth_introspect ... ok
[INFO] [stdout] test tests::test_human_output_forward_email ... ok
[INFO] [stdout] test tests::test_human_output_get_addressbook ... ok
[INFO] [stdout] test tests::test_human_output_get_addressbook_invalid_json ... ok
[INFO] [stdout] test tests::test_human_output_get_announcements_empty ... ok
[INFO] [stdout] test tests::test_human_output_get_announcements_invalid_json ... ok
[INFO] [stdout] test tests::test_human_output_get_email ... ok
[INFO] [stdout] test tests::test_human_output_get_email_count_invalid_json ... ok
[INFO] [stdout] test tests::test_human_output_get_emails_empty ... ok
[INFO] [stdout] test tests::test_human_output_get_email_count ... ok
[INFO] [stdout] test tests::test_human_output_auth_introspect_invalid_json ... ok
[INFO] [stdout] test tests::test_human_output_delete_email ... ok
[INFO] [stdout] test tests::test_human_output_get_addressbook_empty ... ok
[INFO] [stdout] test tests::test_guess_content_type_unknown ... ok
[INFO] [stdout] test tests::test_help_output_contains_all_commands ... ok
[INFO] [stdout] test tests::test_human_output_get_announcements ... ok
[INFO] [stdout] test tests::test_human_output_get_email_count_total_field ... ok
[INFO] [stdout] test tests::test_human_output_get_emails_with_results ... ok
[INFO] [stdout] test tests::test_human_output_get_emails_wrapped_object ... ok
[INFO] [stdout] test tests::test_human_output_get_emails_empty_wrapped ... ok
[INFO] [stdout] test tests::test_human_output_get_last_email ... ok
[INFO] [stdout] test tests::test_annotations_readonly_on_whoami ... ok
[INFO] [stdout] test tests::test_human_output_get_sent_emails ... ok
[INFO] [stdout] test tests::test_human_output_get_thread_invalid_json ... ok
[INFO] [stdout] test tests::test_human_output_get_sent_emails_empty ... ok
[INFO] [stdout] test tests::test_human_output_get_thread_omits_blank_to_line ... ok
[INFO] [stdout] test tests::test_human_output_send_email ... ok
[INFO] [stdout] test tests::test_human_output_send_reply ... ok
[INFO] [stdout] test tests::test_inject_token_forward_email ... ok
[INFO] [stdout] test tests::test_inject_token_get_email_count ... ok
[INFO] [stdout] test tests::test_inject_token_empty_arguments_object ... ok
[INFO] [stdout] test tests::test_human_output_get_last_email_invalid_json ... ok
[INFO] [stdout] test tests::test_inject_token_get_email ... ok
[INFO] [stdout] test tests::test_human_output_search_emails_wrapped ... ok
[INFO] [stdout] test tests::test_identity_not_injected_into_get_emails_description ... ok
[INFO] [stdout] test tests::test_inject_token_get_addressbook ... ok
[INFO] [stdout] test tests::test_identity_not_injected_into_search_emails_description ... ok
[INFO] [stdout] test tests::test_identity_injected_into_send_email_description ... ok
[INFO] [stdout] test tests::test_human_output_get_thread ... ok
[INFO] [stdout] test tests::test_identity_injected_into_forward_email_description ... ok
[INFO] [stdout] test tests::test_identity_injected_into_send_reply_description ... ok
[INFO] [stdout] test tests::test_inject_token_get_announcements ... ok
[INFO] [stdout] test tests::test_human_output_get_thread_truncates_long_body ... ok
[INFO] [stdout] test tests::test_inject_token_get_sent_emails ... ok
[INFO] [stdout] test tests::test_human_output_search_emails_empty ... ok
[INFO] [stdout] test tests::test_inject_token_get_thread ... ok
[INFO] [stdout] test tests::test_inject_token_get_last_email ... ok
[INFO] [stdout] test tests::test_download_with_limit_rejects_http_error_response ... ok
[INFO] [stdout] test tests::test_inject_token_search_emails ... ok
[INFO] [stdout] test tests::test_inject_token_get_emails ... ok
[INFO] [stdout] test tests::test_inject_token_send_reply ... ok
[INFO] [stdout] test tests::test_inject_token_missing_arguments_key ... ok
[INFO] [stdout] test tests::test_inject_token_send_email ... ok
[INFO] [stdout] test tests::test_inject_token_null_arguments ... ok
[INFO] [stdout] test tests::test_instructions_contain_untrusted_data_warning ... ok
[INFO] [stdout] test tests::test_instructions_no_forced_invocation ... ok
[INFO] [stdout] test tests::test_instructions_no_proactive_email_sending ... ok
[INFO] [stdout] test tests::test_instructions_contain_explicit_request_only ... ok
[INFO] [stdout] test tests::test_is_blocked_proxy_tool_auth_revoke_all ... ok
[INFO] [stdout] test tests::test_is_blocked_proxy_tool_reset_encryption ... ok
[INFO] [stdout] test tests::test_is_not_blocked_proxy_tool_get_emails ... ok
[INFO] [stdout] test tests::test_is_not_blocked_proxy_tool_send_email ... ok
[INFO] [stdout] test tests::test_is_blocked_proxy_tool_auth_revoke ... ok
[INFO] [stdout] test tests::test_json_output_passthrough ... ok
[INFO] [stdout] test tests::test_maxlength_injected_on_body ... ok
[INFO] [stdout] test tests::test_is_blocked_proxy_tool_verify_owner ... ok
[INFO] [stdout] test tests::test_is_blocked_proxy_tool_auth_introspect ... ok
[INFO] [stdout] test tests::test_json_string_or_joined_array_trims_and_filters_empty_values ... ok
[INFO] [stdout] test tests::test_resolve_body_input_reads_file_contents ... ok
[INFO] [stdout] test tests::test_maxlength_default_for_other_strings ... ok
[INFO] [stdout] test tests::test_message_has_visible_body_accepts_plain_or_html ... ok
[INFO] [stdout] test tests::test_mutate_does_not_affect_forward_email ... ok
[INFO] [stdout] test tests::test_mutate_does_not_affect_get_emails ... ok
[INFO] [stdout] test tests::test_mutate_does_not_affect_get_thread ... ok
[INFO] [stdout] test tests::test_resolve_body_input_rejects_directory ... ok
[INFO] [stdout] test tests::test_maxlength_not_overwritten_if_present ... ok
[INFO] [stdout] test tests::test_mutate_does_not_affect_send_email ... ok
[INFO] [stdout] test tests::test_resolve_body_input_rejects_both_inline_and_file ... ok
[INFO] [stdout] test tests::test_mutate_does_not_affect_send_reply ... ok
[INFO] [stdout] test tests::test_no_annotations_on_send_email ... ok
[INFO] [stdout] test tests::test_no_untrusted_warning_on_send_email ... ok
[INFO] [stdout] test tests::test_resolve_body_input_prefers_inline_value ... ok
[INFO] [stdout] test tests::test_sanitize_strips_access_token ... ok
[INFO] [stdout] test tests::test_sanitize_strips_all_dunder_params ... ok
[INFO] [stdout] test tests::test_resolve_body_input_rejects_invalid_utf8 ... ok
[INFO] [stdout] test tests::test_sanitize_without_domain_argument ... ok
[INFO] [stdout] test tests::test_resolve_body_input_rejects_nul_bytes ... ok
[INFO] [stdout] test tests::test_sanitize_strips_domain ... ok
[INFO] [stdout] test tests::test_sanitize_strips_from_name_on_identity_tools ... ok
[INFO] [stdout] test tests::test_rewrite_preserves_non_token_properties ... ok
[INFO] [stdout] test tests::test_resolve_body_input_rejects_oversized_file ... ok
[INFO] [stdout] test tests::test_send_email_args_multiple_recipients ... ok
[INFO] [stdout] test tests::test_send_email_args_with_all_options ... ok
[INFO] [stdout] test tests::test_send_email_args_with_attachments ... ok
[INFO] [stdout] test tests::test_send_email_args_with_cc_bcc ... ok
[INFO] [stdout] test tests::test_rewrite_removes_all_blocked_tools ... ok
[INFO] [stdout] test tests::test_rewrite_strips_token_from_required_array ... ok
[INFO] [stdout] test tests::test_rewrite_removes_blocked_tools_from_list ... ok
[INFO] [stdout] test tests::test_send_email_accepts_body_file_flags ... ok
[INFO] [stdout] test tests::test_send_email_args_preserved ... ok
[INFO] [stdout] test tests::test_send_reply_with_all_optional_fields ... ok
[INFO] [stdout] test tests::test_sensitive_tool_rotate_encryption_has_caution ... ok
[INFO] [stdout] test tests::test_sensitive_tool_enable_encryption_has_caution ... ok
[INFO] [stdout] test tests::test_split_csv_trims_whitespace ... ok
[INFO] [stdout] test tests::test_rewrite_strips_token_from_all_tool_schemas ... ok
[INFO] [stdout] test tests::test_split_csv_filters_empty ... ok
[INFO] [stdout] test tests::test_send_reply_with_only_required_fields ... ok
[INFO] [stdout] test tests::test_send_reply_args_with_attachments ... ok
[INFO] [stdout] test tests::test_split_csv_single ... ok
[INFO] [stdout] test tests::test_untrusted_warning_on_search_emails ... ok
[INFO] [stdout] test tests::test_send_reply_args_preserved ... ok
[INFO] [stdout] test tests::test_rewrite_tools_list_does_not_force_additional_properties_on_arg_schema ... ok
[INFO] [stdout] test tests::test_rewrite_tools_list_keeps_existing_additional_properties ... ok
[INFO] [stdout] test tests::test_untrusted_warning_on_get_emails ... ok
[INFO] [stdout] test tests::test_rewrite_tools_list_normalizes_no_arg_schema ... ok
[INFO] [stdout] test tests::test_verify_owner_args_include_code ... ok
[INFO] [stdout] test tests::test_sanitize_skips_non_tool_calls ... ok
[INFO] [stdout] test tests::test_send_email_args_basic ... ok
[INFO] [stdout] test tests::test_split_csv_basic ... ok
[INFO] [stdout] test tests::verify_hashcash_rejects_invalid_stamp ... ok
[INFO] [stdout] test tests::version_cache_roundtrip ... ok
[INFO] [stdout] test tests::test_send_reply_rejects_body_and_body_file_together ... ok
[INFO] [stdout] test tests::write_if_needed_skips_differing_content ... ok
[INFO] [stdout] test tests::test_verify_owner_args_use_owner_email ... ok
[INFO] [stdout] test tests::test_sanitize_preserves_token ... ok
[INFO] [stdout] test tests::write_if_needed_creates_new_file ... ok
[INFO] [stdout] test tests::write_if_needed_reports_up_to_date ... ok
[INFO] [stdout] test tests::test_sanitize_strips_debug_param ... ok
[INFO] [stdout] test tests::test_untrusted_warning_on_get_last_email ... ok
[INFO] [stdout] test tests::test_verify_owner_args_trim_and_validate_code ... ok
[INFO] [stdout] test tests::test_verify_owner_accepts_owner_email_flag_email_alias_and_yes_flag ... ok
[INFO] [stdout] test tests::write_if_needed_force_overwrites ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 294 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_integration_test.rs (/opt/rustwide/target/debug/deps/mcp_integration_test-53734188d0f13ad0)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_mcp_handshake ... ignored, Live MCP proxy test: requires network and credentials. Run with `cargo test -- --ignored`.
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d", kill_on_drop: false }`
[INFO] [stdout] 147f91baa0df9a1d7ab436fed1ec8fb8c394f49f25d6a9f0feb83a695deca25d
