[INFO] fetching crate gpt-image-2-core 0.7.6... [INFO] testing gpt-image-2-core-0.7.6 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] extracting crate gpt-image-2-core 0.7.6 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate gpt-image-2-core 0.7.6 [INFO] finished tweaking crates.io crate gpt-image-2-core 0.7.6 [INFO] tweaked toml for crates.io crate gpt-image-2-core 0.7.6 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate gpt-image-2-core 0.7.6 on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gpt-image-2-core 0.7.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ssh2 v0.9.5 [INFO] [stderr] Downloaded rusqlite v0.37.0 [INFO] [stderr] Downloaded libssh2-sys v0.3.1 [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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4 [INFO] running `Command { std: "docker" "start" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", 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" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", 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" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.52.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling openssl-src v300.6.0+3.6.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling rustls v0.23.45 [INFO] [stderr] Compiling libz-sys v1.1.28 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libsqlite3-sys v0.35.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling zune-core v0.5.1 [INFO] [stderr] Compiling pxfm v0.1.29 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling openssl-sys v0.9.115 [INFO] [stderr] Compiling zune-jpeg v0.5.15 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling email-encoding v0.4.1 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling quoted_printable v0.5.2 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling keyring v3.6.3 [INFO] [stderr] Compiling rustls-webpki v0.103.15 [INFO] [stderr] Compiling moxcms v0.8.1 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.16 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling image v0.25.10 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling lettre v0.11.23 [INFO] [stderr] Compiling hyper v1.9.0 [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 ssh2 v0.9.5 [INFO] [stderr] Compiling rusqlite v0.37.0 [INFO] [stderr] Compiling gpt-image-2-core v0.7.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 5m 47s [INFO] running `Command { std: "docker" "inspect" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", 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" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling gpt-image-2-core v0.7.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 29.65s [INFO] running `Command { std: "docker" "inspect" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", 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" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.26s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/gpt_image_2_core-35d93c43bc8e2fda) [INFO] [stdout] [INFO] [stdout] running 138 tests [INFO] [stdout] test image_requests::image_sources::download_ssrf_tests::rejects_loopback_and_link_local_targets ... ok [INFO] [stdout] test image_requests::image_sources::download_ssrf_tests::rejects_plaintext_image_urls_before_network_access ... ok [INFO] [stdout] test logging::tests::public_read_recent_logs_resolves_via_product_data_dir ... ok [INFO] [stdout] test image_requests::image_sources::download_ssrf_tests::rejects_plaintext_reference_urls_before_provider_dispatch ... ok [INFO] [stdout] test logging::tests::init_logging_is_idempotent ... ok [INFO] [stdout] test notifications::webhook::tests::webhook_ssrf_guard_keeps_notification_owned_invalid_url_detail ... ok [INFO] [stdout] test recovery::tests::remote_maybe_accepted_resubmit_warns_about_possible_server_acceptance ... ok [INFO] [stdout] test notifications::webhook::tests::webhook_ssrf_guard_rejects_malformed_urls ... ok [INFO] [stdout] test notifications::webhook::tests::webhook_ssrf_guard_rejects_non_http_schemes ... ok [INFO] [stdout] test recovery::tests::descriptor_omits_attempt_details_and_actions_for_completed_jobs ... ok [INFO] [stdout] test storage::backends::s3::sigv4_tests::download_signature_is_stable ... ok [INFO] [stdout] test storage::backends::local::tests::local_readback_prefers_key_inside_configured_root ... ok [INFO] [stdout] test storage::backends::local::tests::local_readback_rejects_paths_outside_configured_root ... ok [INFO] [stdout] test storage::backends::sftp::tests::sftp_readback_allows_legacy_remote_path_under_remote_dir ... ok [INFO] [stdout] test storage::backends::local::tests::local_readback_rejects_traversing_keys ... ok [INFO] [stdout] test storage::types::tests::http_capabilities_are_unsupported_for_origin ... ok [INFO] [stdout] test storage::backends::sftp::tests::sftp_readback_rejects_traversing_keys ... ok [INFO] [stdout] test storage::types::tests::local_capabilities_are_full_with_optional_public_url ... ok [INFO] [stdout] test storage::backends::sftp::tests::sftp_readback_rejects_unstable_remote_dir ... ok [INFO] [stdout] test storage::types::tests::baidu_capabilities_are_degraded_without_listing ... ok [INFO] [stdout] test storage::types::tests::can_act_as_origin_matches_implemented_readback_backends ... ok [INFO] [stdout] test storage::types::tests::pan123_public_url_follows_direct_link_flag ... ok [INFO] [stdout] test storage::backends::sftp::tests::sftp_readback_rejects_remote_path_outside_remote_dir ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_allows_origin_reused_as_archive_for_runtime_dedupe ... ok [INFO] [stdout] test storage::backends::sftp::tests::sftp_readback_prefers_key_under_remote_dir ... ok [INFO] [stdout] test notifications::webhook::tests::webhook_ssrf_guard_blocks_internal_addresses ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_checks_managed_locked_archives ... ok [INFO] [stdout] test storage::backends::s3::sigv4_tests::upload_signature_is_stable ... ok [INFO] [stdout] test storage::types::tests::s3_capabilities_are_full ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_rejects_archive_modes_without_archives ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_rejects_cloud_primary_origin_without_readback ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_rejects_missing_archive_targets ... ok [INFO] [stdout] test storage::types::tests::webdav_capabilities_are_full ... ok [INFO] [stdout] test storage::types::tests::managed_policy_locks_origin_and_archive_selection ... ok [INFO] [stdout] test storage::types::tests::validate_targets_rejects_incomplete_s3_credentials ... ok [INFO] [stdout] test storage::types::tests::sftp_capabilities_are_full ... ok [INFO] [stdout] test storage::types::tests::validate_targets_accepts_complete_targets ... ok [INFO] [stdout] test storage::types::tests::managed_policy_with_user_overrides_is_advisory ... ok [INFO] [stdout] test storage::types::tests::validate_targets_rejects_invalid_urls ... ok [INFO] [stdout] test storage::types::tests::validate_pipeline_accepts_implemented_readback_origin ... ok [INFO] [stdout] test storage::types::tests::validate_targets_rejects_netdisk_auth_specific_missing_fields ... ok [INFO] [stdout] test storage::types::tests::netdisk_auth_mode_can_be_inferred_for_legacy_configs ... ok [INFO] [stdout] test storage::types::tests::netdisk_auth_mode_is_serialized_for_explicit_configs ... ok [INFO] [stdout] test tests::auth_refresh::reload_persisted_tokens_reads_the_rotated_refresh_token ... ok [INFO] [stdout] test tests::auth_refresh::reload_persisted_tokens_is_none_for_session_only ... ok [INFO] [stdout] test storage::types::tests::validate_targets_rejects_unstable_sftp_remote_dir ... ok [INFO] [stdout] test tests::config_provider::configured_openai_provider_resolves_with_file_secret ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_r2_origin_readback_survives_missing_local_cache ... ignored, requires live Cloudflare R2 credentials in GPT_IMAGE_2_R2_* env vars [INFO] [stdout] test tests::auth_refresh::save_auth_json_is_atomic_and_private ... ok [INFO] [stdout] test tests::config_provider::app_config_round_trips_with_file_secret ... ok [INFO] [stdout] test tests::config_provider::configured_openai_name_loads_config_secret_for_image_auth ... ok [INFO] [stdout] test tests::config_provider::explicit_builtin_name_uses_configured_provider_when_present ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_after_archive_success_cleanup_deletes_local_cache ... ok [INFO] [stdout] test tests::auth_refresh::concurrent_atomic_writes_never_corrupt ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_archive_readback_is_explicit_fallback ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_by_age_cleanup_parses_rfc3339_history_time ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_by_size_cleanup_removes_oldest_protected_cache ... ok [INFO] [stdout] test tests::history_storage::history_upload_records_enrich_history_job_outputs ... ok [INFO] [stdout] test tests::history_storage::s3_endpoint_builder_supports_aws_and_compatible_styles ... ok [INFO] [stdout] test logging::tests::rolling_writer_caps_backups_and_drops_oldest ... ok [INFO] [stdout] test tests::image_requests::build_openai_edit_form_contains_required_parts ... ok [INFO] [stdout] test logging::tests::redacts_secrets_before_persisting ... ok [INFO] [stdout] test logging::tests::readback_filters_by_level_and_orders_oldest_to_newest ... ok [INFO] [stdout] test tests::image_requests::build_openai_image_body_for_edit_includes_mask_and_images ... ok [INFO] [stdout] test tests::image_requests::image_25_quality_round_trips_to_provider_body ... ok [INFO] [stdout] test tests::image_requests::parse_image_size_accepts_aliases ... ok [INFO] [stdout] test tests::image_requests::parse_image_size_rejects_oversized_square ... ok [INFO] [stdout] test tests::image_requests::parse_image_size_accepts_valid_dimensions ... ok [INFO] [stdout] test tests::network_safety::canonicalize_ip_unmaps_ipv4_in_ipv6 ... ok [INFO] [stdout] test tests::network_safety::ip_is_internal_classifies_addresses ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_local_origin_readback_survives_missing_local_cache ... ok [INFO] [stdout] test tests::image_requests::parse_image_size_rejects_too_few_pixels ... ok [INFO] [stdout] test tests::notification_delivery::webhook_notification_request_resolves_custom_headers ... ok [INFO] [stdout] test tests::notification_delivery::notification_secret_preservation_keeps_empty_file_values ... ok [INFO] [stdout] test tests::notification_delivery::email_notification_message_resolves_password_and_recipients ... ok [INFO] [stdout] test tests::notifications::notification_config_redacts_webhook_headers_and_email_password ... ok [INFO] [stdout] test tests::proxy::preserve_proxy_secrets_restores_redacted_credentials ... ok [INFO] [stdout] test tests::notification_delivery::webhook_payload_splits_origin_and_archive_uploads ... ok [INFO] [stdout] test tests::proxy::redact_proxy_config_hides_password ... ok [INFO] [stdout] test tests::proxy::redact_proxy_url_strips_credentials ... ok [INFO] [stdout] test tests::proxy::validate_proxy_url_accepts_supported_schemes ... ok [INFO] [stdout] test tests::proxy::validate_proxy_url_rejects_malformed ... ok [INFO] [stdout] test tests::proxy::resolve_effective_proxy_prefers_provider_override ... ok [INFO] [stdout] test tests::proxy::validate_proxy_url_rejects_incomplete_credentials ... ok [INFO] [stdout] test tests::proxy::validate_proxy_url_rejects_unsupported_schemes ... ok [INFO] [stdout] test tests::recovery::generation_slots_track_completed_failed_and_missing_outputs ... ok [INFO] [stdout] test tests::proxy::make_client_builds_for_every_mode ... ok [INFO] [stdout] test tests::recovery::recovery_descriptor_keeps_fill_missing_when_partial_outputs_have_upload_failures ... ok [INFO] [stdout] test tests::recovery::recovery_descriptor_offers_fill_missing_for_partial_outputs ... ok [INFO] [stdout] test tests::recovery::recovery_descriptor_offers_reupload_for_completed_upload_failures ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_dedups_overlapping_targets ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_always_with_both_lists_is_mirror ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_default_config_is_local_only ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_default_only_is_archive_only ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_fallback_only_is_archive_only ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_never_with_both_lists_drops_fallback ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_for_on_failure_with_both_lists_merges_into_archive_only ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_preserves_explicit_empty_archives ... ok [INFO] [stdout] test tests::storage_config::effective_pipeline_with_explicit_pipeline_ignores_legacy_fields ... ok [INFO] [stdout] test tests::storage_config::explicit_pipeline_serialises_without_legacy_pollution ... ok [INFO] [stdout] test tests::storage_config::legacy_config_round_trips_through_serde ... ok [INFO] [stdout] test tests::storage_config::product_paths_default_by_runtime ... ok [INFO] [stdout] test tests::storage_config::s3_storage_test_rejects_empty_file_credentials ... ok [INFO] [stdout] test tests::storage_config::s3_storage_test_rejects_missing_env_credentials ... ok [INFO] [stdout] test tests::storage_config::s3_storage_test_requires_access_key ... ok [INFO] [stdout] test tests::storage_config::s3_storage_test_requires_secret_key ... ok [INFO] [stdout] test tests::history_storage::cloud_primary_origin_is_not_replayed_as_archive ... ok [INFO] [stdout] test tests::storage_config::sftp_host_key_fingerprint_accepts_sha256_prefix ... ok [INFO] [stdout] test tests::storage_config::storage_config_redacts_target_credentials ... ok [INFO] [stdout] test tests::storage_config::storage_remote_guard_blocks_internal_addresses ... ok [INFO] [stdout] test tests::storage_config::storage_secret_preservation_requires_same_target_identity ... ok [INFO] [stdout] test tests::storage_config::storage_secret_preservation_survives_target_rename ... ok [INFO] [stdout] test transparent::tests::chroma_extraction_auto_samples_near_matte ... ok [INFO] [stdout] test transparent::tests::chroma_extraction_creates_real_alpha ... ok [INFO] [stdout] test transparent::tests::chroma_spill_suppression_reduces_green_edge ... ok [INFO] [stdout] test transparent::tests::dual_extraction_recovers_semi_transparent_alpha ... ok [INFO] [stdout] test transparent::tests::effect_profile_allows_hard_alpha_particles ... ok [INFO] [stdout] test tests::history_storage::history_rows_without_upload_records_keep_legacy_outputs ... ok [INFO] [stdout] test transparent::tests::glow_profile_requires_partial_alpha ... ok [INFO] [stdout] test transparent::tests::material_preset_can_be_overridden_per_field ... ok [INFO] [stdout] test transparent::tests::verification_detects_checkerboard_fake_transparency ... ok [INFO] [stdout] test transparent::tests::seal_profile_allows_deliberate_multi_component_marks ... ok [INFO] [stdout] test transparent::tests::verification_rejects_fully_opaque_png ... ok [INFO] [stdout] test transparent::tests::verification_reports_when_matte_residue_was_not_checked ... ok [INFO] [stdout] test tests::history_storage::mirror_pipeline_uploads_to_all_archives_in_parallel ... ok [INFO] [stdout] test tests::history_storage::per_job_overrides_activate_default_local_only_pipeline ... ok [INFO] [stdout] test tests::history_storage::per_job_overrides_are_appended_to_archives ... ok [INFO] [stdout] test tests::history_storage::readback_rejects_symlink_cache_paths_that_resolve_outside_allowed_roots ... ok [INFO] [stdout] test tests::history_storage::readback_rejects_local_cache_paths_outside_allowed_roots ... ok [INFO] [stdout] test tests::history_storage::readback_respects_legacy_cache_roots_when_enabled_by_caller ... ok [INFO] [stdout] test tests::history_storage::readback_uses_legacy_output_path_when_outputs_are_missing ... ok [INFO] [stdout] test tests::history_storage::rehydrate_does_not_use_storage_destination_path_as_cache_path ... ok [INFO] [stdout] test tests::history_storage::rehydrate_ignores_manifest_cache_path_outside_allowed_roots ... ok [INFO] [stdout] test tests::history_storage::storage_upload_falls_back_to_local_target_after_primary_failure ... ok [INFO] [stdout] test tests::recovery::history_job_events_do_not_replace_on_duplicate_seq ... ok [INFO] [stdout] test tests::recovery::history_job_events_persist_across_reads ... ok [INFO] [stdout] test tests::recovery::history_job_events_survive_status_updates ... ok [INFO] [stdout] test tests::storage_config::storage_config_defaults_to_no_archive_targets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 137 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.43s [INFO] [stdout] [INFO] [stderr] Doc-tests gpt_image_2_core [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" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4", kill_on_drop: false }` [INFO] [stdout] 55336fdae63f3d0701f9c6b8b68692a5fd98fa546ad53eac65726d6cda83c3d4