[INFO] cloning repository https://github.com/calebfaruki/tightbeam [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/calebfaruki/tightbeam" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebfaruki%2Ftightbeam", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebfaruki%2Ftightbeam'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1a13aee0fb1831a74c964e80868205a6bc78d03 [INFO] testing calebfaruki/tightbeam against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebfaruki%2Ftightbeam" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/calebfaruki/tightbeam [INFO] finished tweaking git repo https://github.com/calebfaruki/tightbeam [INFO] tweaked toml for git repo https://github.com/calebfaruki/tightbeam written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/calebfaruki/tightbeam on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/calebfaruki/tightbeam 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tonic-health v0.13.1 [INFO] [stderr] Downloaded jsonpath-rust v1.0.4 [INFO] [stderr] Downloaded enum-ordinalize v4.3.2 [INFO] [stderr] Downloaded tonic-reflection v0.13.1 [INFO] [stderr] Downloaded enum-ordinalize-derive v4.3.2 [INFO] [stderr] Downloaded kube v3.1.0 [INFO] [stderr] Downloaded kube-derive v3.1.0 [INFO] [stderr] Downloaded educe v0.6.0 [INFO] [stderr] Downloaded tonic-build v0.13.1 [INFO] [stderr] Downloaded kube-core v3.1.0 [INFO] [stderr] Downloaded kube-runtime v3.1.0 [INFO] [stderr] Downloaded kube-client v3.1.0 [INFO] [stderr] Downloaded k8s-openapi v0.27.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9e49e23619f7a047b05fc6b81c8d5230c2a1a1473c0594e36dadfb89a0456865 [INFO] running `Command { std: "docker" "start" "-a" "9e49e23619f7a047b05fc6b81c8d5230c2a1a1473c0594e36dadfb89a0456865", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9e49e23619f7a047b05fc6b81c8d5230c2a1a1473c0594e36dadfb89a0456865", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e49e23619f7a047b05fc6b81c8d5230c2a1a1473c0594e36dadfb89a0456865", kill_on_drop: false }` [INFO] [stdout] 9e49e23619f7a047b05fc6b81c8d5230c2a1a1473c0594e36dadfb89a0456865 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5cea31c18e7cced2d673fc88f359d78ee9fe03f4445e4ea9d7e4a24da4b17fef [INFO] running `Command { std: "docker" "start" "-a" "5cea31c18e7cced2d673fc88f359d78ee9fe03f4445e4ea9d7e4a24da4b17fef", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Compiling pest v2.8.6 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling petgraph v0.7.1 [INFO] [stderr] Compiling pest_meta v2.8.6 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling prost-types v0.13.5 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling k8s-openapi v0.27.1 [INFO] [stderr] Compiling multimap v0.10.1 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling pest_generator v2.8.6 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling jsonptr v0.7.1 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling hyper-timeout v0.5.2 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling pest_derive v2.8.6 [INFO] [stderr] Compiling json-patch v4.1.0 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling tonic v0.13.1 [INFO] [stderr] Compiling tonic-build v0.13.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling enum-ordinalize-derive v4.3.2 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling enum-ordinalize v4.3.2 [INFO] [stderr] Compiling tightbeam-proto v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-proto) [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling jsonpath-rust v1.0.4 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling backon v1.6.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling tightbeam-providers v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-providers) [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling educe v0.6.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling kube-derive v3.1.0 [INFO] [stderr] Compiling tonic-health v0.13.1 [INFO] [stderr] Compiling tonic-reflection v0.13.1 [INFO] [stderr] Compiling tightbeam-llm-job v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-llm-job) [INFO] [stderr] Compiling kube-core v3.1.0 [INFO] [stderr] Compiling kube-client v3.1.0 [INFO] [stderr] Compiling kube-runtime v3.1.0 [INFO] [stderr] Compiling kube v3.1.0 [INFO] [stderr] Compiling tightbeam-controller v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-controller) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 23s [INFO] running `Command { std: "docker" "inspect" "5cea31c18e7cced2d673fc88f359d78ee9fe03f4445e4ea9d7e4a24da4b17fef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5cea31c18e7cced2d673fc88f359d78ee9fe03f4445e4ea9d7e4a24da4b17fef", kill_on_drop: false }` [INFO] [stdout] 5cea31c18e7cced2d673fc88f359d78ee9fe03f4445e4ea9d7e4a24da4b17fef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d63012e24baae83861368dc666ff279cd05bb4861259889761885bb343395f69 [INFO] running `Command { std: "docker" "start" "-a" "d63012e24baae83861368dc666ff279cd05bb4861259889761885bb343395f69", kill_on_drop: false }` [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling backon v1.6.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling kube-client v3.1.0 [INFO] [stderr] Compiling tonic-build v0.13.1 [INFO] [stderr] Compiling tightbeam-proto v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-proto) [INFO] [stderr] Compiling tightbeam-providers v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-providers) [INFO] [stderr] Compiling tightbeam-llm-job v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-llm-job) [INFO] [stderr] Compiling kube-runtime v3.1.0 [INFO] [stderr] Compiling kube v3.1.0 [INFO] [stderr] Compiling tightbeam-controller v0.10.0 (/opt/rustwide/workdir/crates/tightbeam-controller) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "d63012e24baae83861368dc666ff279cd05bb4861259889761885bb343395f69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d63012e24baae83861368dc666ff279cd05bb4861259889761885bb343395f69", kill_on_drop: false }` [INFO] [stdout] d63012e24baae83861368dc666ff279cd05bb4861259889761885bb343395f69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 57a9ca6f1a98585275a2728d8e1ccbd2dddd322999a1a960b72529311517c1bb [INFO] running `Command { std: "docker" "start" "-a" "57a9ca6f1a98585275a2728d8e1ccbd2dddd322999a1a960b72529311517c1bb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tightbeam_controller-08eec5e6ef4ffe9c) [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test conversation::tests::agent_attribution_round_trips_through_rebuild ... ok [INFO] [stdout] test conversation::tests::assistant_with_tool_calls_round_trips ... ok [INFO] [stdout] test conversation::tests::new_log_starts_empty ... ok [INFO] [stdout] test conversation::tests::rebuild_empty_dir_returns_empty_log ... ok [INFO] [stdout] test conversation::tests::audit_log_writes_to_router_ndjson_not_history ... ok [INFO] [stdout] test conversation::tests::append_adds_to_history_and_log_file ... ok [INFO] [stdout] test conversation::tests::rebuild_fails_on_corrupted_log ... ok [INFO] [stdout] test conversation::tests::history_for_provider_prefixes_multi_agent ... ok [INFO] [stdout] test crd::tests::channel_spec_deserializes_with_defaults ... ok [INFO] [stdout] test conversation::tests::history_for_provider_no_prefix_single_agent ... ok [INFO] [stdout] test conversation::tests::rebuild_restores_history_from_log ... ok [INFO] [stdout] test conversation::tests::tool_result_message_round_trips ... ok [INFO] [stdout] test crd::tests::channel_spec_serializes ... ok [INFO] [stdout] test crd::tests::model_spec_serializes ... ok [INFO] [stdout] test crd::tests::secret_binding_env_and_file ... ok [INFO] [stdout] test job::tests::channel_job_has_correct_name_and_labels ... ok [INFO] [stdout] test job::tests::channel_job_mounts_channel_secret ... ok [INFO] [stdout] test crd::tests::model_crd_generates_correct_kind ... ok [INFO] [stdout] test crd::tests::model_spec_deserializes_with_defaults ... ok [INFO] [stdout] test crd::tests::channel_crd_generates_correct_kind ... ok [INFO] [stdout] test job::tests::llm_job_env_vars ... ok [INFO] [stdout] test job::tests::llm_job_has_correct_name ... ok [INFO] [stdout] test job::tests::llm_job_no_secret_when_none ... ok [INFO] [stdout] test job::tests::channel_job_pod_template_has_labels ... ok [INFO] [stdout] test job::tests::channel_job_restart_and_ttl ... ok [INFO] [stdout] test job::tests::llm_job_pod_template_has_labels ... ok [INFO] [stdout] test job::tests::llm_job_has_correct_labels ... ok [INFO] [stdout] test job::tests::llm_job_secret_as_env_var ... ok [INFO] [stdout] test job::tests::llm_job_thinking_env_var ... ok [INFO] [stdout] test job::tests::no_api_key_in_job_spec ... ok [INFO] [stdout] test state::tests::check_job_needed_already_connected ... ok [INFO] [stdout] test state::tests::check_job_needed_no_kube_client ... ok [INFO] [stdout] test state::tests::check_job_needed_no_model_spec ... ok [INFO] [stdout] test state::tests::multiple_models_independent ... ok [INFO] [stdout] test conversation::tests::system_prompt_updates_on_each_set ... ok [INFO] [stdout] test state::tests::wait_for_job_connect_returns_true_when_already_connected ... ok [INFO] [stdout] test state::tests::set_then_take_active_result_tx ... ok [INFO] [stdout] test state::tests::take_active_result_tx_returns_none_when_empty ... ok [INFO] [stdout] test conversation::tests::truncate_rolls_back_history_and_log ... ok [INFO] [stdout] test state::tests::enqueue_and_wait_delivers ... ok [INFO] [stdout] test job::tests::llm_job_never_restart_and_ttl ... ok [INFO] [stdout] test state::tests::wait_for_job_connect_times_out ... ok [INFO] [stdout] test state::tests::wait_for_job_connect_wakes_on_notify ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tightbeam_controller-a034458b25db0ce0) [INFO] [stderr] Running tests/grpc_integration.rs (/opt/rustwide/target/debug/deps/grpc_integration-f22c261687e1cb86) [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] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test turn_with_empty_messages_still_works ... ok [INFO] [stdout] test list_models_returns_empty ... ok [INFO] [stdout] test end_to_end_turn_with_tool_use ... ok [INFO] [stdout] test system_prompt_persisted_in_conversation ... ok [INFO] [stdout] test stream_turn_result_without_active_turn_fails ... ok [INFO] [stdout] test end_to_end_turn_with_text_response ... ok [INFO] [stdout] test get_turn_before_turn_delivers ... ok [INFO] [stdout] test get_turn_returns_unimplemented_when_no_pending ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tightbeam_llm_job-929abe4ab8ab29a8) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test config::tests::load_config_api_key_defaults_empty ... ok [INFO] [stdout] test config::tests::load_config_valid ... ok [INFO] [stdout] test config::tests::load_config_invalid_format_errors ... ok [INFO] [stdout] test config::tests::load_config_with_thinking ... ok [INFO] [stdout] test config::tests::load_config_missing_format_errors ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tightbeam_proto-c3b6eb83eba86dca) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test convert::tests::stop_reason_round_trips_all_variants ... ok [INFO] [stdout] test convert::tests::stream_event_content_delta_converts ... ok [INFO] [stdout] test convert::tests::empty_content_becomes_none ... ok [INFO] [stdout] test convert::tests::agent_field_preserved ... ok [INFO] [stdout] test convert::tests::chunk_to_turn_event_maps_all_variants ... ok [INFO] [stdout] test proto_types::channel_inbound_variants ... ok [INFO] [stdout] test convert::tests::text_message_round_trips ... ok [INFO] [stdout] test convert::tests::tool_call_json_round_trips ... ok [INFO] [stdout] test convert::tests::stream_event_done_converts ... ok [INFO] [stdout] test convert::tests::tool_def_round_trips ... ok [INFO] [stdout] test proto_types::model_info_structure ... ok [INFO] [stdout] test proto_types::tool_types_exist ... ok [INFO] [stdout] test proto_types::stop_reason_variants ... ok [INFO] [stdout] test proto_types::turn_assignment_structure ... ok [INFO] [stdout] test proto_types::turn_request_structure ... ok [INFO] [stdout] test proto_types::turn_result_chunk_variants ... ok [INFO] [stdout] test convert::tests::none_content_becomes_empty_vec ... ok [INFO] [stdout] test convert::tests::invalid_json_input_becomes_null ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tightbeam_providers-38a85f538ba3bc26) [INFO] [stdout] test proto_types::message_types_exist ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test claude::claude_api::image_block_converts_to_anthropic_format ... ok [INFO] [stdout] test claude::claude_api::user_message_converts_to_api_format ... ok [INFO] [stdout] test claude::claude_api::assistant_with_tool_calls_converts ... ok [INFO] [stdout] test claude::sse_parsing::message_stop_returns_none ... ok [INFO] [stdout] test claude::sse_parsing::ping_returns_none ... ok [INFO] [stdout] test claude::sse_parsing::text_block_start_returns_none ... ok [INFO] [stdout] test claude::sse_parsing::text_delta_parses ... ok [INFO] [stdout] test claude::claude_api::tool_result_converts_to_user_with_tool_result_block ... ok [INFO] [stdout] test claude::claude_api::tools_convert_to_api_format ... ok [INFO] [stdout] test claude::sse_parsing::message_delta_with_stop_reason_parses ... ok [INFO] [stdout] test claude::sse_parsing::tool_use_start_parses ... ok [INFO] [stdout] test claude::sse_parsing::tool_use_stop_reason_parses ... ok [INFO] [stdout] test openai::openai_api::assistant_with_tool_calls_converts ... ok [INFO] [stdout] test openai::openai_api::system_prompt_prepended ... ok [INFO] [stdout] test openai::openai_api::thinking_blocks_skipped ... ok [INFO] [stdout] test openai::openai_api::tool_result_converts ... ok [INFO] [stdout] test openai::openai_api::tools_convert_to_function_format ... ok [INFO] [stdout] test openai::openai_api::user_message_converts ... ok [INFO] [stdout] test openai::sse_parsing::done_marker_returns_empty ... ok [INFO] [stdout] test openai::sse_parsing::finish_reason_length_maps_to_max_tokens ... ok [INFO] [stdout] test openai::sse_parsing::content_delta_parses ... ok [INFO] [stdout] test openai::sse_parsing::finish_reason_stop_maps_to_end_turn ... ok [INFO] [stdout] test openai::sse_parsing::finish_reason_tool_calls_maps_to_tool_use ... ok [INFO] [stdout] test openai::sse_parsing::tool_call_start_emits_tool_use_start ... ok [INFO] [stdout] test provider_helpers::collect_text_empty_when_no_deltas ... ok [INFO] [stdout] test openai::sse_parsing::multiple_tool_calls_tracked_by_index ... ok [INFO] [stdout] test provider_helpers::collect_text_from_deltas ... ok [INFO] [stdout] test provider_helpers::collect_thinking_from_deltas ... ok [INFO] [stdout] test claude::sse_parsing::input_json_delta_parses ... ok [INFO] [stdout] test openai::sse_parsing::tool_call_continuation_emits_tool_use_input ... ok [INFO] [stdout] test provider_helpers::collect_tool_calls_assembles_from_events ... ok [INFO] [stdout] test provider_helpers::format_enum_deserializes_from_lowercase ... ok [INFO] [stdout] test provider_helpers::collect_thinking_none_when_no_deltas ... ok [INFO] [stdout] test provider_helpers::collect_tool_calls_keeps_raw_string_on_invalid_json ... ok [INFO] [stdout] test provider_helpers::format_enum_rejects_unknown ... ok [INFO] [stdout] test provider_helpers::collect_tool_calls_handles_multiple ... ok [INFO] [stdout] test types::tests::content_block_text_serializes ... ok [INFO] [stdout] test types::tests::content_text_helper ... ok [INFO] [stdout] test types::tests::file_incoming_indices_finds_correct_positions ... ok [INFO] [stdout] test types::tests::is_supported_image_accepts_valid_types ... ok [INFO] [stdout] test types::tests::message_round_trips ... ok [INFO] [stdout] test types::tests::file_incoming_round_trips ... ok [INFO] [stdout] test types::tests::plain_string_content_rejected ... ok [INFO] [stdout] test types::tests::image_round_trips ... ok [INFO] [stdout] test types::tests::stop_reason_from_str_lossy ... ok [INFO] [stdout] test types::tests::message_with_tool_calls_round_trips ... ok [INFO] [stdout] test types::tests::is_supported_image_rejects_non_images ... ok [INFO] [stdout] test types::tests::thinking_block_round_trips ... ok [INFO] [stdout] test types::tests::stop_reason_serializes_to_snake_case ... ok [INFO] [stdout] test types::tests::thinking_budget_tokens ... ok [INFO] [stdout] test types::tests::turn_request_omits_none_fields ... ok [INFO] [stdout] test claude::claude_api::file_incoming_panics_in_provider - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Doc-tests tightbeam_controller [INFO] [stdout] [INFO] [stderr] Doc-tests tightbeam_proto [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] [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 tightbeam_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] running `Command { std: "docker" "inspect" "57a9ca6f1a98585275a2728d8e1ccbd2dddd322999a1a960b72529311517c1bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57a9ca6f1a98585275a2728d8e1ccbd2dddd322999a1a960b72529311517c1bb", kill_on_drop: false }` [INFO] [stdout] 57a9ca6f1a98585275a2728d8e1ccbd2dddd322999a1a960b72529311517c1bb