[INFO] cloning repository https://github.com/Swaggyllz/dispatcher-codex-handoff
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Swaggyllz/dispatcher-codex-handoff" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyllz%2Fdispatcher-codex-handoff", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyllz%2Fdispatcher-codex-handoff'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 10069f39e9aeb7344f94f7b937bb1e6674ca2b22
[INFO] testing Swaggyllz/dispatcher-codex-handoff against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyllz%2Fdispatcher-codex-handoff" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Swaggyllz/dispatcher-codex-handoff
[INFO] finished tweaking git repo https://github.com/Swaggyllz/dispatcher-codex-handoff
[INFO] tweaked toml for git repo https://github.com/Swaggyllz/dispatcher-codex-handoff written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Swaggyllz/dispatcher-codex-handoff on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Swaggyllz/dispatcher-codex-handoff 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2
[INFO] running `Command { std: "docker" "start" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", 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" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", 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" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling http v1.4.1
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.49
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.12.0
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling uuid v1.23.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[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 native-tls v0.2.18
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling dispatcher-engine v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-engine)
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.10.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling dispatcher-providers v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-providers)
[INFO] [stderr]    Compiling dispatcher-server v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-server)
[INFO] [stderr]    Compiling dispatcher-cli v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", 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" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling dispatcher-engine v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-engine)
[INFO] [stderr]    Compiling dispatcher-providers v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-providers)
[INFO] [stderr]    Compiling dispatcher-server v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-server)
[INFO] [stderr]    Compiling dispatcher-cli v0.3.0 (/opt/rustwide/workdir/crates/dispatcher-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.63s
[INFO] running `Command { std: "docker" "inspect" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", 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" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dispatch-bb0ae7973f77c7ec)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::load_routing_config_source_preserves_explicit_persistence_path ... ok
[INFO] [stdout] test tests::load_routing_config_uses_explicit_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dispatcher_engine-3909198bd44b7a45)
[INFO] [stdout] 
[INFO] [stdout] running 53 tests
[INFO] [stdout] test analyzer::tests::classifies_complex_agent_tier_for_parallel_coordination ... ok
[INFO] [stdout] test analyzer::tests::classifies_medium_agent_tier_for_single_code_task ... ok
[INFO] [stdout] test analyzer::tests::classifies_developer_retrieval_tasks_as_medium_not_simple ... ok
[INFO] [stdout] test analyzer::tests::classifies_reasoning_agent_tier_for_deep_code_work ... ok
[INFO] [stdout] test analyzer::tests::agent_harness_context_does_not_raise_latest_user_intent_tier ... ok
[INFO] [stdout] test analyzer::tests::classifies_project_level_implementation_as_reasoning ... ok
[INFO] [stdout] test analyzer::tests::classifies_simple_agent_tier ... ok
[INFO] [stdout] test analyzer::tests::classifies_tool_using_tasks_as_medium_not_simple ... ok
[INFO] [stdout] test analyzer::tests::detects_chat_task ... ok
[INFO] [stdout] test analyzer::tests::detects_code_task ... ok
[INFO] [stdout] test analyzer::tests::detects_tools ... ok
[INFO] [stdout] test analyzer::tests::synthetic_environment_message_does_not_replace_real_user_intent ... ok
[INFO] [stdout] test analyzer::tests::estimate_tokens_is_reasonable ... ok
[INFO] [stdout] test analyzer::tests::tool_result_message_does_not_replace_real_user_intent ... ok
[INFO] [stdout] test circuit_breaker::tests::snapshot_reports_open_provider_and_failure_count ... ok
[INFO] [stdout] test circuit_breaker::tests::success_resets_failures ... ok
[INFO] [stdout] test handoff_certification::tests::builtin_fixtures_parse_and_cover_supported_labels ... ok
[INFO] [stdout] test circuit_breaker::tests::opens_after_threshold_failures ... ok
[INFO] [stdout] test handoff_certification::tests::code_handoff_requires_code_patch_certification ... ok
[INFO] [stdout] test handoff_certification::tests::filter_keeps_matching_certified_worker ... ok
[INFO] [stdout] test scorer::tests::auto_strategy_prefers_quality ... ok
[INFO] [stdout] test scorer::tests::configured_tier_policy_keywords_adjust_scores ... ok
[INFO] [stdout] test handoff_certification::tests::filter_excludes_uncertified_handoff_workers ... ok
[INFO] [stdout] test selector::tests::excludes_unavailable ... ok
[INFO] [stdout] test selector::tests::fallback_candidates_are_ordered_without_duplicates ... ok
[INFO] [stdout] test selector::tests::fast_strategy_prefers_higher_score_when_latency_is_nearly_equal ... ok
[INFO] [stdout] test scorer::tests::equivalent_models_do_not_get_boosted_by_name_keywords ... ok
[INFO] [stdout] test handoff_certification::tests::default_certification_is_not_certified ... ok
[INFO] [stdout] test scorer::tests::tier_policy_can_override_default_scoring_with_weights ... ok
[INFO] [stdout] test selector::tests::fast_strategy_selects_lowest_latency_candidate_within_medium_quality_guard ... ok
[INFO] [stdout] test scorer::tests::save_strategy_keeps_cost_weight_even_when_tier_policy_exists ... ok
[INFO] [stdout] test selector::tests::save_strategy_respects_tighter_quality_guard_for_reasoning_tasks ... ok
[INFO] [stdout] test selector::tests::save_strategy_selects_lowest_cost_candidate_within_medium_quality_guard ... ok
[INFO] [stdout] test selector::tests::selects_highest_score ... ok
[INFO] [stdout] test scorer::tests::estimated_cost_per_1k_includes_input_and_output_costs ... ok
[INFO] [stdout] test selector::tests::fast_strategy_respects_tighter_quality_guard_for_reasoning_tasks ... ok
[INFO] [stdout] test selector::tests::save_strategy_prefers_higher_score_when_costs_are_nearly_equal ... ok
[INFO] [stdout] test scorer::tests::runtime_health_penalizes_unreliable_provider ... ok
[INFO] [stdout] test selector::tests::fallback_same_model_different_provider ... ok
[INFO] [stdout] test selector::tests::selected_route_explains_why_it_won ... ok
[INFO] [stdout] test scorer::tests::score_includes_weighted_breakdown ... ok
[INFO] [stdout] test tests::synthetic_context_after_continuation_keeps_sticky_route ... ok
[INFO] [stdout] test tests::route_excludes_models_with_model_level_unsupported_tools ... ok
[INFO] [stdout] test tests::non_continuation_in_same_session_is_rerouted ... ok
[INFO] [stdout] test types::tests::routing_config_loads_partial_tier_policy_from_toml ... ok
[INFO] [stdout] test tests::route_excludes_providers_without_required_tools ... ok
[INFO] [stdout] test types::tests::routing_config_loads_from_toml_file ... ok
[INFO] [stdout] test tests::route_with_health_avoids_provider_with_poor_recent_success_rate ... ok
[INFO] [stdout] test tests::route_records_exclusion_reason_for_unsupported_tools ... ok
[INFO] [stdout] test scorer::tests::save_strategy_prefers_cost ... ok
[INFO] [stdout] test tests::short_continuation_reuses_previous_session_route ... ok
[INFO] [stdout] test tests::route_excludes_providers_with_insufficient_context ... ok
[INFO] [stdout] test handoff_certification::tests::long_context_handoff_requires_long_context_certification ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dispatcher_providers-23127c6a938fa27e)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test anthropic::tests::anthropic_body_keeps_system_out_of_messages_and_includes_tools ... ok
[INFO] [stdout] test anthropic::tests::anthropic_response_preserves_tool_use_blocks ... ok
[INFO] [stdout] test anthropic::tests::anthropic_body_restores_tool_use_and_tool_result_history ... ok
[INFO] [stdout] test anthropic::tests::anthropic_sse_decoder_handles_split_events ... ok
[INFO] [stdout] test anthropic::tests::anthropic_sse_decoder_preserves_tool_argument_deltas ... ok
[INFO] [stdout] test demo::tests::demo_provider_returns_local_echo_completion ... ok
[INFO] [stdout] test demo::tests::demo_provider_supports_streaming_for_local_client_tests ... ok
[INFO] [stdout] test metadata::tests::metadata_file_applies_model_handoff_certification ... ok
[INFO] [stdout] test openai_compat::tests::openai_compat_body_restores_responses_tool_history ... ok
[INFO] [stdout] test openai_compat::tests::openai_compat_body_forwards_tools ... ok
[INFO] [stdout] test openai_compat::tests::openai_sse_decoder_accepts_null_tool_call_delta_fields ... ok
[INFO] [stdout] test openai_compat::tests::openai_compat_response_preserves_tool_calls ... ok
[INFO] [stdout] test metadata::tests::metadata_file_applies_model_pricing_source_and_capability_overrides ... ok
[INFO] [stdout] test openai_compat::tests::openai_sse_decoder_keeps_split_events_and_all_events_in_a_chunk ... ok
[INFO] [stdout] test openai_compat::tests::openai_sse_decoder_preserves_tool_call_deltas ... ok
[INFO] [stdout] test deepseek::tests::deepseek_v4_prices_match_current_cache_miss_usd_rates ... ok
[INFO] [stdout] test mimo::tests::mimo_text_prices_match_current_overseas_cache_miss_usd_rates ... ok
[INFO] [stdout] test registry::tests::from_env_can_override_provider_model_metadata_from_file ... ok
[INFO] [stdout] test registry::tests::from_env_accepts_xiaomi_mimo_api_key_alias ... ok
[INFO] [stdout] test registry::tests::from_env_registers_demo_provider_by_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dispatcher_server-4a197c2d6882a2e2)
[INFO] [stdout] 
[INFO] [stdout] running 81 tests
[INFO] [stdout] test handoff::tests::emergency_package_is_reconstruction_with_guardrails ... ok
[INFO] [stdout] test handoff::tests::quota_failure_detects_429_and_retry_after ... ok
[INFO] [stdout] test handoff::tests::planned_handoff_triggers_only_from_reliable_low_headroom ... ok
[INFO] [stdout] test handoff::tests::quota_failure_detects_retry_after_without_429 ... ok
[INFO] [stdout] test handoff::tests::quota_snapshots_include_only_reliable_header_pairs ... ok
[INFO] [stdout] test handoff::tests::rate_limit_headers_calculate_minimum_normalized_headroom ... ok
[INFO] [stdout] test handoff::tests::rate_limit_headers_do_not_guess_when_limit_is_missing ... ok
[INFO] [stdout] test protocol::tests::stream_end_does_not_duplicate_existing_terminal_events ... ok
[INFO] [stdout] test protocol::tests::stream_end_adds_missing_anthropic_terminal_events ... ok
[INFO] [stdout] test handoff::tests::planned_package_is_observable_state_not_hidden_reasoning ... ok
[INFO] [stdout] test routes::policy::tests::policy_update_rejects_invalid_weights_and_unsupported_strategy ... ok
[INFO] [stdout] test routes::chat::tests::estimate_cost_uses_input_and_output_prices_separately ... ok
[INFO] [stdout] test routes::policy::tests::policy_update_validates_keywords_and_circuit_breaker_values ... ok
[INFO] [stdout] test routes::policy::tests::policy_view_reports_effective_tier_weights_and_override_sources ... ok
[INFO] [stdout] test routes::models::tests::model_list_uses_openai_shape_and_provider_ownership ... ok
[INFO] [stdout] test routes::policy::tests::policy_view_marks_explicit_strategy_even_when_values_match_defaults ... ok
[INFO] [stdout] test routes::policy::tests::policy_update_rejects_unknown_secret_fields ... ok
[INFO] [stdout] test routes::providers::tests::open_circuit_is_reported_as_down ... ok
[INFO] [stdout] test routes::providers::tests::poor_recent_success_rate_is_reported_as_degraded ... ok
[INFO] [stdout] test routes::responses::tests::accepts_object_arguments_from_codex_tool_search_calls ... ok
[INFO] [stdout] test routes::responses::tests::chatgpt_auth_maps_accelerated_route_to_fast_mode ... ok
[INFO] [stdout] test routes::responses::tests::chatgpt_auth_omits_standard_api_service_tier ... ok
[INFO] [stdout] test routes::responses::tests::codex_api_key_prefers_dedicated_key ... ok
[INFO] [stdout] test routes::responses::tests::codex_auth_prefers_chatgpt_subscription_over_server_api_key ... ok
[INFO] [stdout] test routes::responses::tests::codex_auth_accepts_client_chatgpt_login_when_server_key_is_absent ... ok
[INFO] [stdout] test routes::responses::tests::codex_auth_rejects_placeholder_or_malformed_client_tokens ... ok
[INFO] [stdout] test routes::responses::tests::codex_explicit_native_model_and_effort_are_respected ... ok
[INFO] [stdout] test routes::responses::tests::codex_complex_tasks_use_5_5_with_xhigh_effort ... ok
[INFO] [stdout] test routes::responses::tests::codex_medium_tasks_use_5_4_with_medium_effort ... ok
[INFO] [stdout] test routes::responses::tests::codex_priority_speed_is_used_only_by_models_that_support_it ... ok
[INFO] [stdout] test routes::responses::tests::codex_quota_signal_detects_429 ... ok
[INFO] [stdout] test routes::responses::tests::codex_simple_tasks_use_mini_with_low_effort ... ok
[INFO] [stdout] test routes::responses::tests::codex_reasoning_tasks_use_5_5_with_high_effort ... ok
[INFO] [stdout] test routes::responses::tests::codex_upstream_url_uses_dedicated_base_and_normalizes_slashes ... ok
[INFO] [stdout] test routes::responses::tests::converts_codex_responses_request_to_internal_model_request ... ok
[INFO] [stdout] test routes::responses::tests::detects_chatgpt_fast_mode_rejection_for_standard_retry ... ok
[INFO] [stdout] test routes::responses::tests::codex_upstream_body_preserves_input_and_applies_route ... ok
[INFO] [stdout] test routes::responses::tests::dispatcher_auto_header_overrides_known_desktop_model_defaults ... ok
[INFO] [stdout] test routes::responses::tests::handoff_auto_continue_requires_explicit_truthy_config ... ok
[INFO] [stdout] test routes::policy::tests::policy_update_is_persisted_as_parseable_routing_config ... ok
[INFO] [stdout] test routes::responses::tests::handoff_continuation_request_marks_background_source ... ok
[INFO] [stdout] test routes::responses::tests::handoff_continuation_source_accepts_background_auto_only ... ok
[INFO] [stdout] test routes::responses::tests::dispatcher_auto_route_stays_inside_subscription_matrix ... ok
[INFO] [stdout] test routes::responses::tests::dispatcher_auto_ignores_desktop_model_reasoning_and_speed_defaults ... ok
[INFO] [stdout] test routes::responses::tests::dispatcher_auto_uses_shared_synthetic_context_filter ... ok
[INFO] [stdout] test routes::responses::tests::latest_user_text_extracts_last_message_text ... ok
[INFO] [stdout] test routes::responses::tests::latest_user_text_ignores_developer_messages ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_mode_requires_explicit_header_value ... ok
[INFO] [stdout] test routes::responses::tests::codex_telemetry_record_preserves_the_route_decision ... ok
[INFO] [stdout] test routes::responses::tests::handoff_package_id_extracts_non_empty_string_from_extra ... ok
[INFO] [stdout] test routes::responses::tests::planned_handoff_threshold_uses_normalized_default_and_clamps ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_ignores_client_tools_but_rejects_hosted_tools ... ok
[INFO] [stdout] test routes::responses::tests::dispatcher_auto_classifies_latest_user_intent_not_desktop_harness_context ... ok
[INFO] [stdout] test routes::responses_compat::tests::non_stream_text_becomes_responses_message_output ... ok
[INFO] [stdout] test routes::responses_compat::tests::stream_tool_call_merges_argument_deltas_and_completes_item ... ok
[INFO] [stdout] test routes::responses_compat::tests::non_stream_tool_call_becomes_responses_function_call_output ... ok
[INFO] [stdout] test routes::responses_compat::tests::stream_text_emits_responses_lifecycle_events ... ok
[INFO] [stdout] test routes::responses::tests::background_handoff_continuation_records_background_source_when_uncertified ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_records_tagged_continuation_failure_when_no_provider_matches ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_stream_routes_to_demo_as_responses_sse ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_non_stream_routes_to_demo_as_responses_json ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_stream_preserves_function_call_events ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_latest_handoff_continuation ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_handoff_requires_certified_worker ... ok
[INFO] [stdout] test tests::provider_timeout_uses_default_for_invalid_values_and_clamps_extremes ... ok
[INFO] [stdout] test tests::server_binds_to_loopback_by_default ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_without_handoff_package_keeps_generic_routing ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_latest_codex_route_decision ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_non_stream_records_handoff_continuation_when_tagged ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_without_handoff_package_does_not_record_continuation ... ok
[INFO] [stdout] test routes::responses::tests::reliable_low_headroom_records_quota_snapshot_and_planned_handoff ... ok
[INFO] [stdout] test telemetry::tests::provider_health_ignores_records_older_than_24_hours ... ok
[INFO] [stdout] test routes::responses::tests::provider_auto_stream_records_handoff_continuation_when_tagged ... ok
[INFO] [stdout] test telemetry::tests::provider_health_aggregates_recent_success_rate_and_latency ... ok
[INFO] [stdout] test routes::providers::tests::providers_response_includes_model_metadata_source_and_effective_capabilities ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_latest_handoff_package ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_latest_quota_snapshot ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_latest_quota_event ... ok
[INFO] [stdout] test telemetry::tests::telemetry_store_migrates_legacy_database_with_agent_tier_column ... ok
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_period_and_routing_cost_breakdowns ... ok
[INFO] [stderr]    Doc-tests dispatcher_engine
[INFO] [stdout] test telemetry::tests::telemetry_stats_include_provider_model_cost_breakdown ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[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] [stderr]    Doc-tests dispatcher_providers
[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] [stderr]    Doc-tests dispatcher_server
[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" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2", kill_on_drop: false }`
[INFO] [stdout] afb51097f6ef6534a47303b015ef2c8d1c16229ca508cbd28894ebdfadf202e2
