[INFO] fetching crate prodex 0.47.0...
[INFO] testing prodex-0.47.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate prodex 0.47.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate prodex 0.47.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate prodex 0.47.0
[INFO] tweaked toml for crates.io crate prodex 0.47.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate prodex 0.47.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate prodex 0.47.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chunked_transfer v1.5.0
[INFO] [stderr]   Downloaded rtoolbox v0.0.5
[INFO] [stderr]   Downloaded tiny_http v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4e2f9839042ddf165b46bd71b1bebfd9143d5a8ac3d77fa407cd6005d1a08469
[INFO] running `Command { std: "docker" "start" "-a" "4e2f9839042ddf165b46bd71b1bebfd9143d5a8ac3d77fa407cd6005d1a08469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e2f9839042ddf165b46bd71b1bebfd9143d5a8ac3d77fa407cd6005d1a08469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e2f9839042ddf165b46bd71b1bebfd9143d5a8ac3d77fa407cd6005d1a08469", kill_on_drop: false }`
[INFO] [stdout] 4e2f9839042ddf165b46bd71b1bebfd9143d5a8ac3d77fa407cd6005d1a08469
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2b27e048abf18664d86331ac433b532d9bb49e3519fe7fa63ade2e2b6b57ca3
[INFO] running `Command { std: "docker" "start" "-a" "d2b27e048abf18664d86331ac433b532d9bb49e3519fe7fa63ade2e2b6b57ca3", kill_on_drop: false }`
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rtoolbox v0.0.5
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rpassword v7.4.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling aes-gcm-siv v0.11.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[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 rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling prodex v0.47.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "d2b27e048abf18664d86331ac433b532d9bb49e3519fe7fa63ade2e2b6b57ca3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2b27e048abf18664d86331ac433b532d9bb49e3519fe7fa63ade2e2b6b57ca3", kill_on_drop: false }`
[INFO] [stdout] d2b27e048abf18664d86331ac433b532d9bb49e3519fe7fa63ade2e2b6b57ca3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f6d98a44995c5ee2fa0fcb63e5ada3a29dd2e92a03f7b2a6cde26a32928c431e
[INFO] running `Command { std: "docker" "start" "-a" "f6d98a44995c5ee2fa0fcb63e5ada3a29dd2e92a03f7b2a6cde26a32928c431e", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling prodex v0.47.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "f6d98a44995c5ee2fa0fcb63e5ada3a29dd2e92a03f7b2a6cde26a32928c431e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6d98a44995c5ee2fa0fcb63e5ada3a29dd2e92a03f7b2a6cde26a32928c431e", kill_on_drop: false }`
[INFO] [stdout] f6d98a44995c5ee2fa0fcb63e5ada3a29dd2e92a03f7b2a6cde26a32928c431e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 644a9a0a73356ecd8029ecb23acacab719132ca34e7df805ab4e589c8f794075
[INFO] running `Command { std: "docker" "start" "-a" "644a9a0a73356ecd8029ecb23acacab719132ca34e7df805ab4e589c8f794075", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/prodex-477adcc216e44bfc)
[INFO] [stdout] 
[INFO] [stdout] running 566 tests
[INFO] [stdout] test app_commands::selection::tests::profile_rotation_order_supports_custom_selection_view ... ok
[INFO] [stdout] test app_commands::selection::tests::schedule_ready_profile_candidates_supports_custom_selection_view ... ok
[INFO] [stdout] test app_commands::runtime_launch::tests::prepare_runtime_launch_rejects_claude_for_non_openai_model_provider ... ok
[INFO] [stdout] test audit_log::tests::render_audit_events_human_shows_filters_and_details ... ok
[INFO] [stdout] test codex_config::tests::explicit_openai_override_clears_non_openai_config ... ok
[INFO] [stdout] test codex_config::tests::parses_model_provider_from_config_toml ... ok
[INFO] [stdout] test app_commands::runtime_launch::tests::prepare_runtime_launch_skips_proxy_for_non_openai_model_provider ... ok
[INFO] [stdout] test audit_log::tests::append_audit_event_writes_json_line ... ok
[INFO] [stdout] test codex_config::tests::cli_override_takes_precedence_over_config_file ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_anthropic_translation_is_stable_across_header_noise ... ok
[INFO] [stdout] test audit_log::tests::read_recent_audit_events_with_filters_scans_beyond_last_tail_lines ... ok
[INFO] [stdout] test audit_log::tests::audit_log_path_uses_env_override ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_claude_session_id_header_is_case_insensitive ... ok
[INFO] [stdout] test main_internal_tests::blocks_when_main_window_is_exhausted ... ok
[INFO] [stdout] test main_internal_tests::blocks_when_weekly_window_is_missing ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_doctor_classifies_context_loss_warning_from_log_text ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_websocket_capabilities_warn_without_turn_state ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_doctor_fields_surface_compat_warnings ... ok
[INFO] [stdout] test main_internal_tests::anthropic_model_descriptor_advertises_max_effort_for_xhigh_models ... ok
[INFO] [stdout] test main_internal_tests::claude_caveman_mode_extracts_prefix_and_preserves_passthrough_args ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_request_capabilities_detect_claude_code_mcp_stream ... ok
[INFO] [stdout] test main_internal_tests::compact_window_format_uses_scale_of_100 ... ok
[INFO] [stdout] test main_internal_tests::claude_command_accepts_passthrough_args ... ok
[INFO] [stdout] test main_internal_tests::claude_picker_uses_builtin_aliases_for_primary_gpt_models ... ok
[INFO] [stdout] test main_internal_tests::claude_managed_model_option_value_recognizes_current_and_legacy_entries ... ok
[INFO] [stdout] test audit_log::tests::read_recent_audit_events_applies_tail_and_filters ... ok
[INFO] [stdout] test main_internal_tests::build_info_quota_aggregate_uses_live_and_snapshot_data ... ok
[INFO] [stdout] test main_internal_tests::claude_picker_descriptor_accepts_aliases_and_legacy_native_placeholders ... ok
[INFO] [stdout] test main_internal_tests::cached_update_version_is_scoped_to_release_source ... ok
[INFO] [stdout] test main_internal_tests::claude_additional_model_options_cache_omits_alias_backed_primary_gpt_entries ... ok
[INFO] [stdout] test main_internal_tests::cleanup_runtime_broker_stale_leases_removes_dead_pid_files ... ok
[INFO] [stdout] test main_internal_tests::collect_info_runtime_load_summary_from_text_parses_recent_activity ... ok
[INFO] [stdout] test main_internal_tests::main_reset_summary_marks_missing_required_window ... ok
[INFO] [stdout] test main_internal_tests::format_info_prodex_version_reports_available_update_from_cache ... ok
[INFO] [stdout] test main_internal_tests::normalize_run_codex_args_rewrites_session_id_to_resume ... ok
[INFO] [stdout] test main_internal_tests::parse_ps_process_rows_and_classify_runtime_prodex_process ... ok
[INFO] [stdout] test main_internal_tests::current_prodex_release_source_is_npm_when_wrapped_by_npm ... ok
[INFO] [stdout] test main_internal_tests::current_prodex_release_source_defaults_to_crates_io ... ok
[INFO] [stdout] test main_internal_tests::normalize_run_codex_args_keeps_regular_prompt_intact ... ok
[INFO] [stdout] test main_internal_tests::ensure_runtime_mem_prodex_observer_writes_wrapper_and_settings ... ok
[INFO] [stdout] test main_internal_tests::ensure_runtime_mem_codex_watch_for_home_adds_prodex_watch_without_clobbering_default_watch ... ok
[INFO] [stdout] test main_internal_tests::prepare_codex_launch_args_preserves_review_detection_after_normalization ... ok
[INFO] [stdout] test main_internal_tests::preferred_runtime_broker_listen_addr_only_reuses_dead_registry_ports ... ok
[INFO] [stdout] test main_internal_tests::estimate_info_runway_uses_latest_monotonic_segment_after_reset ... ok
[INFO] [stdout] test main_internal_tests::main_reset_summary_lists_required_windows ... ok
[INFO] [stdout] test main_internal_tests::ready_profile_ranking_prefers_soon_recovering_weekly_capacity ... ok
[INFO] [stdout] test compat_replay_tests::compat_replay_anthropic_translation_survives_chaos_replay_loops ... ok
[INFO] [stdout] test main_internal_tests::recognizes_known_windows ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_command_is_the_only_command_without_update_notice ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_key_is_scoped_to_prodex_binary_identity ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_lease_drop_removes_file ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_process_args_only_include_review_flag_when_enabled ... ok
[INFO] [stdout] test main_internal_tests::prepare_runtime_proxy_claude_caveman_plugin_dir_installs_local_plugin_bundle ... ok
[INFO] [stdout] test main_internal_tests::prepare_managed_codex_home_does_not_reseed_populated_legacy_sessions_every_run ... ok
[INFO] [stdout] test main_internal_tests::prepare_managed_codex_home_merges_split_legacy_symlink_targets_before_relinking ... ok
[INFO] [stdout] test main_internal_tests::prodex_update_command_prefers_cargo_for_native_installations ... ok
[INFO] [stdout] test main_internal_tests::format_info_prodex_version_reports_up_to_date_from_cache ... ok
[INFO] [stdout] test main_internal_tests::prodex_update_command_prefers_npm_for_npm_installations ... ok
[INFO] [stdout] test main_internal_tests::prepare_caveman_launch_home_localizes_config_and_installs_plugin ... ok
[INFO] [stdout] test main_internal_tests::runtime_mem_transcript_watch_config_path_from_home_prefers_settings_override ... ok
[INFO] [stdout] test main_internal_tests::runtime_mem_extract_mode_strips_only_leading_mem_prefix ... ok
[INFO] [stdout] test main_internal_tests::runtime_probe_cache_freshness_distinguishes_fresh_stale_and_expired ... ok
[INFO] [stdout] test main_internal_tests::runtime_mem_claude_plugin_dir_from_home_uses_marketplace_install_path ... ok
[INFO] [stdout] test main_internal_tests::prepare_managed_codex_home_does_not_reseed_populated_legacy_history_every_run ... ok
[INFO] [stdout] test main_internal_tests::runtime_profile_usage_auth_cache_entry_freshness_detects_auth_json_changes ... ok
[INFO] [stdout] test main_internal_tests::map_parallel_runs_jobs_concurrently_and_preserves_order ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::ensure_runtime_proxy_claude_launch_config_seeds_onboarding_and_project_trust ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::parse_runtime_proxy_claude_version_text_extracts_semver_prefix ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::ensure_runtime_proxy_claude_launch_config_preserves_existing_entries ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::runtime_broker_openai_mount_path_falls_back_to_running_legacy_broker_version ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::ensure_runtime_proxy_claude_launch_config_appends_default_web_tools_to_current_project ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::find_compatible_runtime_broker_registry_prunes_dead_registry_without_probe ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_metrics_snapshot_tracks_lane_admissions_and_rejections ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_sets_plugin_root_when_mem_enabled ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::wait_for_existing_runtime_broker_recovery_or_exit_replaces_mismatched_live_broker ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::wait_for_existing_runtime_broker_recovery_or_exit_clears_dead_registry_without_probe ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::wait_for_existing_runtime_broker_recovery_or_exit_yields_mismatched_live_broker_with_active_requests ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_registry::wait_for_existing_runtime_broker_recovery_or_exit_yields_after_live_unhealthy_registry_clears ... ok
[INFO] [stdout] test main_internal_tests::runtime_broker_startup_grace_covers_ready_timeout ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_reasoning_effort_override_normalizes_env ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_keeps_custom_picker_entry_for_unknown_override ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_lane_classifies_anthropic_messages_as_responses ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_target_model_maps_builtin_aliases_to_pinned_gpt_models ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_long_lived_classifies_anthropic_messages_as_interactive_streams ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::prepare_runtime_proxy_claude_config_dir_imports_legacy_home_into_shared_state ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::prepare_runtime_proxy_claude_config_dir_migrates_existing_profile_state_into_shared_root ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::runtime_request_for_anthropic_server_tool_followup_defaults_stream_to_true ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_uses_codex_config_model_by_default ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_accepts_mcp_servers_with_mcp_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_uses_foundry_compat_with_profile_config_dir ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_model_mapping_matrix_stays_in_sync ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_maps_alias_backed_override_to_builtin_picker_value ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_reasoning_effort_override_ignores_invalid_env ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_interactive_wait_budget_extends_anthropic_messages ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::lane_and_launch::runtime_proxy_claude_launch_env_honors_model_override ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::runtime_proxy_anthropic_reasoning_effort_normalizes_output_config_levels ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_does_not_buffer_mcp_only_toolsets ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_appends_computer_display_context_to_existing_description ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_appends_memory_tool_guidance_to_system_instructions ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_falls_back_for_ambiguous_native_bash_tool_choice ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_forces_implicit_web_search_tool_choice ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_falls_back_for_unrepresentable_mcp_toolset_denylist ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_falls_back_for_ambiguous_native_computer_tool_choice ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_code_execution_tool_result ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_keeps_max_effort_at_high_for_legacy_model ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_keeps_upstream_streaming_for_non_stream_client_request ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_keeps_versioned_builtin_client_tools ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_mcp_toolset_to_responses_mcp ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_versioned_code_execution_server_tool ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_versioned_web_fetch_server_tool ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_versioned_tool_search_server_tool ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_web_fetch_tool_result ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_bash_tool_to_native_shell_when_enabled ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_document_content_to_input_text ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_honors_reasoning_override_env ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_memory_tool_definition_to_builtin_function ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_computer_tool_to_native_computer_when_enabled ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_max_effort_to_xhigh_for_supported_model ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_tools_and_tool_results ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_mcp_approval_response_block ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_maps_web_search_server_tool ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_compacts_verbose_web_search_tool_result_text ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_normalizes_versioned_client_tool_choice_aliases ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_mcp_tool_use_server_name ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_claude_web_fetch_tool_name ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_claude_web_search_tool_name ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_modern_builtin_client_tool_capabilities ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_file_backed_document_and_container_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_generic_server_tool_use_name ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_applies_carried_web_search_usage ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_structured_error_tool_result_content ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_tool_references ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_unsupported_user_content_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_roundtrips_versioned_text_editor_tool_use_and_result ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_counts_tool_search_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_counts_web_fetch_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_roundtrips_search_result_content_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_preserves_modern_builtin_tool_capabilities ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_joins_shell_call_commands_for_bash_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_counts_web_search_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_maps_shell_call_to_bash_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_maps_computer_call_to_computer_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::request_translation::translate_runtime_anthropic_messages_request_roundtrips_structured_tool_result_content_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_code_execution_server_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_claude_web_search_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_generic_server_tool_use_from_request_state ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_mcp_approval_request_and_list_tools ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_memory_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_raw_computer_actions_when_not_lossless ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_maps_mcp_call_to_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_tool_use_and_usage ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_claude_web_fetch_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_versioned_client_tools_as_generic_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_preserves_web_search_results ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_counts_web_search_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_maps_computer_call_to_computer_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_counts_web_fetch_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_reader_preserves_mcp_tool_result_error_flag ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_json_value_uses_registered_server_tool_aliases ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_collects_deltas_and_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_reader_emits_web_search_usage_in_message_delta ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_preserves_web_search_usage ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_response_from_sse_bytes_maps_shell_call_to_bash_tool_use ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_message_value_preserves_generic_tool_result_blocks ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_message_value_preserves_mcp_server_name ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_message_value_seeds_server_tool_use_in_message_start ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_proxy_anthropic_carried_server_tool_usage_counts_latest_tool_chain_suffix ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_message_value_preserves_web_fetch_tool_result ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_message_value_preserves_mcp_approval_and_list_tools ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_probe_refresh_nonlocal_upstream_detection_keeps_loopback_exact ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::response_translation::runtime_anthropic_sse_response_parts_from_responses_sse_bytes_preserves_carried_server_tool_usage ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_profile_inflight_relief_wait_returns_immediately_after_prior_release ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_probe_inline_execution_logs_context_without_queue_lag ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_profile_inflight_relief_wait_ignores_active_request_release_notify ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_probe_queued_execution_logs_refresh_marker_with_queue_lag ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_proxy_responses_inflight_relief_times_out_without_relief ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_probe_refresh_allows_loopback_upstream_in_tests ... FAILED
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_proxy_streams_anthropic_mcp_messages_without_buffering ... ok
[INFO] [stdout] test main_internal_tests::runtime_proxy_claude_and_anthropic::runtime_proxy_behavior::runtime_probe_refresh_suppresses_nonlocal_upstream_in_tests_and_wakes_waiters ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/prodex-477adcc216e44bfc` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "644a9a0a73356ecd8029ecb23acacab719132ca34e7df805ab4e589c8f794075", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "644a9a0a73356ecd8029ecb23acacab719132ca34e7df805ab4e589c8f794075", kill_on_drop: false }`
[INFO] [stdout] 644a9a0a73356ecd8029ecb23acacab719132ca34e7df805ab4e589c8f794075
