[INFO] fetching crate rpi-ai 0.3.13...
[INFO] testing rpi-ai-0.3.13 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate rpi-ai 0.3.13 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate rpi-ai 0.3.13
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rpi-ai 0.3.13
[INFO] tweaked toml for crates.io crate rpi-ai 0.3.13 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rpi-ai 0.3.13 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 rpi-ai 0.3.13 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2
[INFO] running `Command { std: "docker" "start" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", 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" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2" "/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" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", 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" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling clap_lex v1.1.1
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]    Compiling num-integer v0.1.47
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling uuid v1.26.1
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling fancy-regex v0.13.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling iso8601 v0.6.6
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling rpi-telemetry v0.3.13
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jsonschema v0.18.3
[INFO] [stderr]    Compiling rpi-ai v0.3.13 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `UNSUPPORTED_STRICT_SCHEMA_KEYS` is never used
[INFO] [stdout]   --> src/strict_schema.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const UNSUPPORTED_STRICT_SCHEMA_KEYS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object` is never used
[INFO] [stdout]   --> src/strict_schema.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn is_object(value: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_allows_null` is never used
[INFO] [stdout]   --> src/strict_schema.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn schema_allows_null(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_structured` is never used
[INFO] [stdout]   --> src/strict_schema.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_structured(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_json_schema` is never used
[INFO] [stdout]   --> src/strict_schema.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn make_strict_json_schema(schema: &Value) -> Result<Value, ()> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_node` is never used
[INFO] [stdout]   --> src/strict_schema.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn make_strict_node(schema: &mut Value) -> Result<(), ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strict_tool_parameters` is never used
[INFO] [stdout]    --> src/strict_schema.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(crate) fn strict_tool_parameters(tool: &Tool) -> Option<Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] running `Command { std: "docker" "inspect" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", 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" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rpi-ai v0.3.13 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `UNSUPPORTED_STRICT_SCHEMA_KEYS` is never used
[INFO] [stdout]   --> src/strict_schema.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const UNSUPPORTED_STRICT_SCHEMA_KEYS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object` is never used
[INFO] [stdout]   --> src/strict_schema.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn is_object(value: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_allows_null` is never used
[INFO] [stdout]   --> src/strict_schema.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn schema_allows_null(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_structured` is never used
[INFO] [stdout]   --> src/strict_schema.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_structured(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_json_schema` is never used
[INFO] [stdout]   --> src/strict_schema.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn make_strict_json_schema(schema: &Value) -> Result<Value, ()> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_node` is never used
[INFO] [stdout]   --> src/strict_schema.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn make_strict_node(schema: &mut Value) -> Result<(), ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strict_tool_parameters` is never used
[INFO] [stdout]    --> src/strict_schema.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(crate) fn strict_tool_parameters(tool: &Tool) -> Option<Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNSUPPORTED_STRICT_SCHEMA_KEYS` is never used
[INFO] [stdout]   --> src/strict_schema.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const UNSUPPORTED_STRICT_SCHEMA_KEYS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object` is never used
[INFO] [stdout]   --> src/strict_schema.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn is_object(value: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `schema_allows_null` is never used
[INFO] [stdout]   --> src/strict_schema.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn schema_allows_null(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_structured` is never used
[INFO] [stdout]   --> src/strict_schema.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_structured(schema: &Value) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_json_schema` is never used
[INFO] [stdout]   --> src/strict_schema.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn make_strict_json_schema(schema: &Value) -> Result<Value, ()> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_strict_node` is never used
[INFO] [stdout]   --> src/strict_schema.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn make_strict_node(schema: &mut Value) -> Result<(), ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strict_tool_parameters` is never used
[INFO] [stdout]    --> src/strict_schema.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(crate) fn strict_tool_parameters(tool: &Tool) -> Option<Value> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.36s
[INFO] running `Command { std: "docker" "inspect" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", 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" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: constant `UNSUPPORTED_STRICT_SCHEMA_KEYS` is never used
[INFO] [stderr]   --> src/strict_schema.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 | const UNSUPPORTED_STRICT_SCHEMA_KEYS: &[&str] = &[
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_object` is never used
[INFO] [stderr]   --> src/strict_schema.rs:35:4
[INFO] [stderr]    |
[INFO] [stderr] 35 | fn is_object(value: &Value) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `schema_allows_null` is never used
[INFO] [stderr]   --> src/strict_schema.rs:39:4
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn schema_allows_null(schema: &Value) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_structured` is never used
[INFO] [stderr]   --> src/strict_schema.rs:65:4
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn is_structured(schema: &Value) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_strict_json_schema` is never used
[INFO] [stderr]   --> src/strict_schema.rs:87:15
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub(crate) fn make_strict_json_schema(schema: &Value) -> Result<Value, ()> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_strict_node` is never used
[INFO] [stderr]   --> src/strict_schema.rs:96:4
[INFO] [stderr]    |
[INFO] [stderr] 96 | fn make_strict_node(schema: &mut Value) -> Result<(), ()> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `strict_tool_parameters` is never used
[INFO] [stderr]    --> src/strict_schema.rs:190:15
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub(crate) fn strict_tool_parameters(tool: &Tool) -> Option<Value> {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rpi-ai` (lib) generated 7 warnings
[INFO] [stderr] warning: `rpi-ai` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rpi-ai/3f0a134aae051ff5/out/rpi_ai-3f0a134aae051ff5)
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test constrained::tests::test_validate_json_schema_missing_type ... ok
[INFO] [stdout] test constrained::tests::test_validate_json_schema_not_object ... ok
[INFO] [stdout] test constrained::tests::test_grammar_constraint_regex ... ok
[INFO] [stdout] test constrained::tests::test_grammar_constraint_with_property ... ok
[INFO] [stdout] test constrained::tests::test_validate_json_schema_valid ... ok
[INFO] [stdout] test constrained::tests::test_validate_lark_grammar_empty ... ok
[INFO] [stdout] test constrained::tests::test_validate_lark_grammar_no_rules ... ok
[INFO] [stdout] test constrained::tests::test_validate_lark_grammar_unbalanced_braces ... ok
[INFO] [stdout] test constrained::tests::test_validate_lark_grammar_valid ... ok
[INFO] [stdout] test constrained::tests::test_validate_regex_invalid ... ok
[INFO] [stdout] test constrained::tests::test_validate_regex_valid ... ok
[INFO] [stdout] test event_stream::tests::drain_deltas_then_done ... ok
[INFO] [stdout] test event_stream::tests::error_path_resolves_to_error_message ... ok
[INFO] [stdout] test frames::tests::an_error_terminal_also_closes_the_encoder ... ok
[INFO] [stdout] test frames::tests::encoder_rejects_events_out_of_order ... ok
[INFO] [stdout] test frames::tests::deltas_already_covered_by_the_start_snapshot_are_not_replayed ... ok
[INFO] [stdout] test event_stream::tests::push_after_terminal_is_noop ... ok
[INFO] [stdout] test frames::tests::terminal_events_produce_no_frame_and_close_the_encoder ... ok
[INFO] [stdout] test frames::tests::reducer_rejects_a_corrupt_frame_sequence ... ok
[INFO] [stdout] test frames::tests::text_and_thinking_signatures_round_trip ... ok
[INFO] [stdout] test frames::tests::text_stream_round_trips ... ok
[INFO] [stdout] test frames::tests::thinking_then_text_round_trips ... ok
[INFO] [stdout] test frames::tests::tool_call_round_trips_both_ended_and_truncated ... ok
[INFO] [stdout] test json_parse::tests::close_truncated_array ... ok
[INFO] [stdout] test json_parse::tests::parse_streaming_json_garbage_is_object ... ok
[INFO] [stdout] test json_parse::tests::close_truncated_nested_with_trailing_comma ... ok
[INFO] [stdout] test frames::tests::truncated_stream_reduces_to_the_committed_partial ... ok
[INFO] [stdout] test json_parse::tests::parse_streaming_json_complete ... ok
[INFO] [stdout] test json_parse::tests::parse_streaming_json_truncated_object ... ok
[INFO] [stdout] test provider::tests::llm_api_timeout_defaults_to_ten_minutes ... ok
[INFO] [stdout] test provider::tests::llm_api_timeout_allows_override_and_none_uses_provider_fallback ... ok
[INFO] [stdout] test json_parse::tests::repair_trailing_backslash ... ok
[INFO] [stdout] test schema::tests::coerce_number_to_string ... ok
[INFO] [stdout] test schema::tests::coerce_string_integer_to_integer ... ok
[INFO] [stdout] test frames::tests::frames_survive_a_json_round_trip ... ok
[INFO] [stdout] test schema::tests::coerce_string_bool_to_boolean ... ok
[INFO] [stdout] test schema::tests::coerce_string_number_to_number ... ok
[INFO] [stdout] test schema::tests::normalize_optional_null_dropped ... ok
[INFO] [stdout] test schema::tests::rejects_uncoercible ... ok
[INFO] [stdout] test schema::tests::union_coerces_to_member ... ok
[INFO] [stdout] test schema::tests::union_keeps_valid_member ... ok
[INFO] [stdout] test schema::tests::validate_tool_call_missing_tool_errors ... ok
[INFO] [stdout] test schema::tests::validate_tool_call_finds_named_tool ... ok
[INFO] [stdout] test frames::tests::reducer_ignores_frames_before_start_and_reports_a_late_start ... ok
[INFO] [stderr]      Running tests/anthropic_smoke.rs (/opt/rustwide/target/debug/build/rpi-ai/6093371d20f05d41/out/anthropic_smoke-6093371d20f05d41)
[INFO] [stdout] test frames::tests::reducer_rejects_a_content_gap ... ok
[INFO] [stderr]      Running tests/coerce_table.rs (/opt/rustwide/target/debug/build/rpi-ai/a5074cd409775801/out/coerce_table-a5074cd409775801)
[INFO] [stdout] test json_parse::tests::parse_streaming_json_empty ... ok
[INFO] [stdout] test json_parse::tests::parse_streaming_json_repair_invalid_escape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[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] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test array_item_coercion ... ok
[INFO] [stdout] test null_to_boolean_is_false ... ok
[INFO] [stdout] test bool_to_string ... ok
[INFO] [stdout] test empty_string_to_null ... ok
[INFO] [stdout] test object_property_coercion ... ok
[INFO] [stdout] test number_one_to_boolean ... ok
[INFO] [stdout] test null_to_string_is_empty ... ok
[INFO] [stdout] test nested_object_array ... ok
[INFO] [stdout] test number_to_string ... ok
[INFO] [stdout] test string_to_integer ... ok
[INFO] [stdout] test null_to_number_is_zero ... ok
[INFO] [stdout] test optional_null_dropped_required_null_kept_or_coerced ... ok
[INFO] [stdout] test missing_required_rejected ... ok
[INFO] [stderr]      Running tests/event_stream.rs (/opt/rustwide/target/debug/build/rpi-ai/38fe8e7f3d0581d8/out/event_stream-38fe8e7f3d0581d8)
[INFO] [stdout] test string_to_number ... ok
[INFO] [stdout] test string_true_to_boolean ... ok
[INFO] [stdout] test validate_tool_call_missing_tool_errors ... ok
[INFO] [stdout] test uncoercible_value_rejected ... ok
[INFO] [stdout] test union_coerces_to_validating_member ... ok
[INFO] [stdout] test union_keeps_already_valid_member ... ok
[INFO] [stdout] test validate_tool_call_dispatches_to_named_tool ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test producer_close_yields_recv_error ... ok
[INFO] [stdout] test drain_deltas_then_done ... ok
[INFO] [stdout] test push_after_terminal_is_noop ... ok
[INFO] [stdout] test result_resolves_to_error_message ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/faux.rs (/opt/rustwide/target/debug/build/rpi-ai/b7aef9717b1022cc/out/faux-b7aef9717b1022cc)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test faux_model_carryover ... ok
[INFO] [stdout] test empty_queue_yields_error ... ok
[INFO] [stdout] test factory_step_sees_context ... ok
[INFO] [stdout] test text_reply_sequence_and_done ... ok
[INFO] [stdout] test tool_call_sequence_and_args_parse ... ok
[INFO] [stdout] test external_signal_aborts ... ok
[INFO] [stdout] test abort_yields_aborted_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rpi_ai
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/constrained.rs - constrained (line 26) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2", kill_on_drop: false }`
[INFO] [stdout] 17df6a7ce2e810579edb326b82b5e96ec5268a5a0e81d8ec4ccc1dbc03eb09f2
