[INFO] fetching crate switchyard-libsy 0.3.0...
[INFO] testing switchyard-libsy-0.3.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate switchyard-libsy 0.3.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate switchyard-libsy 0.3.0
[INFO] finished tweaking crates.io crate switchyard-libsy 0.3.0
[INFO] tweaked toml for crates.io crate switchyard-libsy 0.3.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate switchyard-libsy 0.3.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate switchyard-libsy 0.3.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:96:12
[INFO] [stderr]     |
[INFO] [stderr]  96 | homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 | repository = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |              -------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `switchyard-libsy` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4
[INFO] running `Command { std: "docker" "start" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", 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" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", 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" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:96:12
[INFO] [stderr]     |
[INFO] [stderr]  96 | homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 | repository = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |              -------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `switchyard-libsy` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling jsonschema-regex v0.49.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio v1.52.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling opentelemetry v0.32.0
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling tracing-opentelemetry v0.33.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling regex v1.13.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 fluent-uri v0.4.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling jsonptr v0.8.1
[INFO] [stderr]    Compiling jsonschema-value v0.49.4
[INFO] [stderr]    Compiling referencing v0.49.4
[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 futures v0.3.32
[INFO] [stderr]    Compiling switchyard-protocol v0.3.0
[INFO] [stderr]    Compiling jsonschema v0.49.4
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling switchyard-libsy v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.24s
[INFO] running `Command { std: "docker" "inspect" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", 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" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:96:12
[INFO] [stderr]     |
[INFO] [stderr]  96 | homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 | repository = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |              -------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `switchyard-libsy` (manifest) generated 1 warning
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling opentelemetry v0.32.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling referencing v0.49.4
[INFO] [stderr]    Compiling jsonschema-value v0.49.4
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling jsonschema v0.49.4
[INFO] [stderr]    Compiling tracing-opentelemetry v0.33.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling opentelemetry_sdk v0.32.1
[INFO] [stderr]    Compiling switchyard-protocol v0.3.0
[INFO] [stderr]    Compiling switchyard-libsy v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 39.82s
[INFO] running `Command { std: "docker" "inspect" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", 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" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:96:12
[INFO] [stderr]     |
[INFO] [stderr]  96 | homepage = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 | repository = "https://github.com/NVIDIA-NeMo/Switchyard"
[INFO] [stderr]     |              -------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `switchyard-libsy` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/switchyard-libsy/ee0b49b62d3c6437/out/switchyard_libsy-ee0b49b62d3c6437)
[INFO] [stdout] 
[INFO] [stdout] running 316 tests
[INFO] [stdout] test algorithms::advisor_gate::budget::tests::eviction_rearms_a_session_scope_but_never_the_instance ... ok
[INFO] [stdout] test algorithms::advisor_gate::budget::tests::a_refund_reopens_the_budget_until_the_failure_cap ... ok
[INFO] [stdout] test algorithms::advisor_gate::budget::tests::reserving_spends_the_budget ... ok
[INFO] [stdout] test algorithms::advisor_gate::budget::tests::the_stall_latch_admits_one_caller_per_key ... ok
[INFO] [stdout] test algorithms::advisor_gate::signals::tests::the_decision_event_is_a_no_op ... ok
[INFO] [stdout] test algorithms::advisor_gate::budget::tests::clearing_the_stall_latch_readmits_the_key ... ok
[INFO] [stdout] test algorithms::advisor_gate::signals::tests::each_event_fills_its_own_signal_side ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::consult_transcript_includes_system_instructions ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::budget_keyed_by_bench_header_not_conversation ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::new_validation_errors ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::budget_consumed_once_per_scope ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::over_cap_consult_flags_truncation_to_the_reviewer ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::consult_request_shape ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::mid_stream_error_propagates_while_buffering ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::pattern_trigger_gates_matching_text_only ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::max_reviews_two_reviews_then_passthrough ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::approved_terminal_turn_returns_buffered_body ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::fail_open_returns_turn_refunds_and_caps_failures ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::concurrent_same_scope_requests_consult_once ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::min_tool_results_counts_batched_result_blocks ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::empty_turn_redo_echo_uses_placeholder ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::calls_preserve_candidates_and_attribute_the_serving_executor ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::exhausted_scope_passes_live_stream_through ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::reasoning_only_turn_reviewed_and_echoed ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::transcript_middle_drop ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::min_tool_results_defers_gate ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::redo_feedback_defers_to_the_requested_deliverable ... ok
[INFO] [stdout] test algorithms::advisor_gate::trigger::tests::a_zero_stall_threshold_disables_the_checkpoint ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::streamed_tool_call_turn_replays_without_review ... ok
[INFO] [stdout] test algorithms::advisor_gate::trigger::tests::pattern_reads_text_only_and_ignores_tool_use ... ok
[INFO] [stdout] test algorithms::advisor_gate::trigger::tests::the_stall_threshold_is_reached_at_the_configured_turn_count ... ok
[INFO] [stdout] test algorithms::advisor_gate::trigger::tests::no_tool_call_fires_on_tool_less_turns_past_the_guard ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::verdict_parser_table ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::unparseable_verdict_refunds_and_approves ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::pattern_trigger_matches_on_tool_call_turns ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::scope_precedence_header_over_session_id ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::simultaneous_trigger_does_not_latch_stall ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::redo_appends_echo_and_feedback_then_reinvokes ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::tool_call_turn_replays_without_review ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::session_final_evicts_scope ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::streamed_approval_replays_preserved_events_verbatim ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::stall_counts_assistant_turns_not_messages ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::context_window_error_propagates ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::fail_closed_propagates_refunds_and_counts ... ok
[INFO] [stdout] test algorithms::composite::tests::rejects_every_request_as_a_trigger ... ok
[INFO] [stdout] test algorithms::fall_through::tests::a_note_reaches_the_model_in_the_conversation ... ok
[INFO] [stdout] test algorithms::fall_through::tests::a_rewrite_propagates_down_the_chain_and_into_the_model_call ... ok
[INFO] [stdout] test algorithms::escalation::tests::falls_back_to_capable_when_efficient_overflows ... ok
[INFO] [stdout] test algorithms::composite::tests::a_judge_sharing_the_capable_model_still_latches_the_tier ... ok
[INFO] [stdout] test algorithms::escalation::tests::stays_capable_after_latch ... ok
[INFO] [stdout] test algorithms::fall_through::tests::cleanup_removes_only_inactive_idle_sessions ... ok
[INFO] [stdout] test algorithms::fall_through::tests::falls_through_the_first_abstaining_classifier ... ok
[INFO] [stdout] test algorithms::escalation::tests::preserves_non_transport_stream_errors ... ok
[INFO] [stdout] test algorithms::composite::tests::a_session_without_an_id_keys_on_the_message_hash ... ok
[INFO] [stdout] test algorithms::fall_through::tests::argmax_picks_the_highest_confidence_target ... ok
[INFO] [stdout] test algorithms::escalation::tests::serves_efficient_when_judge_declines ... ok
[INFO] [stdout] test algorithms::escalation::tests::falls_back_when_efficient_stream_transport_fails ... ok
[INFO] [stdout] test algorithms::escalation::tests::upgrades_to_capable_when_judge_escalates ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::stall_checkpoint_reviews_mid_task_once ... ok
[INFO] [stdout] test algorithms::fall_through::tests::first_deciding_classifier_wins_the_cascade ... ok
[INFO] [stdout] test algorithms::fall_through::tests::final_session_is_removed_when_routing_fails ... ok
[INFO] [stdout] test algorithms::fall_through::tests::the_selected_category_leads_the_candidate_list ... ok
[INFO] [stdout] test algorithms::fall_through::tests::state_is_shared_within_a_session_and_isolated_between_sessions ... ok
[INFO] [stdout] test algorithms::llm_class::tests::a_window_widens_the_judge_to_the_surrounding_conversation ... ok
[INFO] [stdout] test algorithms::fall_through::tests::processor_observes_request_then_decision ... ok
[INFO] [stdout] test algorithms::llm_class::tests::capability_boundaries_apply_monotonic_threshold_steps ... ok
[INFO] [stdout] test algorithms::escalation::tests::config_overrides_the_packaged_prompt ... ok
[INFO] [stdout] test algorithms::fall_through::tests::selected_target_leads_the_ordered_candidate_list ... ok
[INFO] [stdout] test algorithms::llm_class::tests::a_window_drops_reasoning_but_keeps_visible_text_and_tool_pairs ... ok
[INFO] [stdout] test algorithms::fall_through::tests::all_abstaining_is_an_error ... ok
[INFO] [stdout] test algorithms::llm_class::tests::a_zero_window_keeps_only_the_instructions_and_the_task ... ok
[INFO] [stdout] test algorithms::llm_class::tests::an_unreachable_judge_routes_capable_instead_of_failing_the_request ... ok
[INFO] [stdout] test algorithms::composite::tests::the_judge_sets_the_tier_once_a_turn_and_the_signals_run_within_it ... ok
[INFO] [stdout] test algorithms::llm_class::tests::an_unusable_verdict_is_ambiguous ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_config_enables_new_session_trigger ... ok
[INFO] [stdout] test algorithms::llm_class::tests::a_window_restates_the_routing_instruction_last ... ok
[INFO] [stdout] test algorithms::llm_class::tests::the_threshold_boundary_is_inclusive ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_config_sets_the_judge_completion_cap ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_config_overrides_the_packaged_prompt ... ok
[INFO] [stdout] test algorithms::llm_class::tests::default_task_input_keeps_user_content_around_tool_results ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_config_reuses_message_hash_affinity_for_a_follow_up ... ok
[INFO] [stdout] test algorithms::llm_class::tests::the_default_path_is_left_unchanged ... ok
[INFO] [stdout] test algorithms::llm_class::tests::invalid_classifier_config_is_rejected ... ok
[INFO] [stdout] test algorithms::llm_class::tests::trimming_keeps_the_counted_window_when_a_result_cannot_be_paired ... ok
[INFO] [stdout] test algorithms::llm_class::tests::every_schema_property_round_trips_through_the_judge_parser ... ok
[INFO] [stdout] test algorithms::llm_class::tests::the_threshold_moves_the_routing_boundary ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_judges_each_request_without_affinity ... ok
[INFO] [stdout] test algorithms::llm_class::tests::trimming_pairs_a_repeated_id_with_the_call_that_precedes_it ... ok
[INFO] [stdout] test algorithms::llm_class::tests::trimming_keeps_the_call_that_introduced_a_kept_tool_result ... ok
[INFO] [stdout] test algorithms::llm_class::tests::capability_judge_builds_a_structured_request ... ok
[INFO] [stdout] test algorithms::noop::tests::test_noop_algo ... ok
[INFO] [stdout] test algorithms::llm_class::tests::one_classifier_uses_each_requests_runtime_models ... ok
[INFO] [stdout] test algorithms::noop::tests::test_noop_algo_streams_when_requested ... ok
[INFO] [stdout] test algorithms::passthrough::tests::test_passthrough ... ok
[INFO] [stdout] test algorithms::plan_execute::tests::mutation_without_a_session_uses_the_efficient_tier ... ok
[INFO] [stdout] test algorithms::stage::tests::a_deciding_classifier_is_credited_with_the_turn ... ok
[INFO] [stdout] test algorithms::plan_execute::tests::plans_then_hands_off_and_latches_execution ... ok
[INFO] [stdout] test algorithms::plan_execute::tests::rejects_blank_prompts ... ok
[INFO] [stdout] test algorithms::rand::tests::single_target_is_always_selected_and_called ... ok
[INFO] [stdout] test algorithms::stage::tests::rejects_an_out_of_range_confidence_threshold ... ok
[INFO] [stdout] test algorithms::stage::tests::an_abstaining_classifier_claims_nothing ... ok
[INFO] [stdout] test algorithms::stage::tests::builds ... ok
[INFO] [stdout] test algorithms::rand::tests::affinity_reuses_the_initial_random_selection ... ok
[INFO] [stdout] test algorithms::stage::tests::a_decisive_signal_never_reaches_the_judge ... ok
[INFO] [stdout] test algorithms::stage::tests::an_override_replaces_the_picker_default_and_leaves_the_signals_alone ... ok
[INFO] [stdout] test algorithms::stage::tests::rejects_an_out_of_range_judge_threshold ... ok
[INFO] [stdout] test algorithms::stage::tests::the_judge_decides_a_turn_the_signals_leave_undecided ... ok
[INFO] [stdout] test algorithms::stage::tests::a_judge_that_cannot_tell_lands_on_the_picker_default ... ok
[INFO] [stdout] test algorithms::stage::tests::a_signal_driven_escalation_hands_the_note_to_the_model ... ok
[INFO] [stdout] test algorithms::stage::tests::the_judges_verdict_is_not_pinned_to_the_session ... ok
[INFO] [stdout] test algorithms::stage::tests::the_judge_reads_the_window_it_was_configured_with ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::delegated_work_is_routed_to_the_worker ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::the_override_seeds_a_pin_that_affinity_replays ... ok
[INFO] [stdout] test algorithms::rand::tests::decision_is_inspectable ... ok
[INFO] [stdout] test algorithms::llm_class::tests::classifier_config_rejects_unknown_fields ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::the_pin_outlives_the_policy_that_seeded_it ... ok
[INFO] [stdout] test algorithms::llm_class::tests::packaged_prompt_keeps_the_schema_in_the_structured_request ... ok
[INFO] [stdout] test algorithms::subagent::tests::routes_parent_and_children_with_affinity_and_default ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::an_unprovisioned_any_group_does_not_evict_assignments ... ok
[INFO] [stdout] test algorithms::rand::tests::rejects_invalid_weights ... ok
[INFO] [stdout] test algorithms::subagent::tests::harness_without_subagent_identity_warns_once_and_routes_through_the_parent ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::a_cascade_without_the_override_still_routes_root_traffic ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::decision_without_an_affinity_identity_is_ignored ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::distinct_sessions_are_assigned_independently ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::message_hash_fallback_uses_the_first_user_message ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::distinct_subagents_are_assigned_independently ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::root_traffic_falls_through_to_the_terminal_classifier ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::latch_only_retains_matching_models ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::harness_maintenance_turns_are_not_forced_to_the_worker ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::decisions_retain_their_originating_request_identity ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::distinct_children_are_pinned_independently ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagent_does_not_inherit_session_assignment ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagent_without_an_agent_id_abstains_and_warns ... ok
[INFO] [stdout] test algorithms::subagent_affinity_tests::without_a_shared_pin_the_second_policy_wins ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::user_message_hash_ignores_non_text_provider_payloads ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagent_only_retains_children_without_latching_root_traffic ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::one_router_serves_both_roles ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagent_without_a_session_abstains_and_warns ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::classifier_abstains_without_a_session ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_contract_requires_an_inner_json_schema ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_provider_wrapper_is_rejected_as_an_inner_schema ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagents_only_root_traffic_does_not_warn ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_contract_rejects_an_empty_prompt ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_contract_rejects_a_response_schema_placeholder ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::metadata_session_takes_precedence_over_message_hash ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::session_retains_first_model_across_requests ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::subagent_is_keyed_by_agent_not_task ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_runtime_contract_keeps_its_schema_out_of_the_prompt ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::first_decision_wins ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::message_text_keeps_tool_calls_and_results ... ok
[INFO] [stdout] test algorithms::rand::tests::selection_covers_all_targets_over_many_runs ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::conversation_turn_counts_assistant_replies ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::a_failed_judge_call_falls_back_to_the_policy ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::an_in_band_stream_error_falls_back_to_the_policy ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::summary_anchors_every_user_message_before_the_first_reply ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::release_on_user_turn_drops_the_assignment_only_when_the_user_speaks ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::a_transport_failure_mid_stream_falls_back_to_the_policy ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::client_errors_map_to_bounded_fail_open_reasons ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::fenced_replies_parse_as_verdicts ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::summary_keeps_anchors_and_the_recent_window ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::the_verdict_is_read_from_the_completion ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::truncate_middle_keeps_head_and_tail ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::an_unparseable_reply_falls_back_to_the_policy ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::judge_request_uses_the_configured_completion_cap ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::a_general_error_is_reduced_to_its_class ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::an_algorithm_error_message_is_reduced_to_its_class ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::a_client_configuration_message_is_reduced_to_its_class ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::an_upstream_body_never_reaches_the_summary ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::an_extension_failure_keeps_its_label_but_not_its_source ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::boxed_sources_are_reduced_to_their_class ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::structural_variants_keep_their_detail ... ok
[INFO] [stdout] test algorithms::util::prompts::tests::a_note_joins_a_trailing_user_turn_after_its_tool_result ... ok
[INFO] [stdout] test algorithms::util::stage::tests::a_passing_test_does_not_force_a_deescalation_note ... ok
[INFO] [stdout] test algorithms::util::stage::tests::a_signal_driven_escalation_carries_the_note ... ok
[INFO] [stdout] test algorithms::advisor_gate::tests::refunded_stall_review_rearms_the_checkpoint ... ok
[INFO] [stdout] test algorithms::util::prompts::tests::a_note_opens_a_user_turn_after_an_assistant_turn ... ok
[INFO] [stdout] test algorithms::util::prompts::tests::a_note_leaves_the_rest_of_the_conversation_untouched ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::summary_drops_oldest_window_lines_under_the_char_cap ... ok
[INFO] [stdout] test algorithms::util::robustness::tests::context_overflow_keeps_the_model_but_not_the_message ... ok
[INFO] [stdout] test algorithms::util::stage::tests::capable_hold_is_isolated_per_agent ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::a_buffered_verdict_reaches_the_policy ... ok
[INFO] [stdout] test algorithms::util::stage::tests::classifier_defaults_without_tool_signals ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::a_streamed_verdict_is_drained_before_parsing ... ok
[INFO] [stdout] test algorithms::util::stage::tests::classifier_falls_open_to_default_and_records_it ... ok
[INFO] [stdout] test algorithms::util::stage::tests::classifier_escalates_critical_severity_to_strong ... ok
[INFO] [stdout] test algorithms::util::escalation::tests::judge_request_is_rubric_plus_summary_under_a_completion_cap ... ok
[INFO] [stdout] test algorithms::util::stage::tests::no_deescalation_note_when_unconfigured ... ok
[INFO] [stdout] test algorithms::util::stage::tests::no_note_on_an_ambiguous_turn ... ok
[INFO] [stdout] test algorithms::util::stage::tests::escalation_holds_capable_for_two_more_turns ... ok
[INFO] [stdout] test algorithms::util::stage::tests::compaction_overrides_to_capable ... ok
[INFO] [stdout] test algorithms::util::stage::tests::critical_severity_overrides_to_capable ... ok
[INFO] [stdout] test algorithms::util::stage::tests::escalation_note_on_an_ambiguous_turn_when_not_gated ... ok
[INFO] [stdout] test algorithms::util::stage::tests::new_activity_does_not_dilute_existing_production ... ok
[INFO] [stdout] test algorithms::util::stage::tests::no_note_when_notes_are_unconfigured ... ok
[INFO] [stdout] test algorithms::util::stage::tests::old_new_activity_does_not_suppress_a_current_stall ... ok
[INFO] [stdout] test algorithms::util::stage::tests::escalation_note_applies_to_signal_driven_capable ... ok
[INFO] [stdout] test algorithms::util::stage::tests::no_escalation_note_on_an_ambiguous_turn_when_gated ... ok
[INFO] [stdout] test algorithms::util::stage::tests::passing_tests_clear_the_capable_hold ... ok
[INFO] [stdout] test algorithms::util::stage::tests::passing_tests_do_not_force_the_efficient_tier ... ok
[INFO] [stdout] test algorithms::util::stage::tests::one_signal_scores_below_half ... ok
[INFO] [stdout] test algorithms::util::stage::tests::override_reasons_are_specific ... ok
[INFO] [stdout] test algorithms::util::stage::tests::pick_tier_treats_the_exact_threshold_score_as_ambiguous ... ok
[INFO] [stdout] test algorithms::util::stage::tests::held_turns_do_not_repeat_the_escalation_note ... ok
[INFO] [stdout] test algorithms::util::stage::tests::quiet_signal_falls_open_to_default ... ok
[INFO] [stdout] test algorithms::util::stage::tests::new_activity_suppresses_stall_dimensions_without_biasing_the_score ... ok
[INFO] [stdout] test algorithms::util::stage::tests::deescalation_note_applies_to_efficient_when_configured ... ok
[INFO] [stdout] test algorithms::util::stage::tests::repeated_failure_overrides_to_capable ... ok
[INFO] [stdout] test algorithms::util::stage::tests::zero_disables_the_capable_hold ... ok
[INFO] [stdout] test algorithms::util::subagent::tests::harness_maintenance_turns_abstain ... ok
[INFO] [stdout] test algorithms::util::stage::tests::the_picker_mode_names_the_tier_an_undecided_turn_falls_back_to ... ok
[INFO] [stdout] test algorithms::util::subagent::tests::requests_without_metadata_abstain ... ok
[INFO] [stdout] test algorithms::util::subagent::tests::delegated_work_is_scored_definitively ... ok
[INFO] [stdout] test algorithms::util::subagent::tests::subagent_work_scores_the_worker ... ok
[INFO] [stdout] test algorithms::util::target_selector::tests::a_missing_unknown_or_unavailable_target_abstains ... ok
[INFO] [stdout] test algorithms::util::target_selector::tests::a_verdict_selects_its_runtime_category ... ok
[INFO] [stdout] test algorithms::util::target_selector::tests::an_invalid_json_pointer_is_rejected ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bash_non_mutating_does_not_count ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bare_does_not_exist_stays_clean ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bash_heredoc_counts_as_write ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bash_read_patterns_classify_as_read ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bash_sed_inplace_counts_as_edit ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::clean_text_has_zero_severity ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::clean_tool_result_has_zero_severity_and_non_empty_streak ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_apply_patch_counts_as_an_edit ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_compaction_metadata_stays_on_parent_route ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_process_exit_zero_stays_clean ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_inspection_commands_classify_as_read ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_shell_command_runs_bash_pattern_match ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_update_plan_classifies_as_plan ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::compaction_marker_sets_compacted ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_shell_mutations_classify_as_production ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::configured_semantics_score_like_their_builtin_equivalents ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::configured_semantics_never_replace_builtin_classifications ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::codex_exec_command_is_classified ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::configured_tool_semantics_only_fold_ascii_case ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::connection_refused_is_hard ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::conversation_counts_are_per_block_and_role_aware ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::custom_semantics_preserve_builtin_unicode_lowercasing ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::different_failures_are_not_repeated ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::embedded_comparison_is_not_a_shell_write ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::bash_write_precedence_over_read ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::configured_tool_semantics_extend_the_builtin_vocabulary ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::extract_anthropic_tool_results ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::extract_openai_chat_tool_results ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::formatter_checks_are_not_edits ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::hermes_tool_names_classify ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::one_material_failure_is_not_repeated ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::extract_responses_api_tool_results ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::file_does_not_exist_is_hard ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::no_compaction_marker_stays_uncompacted ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::no_error_streak_stops_at_error ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::anthropic_bash_heredoc_extracts_command ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::pure_bash_streak_resets_on_write ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::nonzero_exit_codes_are_soft_errors ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::pure_bash_streak_counts_trailing_other ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::python_write_expressions_need_a_python_command ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::oom_is_critical ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::read_tool_classifies_as_read ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::quoted_shell_separators_do_not_create_commands ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::recent_window_counts_only_last_default_window_tool_calls ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::recent_window_tracks_todowrite_and_read ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::recent_window_falls_back_to_full_history_when_short ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::recent_window_size_is_caller_overridable ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::repeated_failure_ignores_volatile_paths_and_numbers ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::severity_is_max_across_patterns ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::no_error_streak_all_clean ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::severity_is_windowed_over_recent_results ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::partial_process_failures_are_hard_errors ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_accepts_pytest_zero_errors ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_detects_diy_checkmark ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_detects_pytest_with_failure_block ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::todowrite_classifies_as_plan ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tool_semantics_reject_duplicates_and_builtin_reclassification ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_accepts_go_clean_summary ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::source_text_that_names_exceptions_stays_clean ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_must_follow_the_latest_failure ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::structured_tool_failures_feed_error_and_recovery_signals ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_rejects_cargo_real_failure ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::traceback_is_hard ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_accepts_cargo_clean_summary ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_detects_pytest_output ... ok
[INFO] [stdout] test core::algorithm::tests::aggregating_a_streamed_response_propagates_a_mid_stream_error ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::tests_passed_ignores_partial_failures ... ok
[INFO] [stdout] test algorithms::util::tool_signals::tests::responses_builtin_tool_failures_escalate ... ok
[INFO] [stdout] test core::algorithm::tests::run_returns_a_streamed_response_the_caller_aggregates ... ok
[INFO] [stdout] test core::algorithm::tests::routing_outcome_constructors_stamp_selection_and_preserve_payloads ... ok
[INFO] [stdout] test core::algorithm::tests::offload_error_propagates_back_to_the_algorithm ... ok
[INFO] [stdout] test core::algorithm::tests::run_returns_the_winner_without_hanging_on_a_pending_loser ... ok
[INFO] [stdout] test core::algorithm::tests::run_offloads_via_promise_then_finishes ... ok
[INFO] [stdout] test core::classifier::tests::argmax_breaks_ties_by_cascade_order ... ok
[INFO] [stdout] test core::classifier::tests::argmax_errors_on_nan_confidence ... ok
[INFO] [stdout] test core::classifier::tests::argmax_on_an_empty_set_abstains ... ok
[INFO] [stdout] test core::algorithm::tests::run_returns_the_winner_without_a_late_loser_overwriting_it ... ok
[INFO] [stdout] test core::classifier::tests::argmax_picks_the_highest_confidence_score ... ok
[INFO] [stdout] test core::algorithm::tests::target_lookup_returns_the_missing_target ... ok
[INFO] [stdout] test core::classifier::tests::ambiguous_without_ignore_makes_no_choice ... ok
[INFO] [stdout] test core::algorithm::tests::run_surfaces_a_terminal_error_with_many_calls_in_flight ... ok
[INFO] [stdout] test core::classifier::tests::ambiguous_with_ignore_falls_back_to_argmax ... ok
[INFO] [stdout] test core::classifier::tests::classifier_rewrites_the_request_in_place ... ok
[INFO] [stdout] test core::classifier::tests::classifier_reads_request_and_mutates_state ... ok
[INFO] [stdout] test core::classifier::tests::scores_variant_ignores_the_ambiguous_flag ... ok
[INFO] [stdout] test error::tests::client_call_preserves_target_and_source ... ok
[INFO] [stdout] test core::processor::tests::processor_rewrites_the_request_in_place ... ok
[INFO] [stdout] test core::processor::tests::process_accumulates_state_across_repeated_events ... ok
[INFO] [stdout] test core::processor::tests::processor_tallies_each_event_variant_into_state ... ok
[INFO] [stdout] test error::tests::external_preserves_operation_and_source ... ok
[INFO] [stdout] test algorithms::util::llm_judge::tests::typed_decoder_enforces_a_json_object_contract_locally ... ok
[INFO] [stdout] test algorithms::util::classifier_contract::tests::a_custom_contract_wraps_and_validates_its_inner_schema ... ok
[INFO] [stdout] test core::algorithm::tests::requests_are_processed_in_parallel ... ok
[INFO] [stdout] test core::algorithm::tests::typed_driver_preserves_call_and_stream_boundaries ... ok
[INFO] [stdout] test algorithms::util::affinity::tests::assignments_are_bounded_by_the_cap ... ok
[INFO] [stdout] test core::algorithm::tests::cancelling_run_cancels_the_algorithm_task ... ok
[INFO] [stdout] test core::algorithm::tests::dropping_the_stream_cancels_the_algorithm_task ... ok
[INFO] [stdout] test core::algorithm::tests::a_panic_with_a_leaked_driver_clone_still_terminates_the_run ... ok
[INFO] [stdout] test core::algorithm::tests::route_panic_surfaces_as_a_stream_error ... ok
[INFO] [stdout] test algorithms::rand::tests::weighted_seeded_selection_is_reproducible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 316 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests switchyard_libsy
[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" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4", kill_on_drop: false }`
[INFO] [stdout] bb4dec8d5da957ee84ba16b509aeb522053a8dc026deb0bfdc7f75130cb449b4
