[INFO] cloning repository https://github.com/nanogpt-community/nanocode-v2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nanogpt-community/nanocode-v2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnanogpt-community%2Fnanocode-v2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnanogpt-community%2Fnanocode-v2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2d0f3786cbebb705cbd4f6212b0aaf47d8d8590b
[INFO] testing nanogpt-community/nanocode-v2 against 1.98.0-beta.6+cargoflags=--release for beta-1.98-release-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnanogpt-community%2Fnanocode-v2" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nanogpt-community/nanocode-v2
[INFO] finished tweaking git repo https://github.com/nanogpt-community/nanocode-v2
[INFO] tweaked toml for git repo https://github.com/nanogpt-community/nanocode-v2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nanogpt-community/nanocode-v2 on toolchain 1.98.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nanogpt-community/nanocode-v2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1
[INFO] running `Command { std: "docker" "start" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", 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" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", 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" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling walkdir v2.5.0
[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 v0.1.44
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling bstr v1.12.3
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling platform v0.5.0 (/opt/rustwide/workdir/crates/platform)
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling ignore v0.4.28
[INFO] [stderr]    Compiling plugins v0.5.0 (/opt/rustwide/workdir/crates/plugins)
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling runtime v0.5.0 (/opt/rustwide/workdir/crates/runtime)
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling time v0.3.53
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling api v0.5.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling quick-xml v0.41.0
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling plist v1.10.0
[INFO] [stderr]    Compiling tools v0.5.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling commands v0.5.0 (/opt/rustwide/workdir/crates/commands)
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling rustyline v15.0.0
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling compat-harness v0.5.0 (/opt/rustwide/workdir/crates/compat-harness)
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling pebble v0.5.0 (/opt/rustwide/workdir/crates/pebble)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 59s
[INFO] running `Command { std: "docker" "inspect" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", 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" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling compat-harness v0.5.0 (/opt/rustwide/workdir/crates/compat-harness)
[INFO] [stderr]    Compiling tools v0.5.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stderr]    Compiling api v0.5.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stderr]    Compiling pebble v0.5.0 (/opt/rustwide/workdir/crates/pebble)
[INFO] [stderr]    Compiling commands v0.5.0 (/opt/rustwide/workdir/crates/commands)
[INFO] [stderr]    Compiling runtime v0.5.0 (/opt/rustwide/workdir/crates/runtime)
[INFO] [stderr]    Compiling plugins v0.5.0 (/opt/rustwide/workdir/crates/plugins)
[INFO] [stderr]    Compiling platform v0.5.0 (/opt/rustwide/workdir/crates/platform)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 04s
[INFO] running `Command { std: "docker" "inspect" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", 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" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/api-cd041e029bb7629a)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test client::tests::message_request_stream_helper_sets_stream_true ... ok
[INFO] [stdout] test client::tests::openai_codex_normalizes_object_schema_without_properties ... ok
[INFO] [stdout] test client::tests::api_timeout_defaults_and_rejects_invalid_values ... ok
[INFO] [stdout] test client::tests::openai_codex_request_uses_responses_shape ... ok
[INFO] [stdout] test client::tests::backoff_doubles_until_maximum ... ok
[INFO] [stdout] test client::tests::openai_codex_stream_events_assemble_message_response ... ok
[INFO] [stdout] test client::tests::request_id_uses_primary_or_fallback_header ... ok
[INFO] [stdout] test client::tests::retryable_statuses_are_detected ... ok
[INFO] [stdout] test client::tests::read_api_key_requires_presence ... ok
[INFO] [stdout] test client::tests::tool_delta_variant_round_trips ... ok
[INFO] [stdout] test client::tests::read_api_key_requires_non_empty_value ... ok
[INFO] [stdout] test sse::tests::ignores_data_less_event_frames ... ok
[INFO] [stdout] test sse::tests::ignores_ping_and_done ... ok
[INFO] [stdout] test sse::tests::parses_single_frame ... ok
[INFO] [stdout] test sse::tests::parses_chunked_stream ... ok
[INFO] [stdout] test sse::tests::surfaces_stream_error_envelopes ... ok
[INFO] [stdout] test types::tests::models_response_accepts_numeric_cost_estimate_and_additive_fields ... ok
[INFO] [stdout] test client::tests::read_api_key_uses_pebble_credentials_file ... ok
[INFO] [stdout] test client::tests::read_base_url_defaults_to_nanogpt_messages_api_root ... ok
[INFO] [stdout] test client::tests::resolve_openai_codex_credentials_reads_credentials_file ... ok
[INFO] [stderr]      Running tests/client_integration.rs (/opt/rustwide/target/release/deps/client_integration-1d5f2b5f133d72cb)
[INFO] [stdout] test sse::tests::parses_split_json_across_data_lines ... ok
[INFO] [stdout] test client::tests::read_api_key_uses_nanogpt_env ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test live_stream_smoke_test ... ignored, requires NANOGPT_API_KEY and network access
[INFO] [stdout] test image_content_blocks_serialize_with_base64_source ... ok
[INFO] [stdout] test openai_compatible_streams_text_tools_usage_and_vision_payloads ... ok
[INFO] [stdout] test openai_compatible_providers_use_chat_completions_and_bearer_auth ... ok
[INFO] [stdout] test fetch_models_parses_live_nanogpt_catalog_shape ... ok
[INFO] [stdout] test send_message_posts_json_and_parses_response ... ok
[INFO] [stdout] test opencode_go_chat_models_translate_messages_to_chat_completions ... ok
[INFO] [stdout] test provider_override_forces_paygo_headers ... ok
[INFO] [stdout] test stream_message_surfaces_nanogpt_error_events ... ok
[INFO] [stdout] test opencode_go_stream_message_emits_buffered_content_blocks ... ok
[INFO] [stdout] test stream_message_parses_sse_events_with_tool_use ... ok
[INFO] [stdout] test surfaces_retry_exhaustion_for_persistent_retryable_errors ... ok
[INFO] [stdout] test retries_retryable_failures_before_succeeding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/commands-6ce509fbdefccb17)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::help_command_is_non_mutating ... ok
[INFO] [stdout] test tests::ignores_unknown_or_runtime_bound_slash_commands ... ok
[INFO] [stdout] test tests::parses_supported_slash_commands ... ok
[INFO] [stdout] test tests::compacts_sessions_via_slash_command ... ok
[INFO] [stdout] test tests::renders_help_from_shared_specs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/compat_harness-247fe648b47507d0)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::detects_known_upstream_command_symbols ... ok
[INFO] [stdout] test tests::detects_known_upstream_tool_symbols ... ok
[INFO] [stdout] test tests::extracts_non_empty_manifests_from_upstream_repo ... ok
[INFO] [stdout] test tests::categorizes_eval_failures ... ok
[INFO] [stdout] test tests::categorizes_sequence_and_permission_failures ... ok
[INFO] [stdout] test tests::evaluates_tool_sequence_and_permission_outcomes ... ok
[INFO] [stdout] test tests::evaluates_trace_against_basic_case_constraints ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/pebble-5b6697c66718a522)
[INFO] [stdout] 
[INFO] [stdout] running 179 tests
[INFO] [stdout] test app::tests::convert_messages_drops_dangling_tool_use_blocks ... ok
[INFO] [stdout] test app::tests::bash_tui_preview_truncates_large_stdout ... ok
[INFO] [stdout] test app::tests::convert_messages_drops_orphan_tool_results ... ok
[INFO] [stdout] test app::tests::archives_report_lists_archived_tool_results ... ok
[INFO] [stdout] test app::tests::archives_report_shows_archived_tool_result_contents ... ok
[INFO] [stdout] test app::tests::convert_messages_preserves_reasoning_for_opencode_go_assistant_messages ... ok
[INFO] [stdout] test app::tests::converts_tool_roundtrip_messages ... ok
[INFO] [stdout] test app::tests::custom_command_templates_expand_arguments ... ok
[INFO] [stdout] test app::tests::does_not_retry_proxy_when_tool_call_is_already_present ... ok
[INFO] [stdout] test app::tests::filtered_tool_specs_respect_allowlist ... ok
[INFO] [stdout] test app::tests::convert_messages_expands_user_text_image_refs ... ok
[INFO] [stdout] test app::tests::ci_step_artifact_writes_stdout_and_stderr ... ok
[INFO] [stdout] test app::tests::archives_report_saves_archived_tool_result_to_requested_path ... ok
[INFO] [stdout] test app::tests::load_eval_suite_accepts_document_shape ... ok
[INFO] [stdout] test app::tests::defaults_to_repl_when_no_args ... ok
[INFO] [stdout] test app::tests::export_includes_archived_tool_summary_and_commands ... ok
[INFO] [stdout] test app::tests::load_eval_report_defaults_missing_schema_version_to_legacy ... ok
[INFO] [stdout] test app::tests::gc_prunes_generated_artifacts_by_count ... ok
[INFO] [stdout] test app::tests::non_stream_response_preserves_empty_object_tool_input ... ok
[INFO] [stdout] test app::tests::normalize_generated_pebble_md_prefers_embedded_pebble_heading ... ok
[INFO] [stdout] test app::tests::normalize_generated_pebble_md_adds_heading_when_missing ... ok
[INFO] [stdout] test app::tests::load_turn_trace_redacts_legacy_secret_preview ... ok
[INFO] [stdout] test app::tests::parses_auth_slash_command ... ok
[INFO] [stdout] test app::tests::parses_bypass_as_danger_full_access ... ok
[INFO] [stdout] test app::tests::parses_checksum_manifest_for_named_asset ... ok
[INFO] [stdout] test app::tests::load_turn_trace_reads_saved_json ... ok
[INFO] [stdout] test app::tests::captures_trace_into_eval_suite_with_sequence_and_permissions ... ok
[INFO] [stdout] test app::tests::diagnostics_bundle_writes_redacted_summary_files ... ok
[INFO] [stdout] test app::tests::loads_custom_commands_from_config_and_command_dir ... ok
[INFO] [stdout] test app::tests::parses_allowed_tools_flags_with_aliases_and_lists ... ok
[INFO] [stdout] test app::tests::parses_bare_prompt_with_json_output_flag ... ok
[INFO] [stdout] test app::tests::parses_ci_as_check_by_default ... ok
[INFO] [stdout] test app::tests::parses_ci_check_json_output ... ok
[INFO] [stdout] test app::tests::parses_ci_check_subcommand ... ok
[INFO] [stdout] test app::tests::parses_dash_p_prompt_shorthand ... ok
[INFO] [stdout] test app::tests::parses_ci_history_with_limit_and_json_output ... ok
[INFO] [stdout] test app::tests::parses_config_check_subcommand ... ok
[INFO] [stdout] test app::tests::parses_ci_check_save_report ... ok
[INFO] [stdout] test app::tests::parses_debug_commands_with_json_output_flags ... ok
[INFO] [stdout] test app::tests::parses_doctor_bundle_subcommand ... ok
[INFO] [stdout] test app::tests::parses_eval_capture_subcommand ... ok
[INFO] [stdout] test app::tests::parses_eval_check_and_fail_gate_options ... ok
[INFO] [stdout] test app::tests::parses_eval_compare_subcommand ... ok
[INFO] [stdout] test app::tests::parses_eval_history_subcommand_with_filters ... ok
[INFO] [stdout] test app::tests::parses_eval_replay_subcommand ... ok
[INFO] [stdout] test app::tests::parses_eval_subcommand_with_runtime_flags ... ok
[INFO] [stdout] test app::tests::parses_gc_subcommand ... ok
[INFO] [stdout] test app::tests::parses_inline_proxy_arg_fragment_for_tool_execution ... ok
[INFO] [stdout] test app::tests::parses_login_subcommand ... ok
[INFO] [stdout] test app::tests::parses_logout_slash_command ... ok
[INFO] [stdout] test app::tests::parses_logout_subcommand ... ok
[INFO] [stdout] test app::tests::parses_mcp_slash_command ... ok
[INFO] [stdout] test app::tests::parses_mcp_subcommand ... ok
[INFO] [stdout] test app::tests::parses_model_slash_command ... ok
[INFO] [stdout] test app::tests::parses_model_subcommand ... ok
[INFO] [stdout] test app::tests::parses_permission_mode_flag ... ok
[INFO] [stdout] test app::tests::parses_print_flag_as_text_output ... ok
[INFO] [stdout] test app::tests::parses_prompt_subcommand ... ok
[INFO] [stdout] test app::tests::parses_provider_diagnostics_json_subcommand ... ok
[INFO] [stdout] test app::tests::parses_provider_slash_command ... ok
[INFO] [stdout] test app::tests::parses_provider_subcommand ... ok
[INFO] [stdout] test app::tests::parses_proxy_slash_command ... ok
[INFO] [stdout] test app::tests::parses_proxy_subcommand ... ok
[INFO] [stdout] test app::tests::parses_release_check_json_save_report ... ok
[INFO] [stdout] test app::tests::parses_replay_subcommand ... ok
[INFO] [stdout] test app::tests::parses_resume_flag_with_multiple_slash_commands ... ok
[INFO] [stdout] test app::tests::parses_resume_flag_with_slash_command ... ok
[INFO] [stdout] test app::tests::parses_resume_without_path_as_picker_action ... ok
[INFO] [stdout] test app::tests::parses_self_update_subcommand ... ok
[INFO] [stdout] test app::tests::parses_system_prompt_options ... ok
[INFO] [stdout] test app::tests::parses_trace_subcommand ... ok
[INFO] [stdout] test app::tests::parses_version_flag ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_embeds_at_image_refs ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_embeds_directory_refs ... ok
[INFO] [stdout] test app::tests::permission_env_overrides_persisted_runtime_default ... ok
[INFO] [stdout] test app::tests::permission_preview_shows_file_diff_for_write ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_embeds_markdown_image_refs ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_embeds_text_file_refs ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_keeps_text_only_prompt ... ok
[INFO] [stdout] test app::tests::prompt_to_content_blocks_rejects_unsupported_formats ... ok
[INFO] [stdout] test app::tests::proxy_message_responses_preserve_native_tool_calls ... ok
[INFO] [stdout] test app::tests::proxy_write_file_xml_is_not_rendered_to_tui ... ok
[INFO] [stdout] test app::tests::read_file_tui_preview_is_compact ... ok
[INFO] [stdout] test app::tests::recovers_json_object_from_noisy_proxy_input ... ok
[INFO] [stdout] test app::tests::rebuilds_and_renders_eval_history_with_deltas ... ok
[INFO] [stdout] test app::tests::rejects_unknown_allowed_tools ... ok
[INFO] [stdout] test app::tests::rejects_unknown_options_instead_of_sending_them_to_the_model ... ok
[INFO] [stdout] test app::tests::renders_eval_compare_report_with_regressions_and_fixes ... ok
[INFO] [stdout] test app::tests::renders_config_check_report_with_field_paths ... ok
[INFO] [stdout] test app::tests::removes_saved_credentials_for_selected_service ... ok
[INFO] [stdout] test app::tests::renders_eval_replay_report_with_trace_timeline ... ok
[INFO] [stdout] test app::tests::renders_replay_report_as_ordered_timeline ... ok
[INFO] [stdout] test app::tests::renders_session_timeline_with_message_previews ... ok
[INFO] [stdout] test app::tests::renders_trace_report_with_api_tool_and_permission_summary ... ok
[INFO] [stdout] test app::tests::resolves_known_pebble_model_aliases ... ok
[INFO] [stdout] test app::tests::retries_proxy_when_reply_only_narrates_tool_intent ... ok
[INFO] [stdout] test app::tests::select_release_assets_requires_checksum_file ... ok
[INFO] [stdout] test app::tests::response_to_events_ignores_redacted_thinking_blocks ... ok
[INFO] [stdout] test app::tests::stale_empty_secret_submit_is_ignored_briefly ... ok
[INFO] [stdout] test app::tests::status_report_includes_runtime_health ... ok
[INFO] [stdout] test app::tests::streaming_tool_use_defers_empty_object_until_json_deltas_arrive ... ok
[INFO] [stdout] test app::tests::strip_markdown_code_fence_removes_wrapping_block ... ok
[INFO] [stdout] test app::tests::streamed_tool_call_start_renders_after_accumulation ... ok
[INFO] [stdout] test app::tests::runtime_client_constructor_defers_api_key_lookup ... ok
[INFO] [stdout] test app::tests::suggested_eval_shell_quotes_paths_and_names ... ok
[INFO] [stdout] test app::tests::synthetic_login_guidance_explains_active_model_mismatch ... ok
[INFO] [stdout] test app::tests::trims_trailing_line_endings_from_pasted_secret ... ok
[INFO] [stdout] test app::tests::tuned_web_tool_descriptions_push_search_and_scrape_workflow ... ok
[INFO] [stdout] test app::tests::turn_snapshot_stacks_are_bounded ... ok
[INFO] [stdout] test app::tests::update_report_includes_changelog_when_present ... ok
[INFO] [stdout] test app::tests::web_tools_status_mentions_auth_and_tool_availability ... ok
[INFO] [stdout] test app::tests::turn_snapshots_record_file_tool_outputs_without_git ... ok
[INFO] [stdout] test golden_tests::golden_mcp_tool_specs_match_committed_output ... ok
[INFO] [stdout] test golden_tests::golden_context_window_percentages_match_committed_output ... ok
[INFO] [stdout] test golden_tests::golden_tool_previews_match_committed_output ... ok
[INFO] [stdout] test golden_tests::golden_trace_reports_match_committed_output ... ok
[INFO] [stdout] test grok_acp::tests::cancels_a_running_acp_prompt_after_a_streamed_chunk ... ok
[INFO] [stdout] test input::tests::completes_contextual_slash_commands_with_arguments ... ok
[INFO] [stdout] test input::tests::completes_matching_slash_commands ... ok
[INFO] [stdout] test init::tests::renders_pebble_md_header ... ok
[INFO] [stdout] test input::tests::extracts_only_terminal_slash_command_prefixes ... ok
[INFO] [stdout] test input::tests::fallback_input_reads_full_multiline_payload ... ok
[INFO] [stdout] test input::tests::fallback_input_returns_none_for_empty_stdin ... ok
[INFO] [stdout] test input::tests::fallback_input_trims_final_crlf_without_touching_internal_newlines ... ok
[INFO] [stdout] test input::tests::handle_submission_does_not_intercept_plain_input ... ok
[INFO] [stdout] test input::tests::history_skips_inline_credentials ... ok
[INFO] [stdout] test input::tests::ignores_non_slash_command_completion_requests ... ok
[INFO] [stdout] test input::tests::push_history_ignores_blank_entries ... ok
[INFO] [stdout] test input::tests::paste_safe_mode_reads_env_flag ... ok
[INFO] [stdout] test models::tests::caches_max_output_tokens_from_catalog_models ... ok
[INFO] [stdout] test models::tests::defaults_openai_context_length_to_256k ... ok
[INFO] [stdout] test models::tests::caches_context_length_from_catalog_models ... ok
[INFO] [stdout] test models::tests::infers_opencode_go_service_from_model_prefix ... ok
[INFO] [stdout] test models::tests::openai_codex_fallback_catalog_has_default_context_length ... ok
[INFO] [stdout] test models::tests::parses_and_deduplicates_official_grok_model_output ... ok
[INFO] [stdout] test models::tests::resolves_human_provider_names_and_aliases ... ok
[INFO] [stdout] test models::tests::toggles_favorite_membership ... ok
[INFO] [stdout] test models::tests::truncates_unicode_without_using_character_counts_as_byte_offsets ... ok
[INFO] [stdout] test provider_diagnostics::tests::classifies_auth_failures_without_exposing_credentials ... ok
[INFO] [stdout] test provider_diagnostics::tests::truncates_provider_errors ... ok
[INFO] [stdout] test models::tests::searches_models_across_providers_by_name_id_or_category ... ok
[INFO] [stdout] test proxy::tests::converts_session_messages_to_proxy_text ... ok
[INFO] [stdout] test proxy::tests::ignores_assistant_emitted_tool_result_blocks ... ok
[INFO] [stdout] test proxy::tests::ignores_orphan_arg_closers_inside_tool_call_body ... ok
[INFO] [stdout] test init::tests::initialize_repo_writes_custom_pebble_md ... ok
[INFO] [stdout] test proxy::tests::ignores_orphan_non_arg_closers_inside_tool_call_body ... ok
[INFO] [stdout] test proxy::tests::parses_proxy_command_values ... ok
[INFO] [stdout] test proxy::tests::parses_direct_tool_tag_blocks_into_tool_use_segments ... ok
[INFO] [stdout] test proxy::tests::parses_proxy_tool_call_blocks_into_tool_use_segments ... ok
[INFO] [stdout] test proxy::tests::recovers_multiple_tool_calls_when_separator_noise_replaces_close_tag ... ok
[INFO] [stdout] test proxy::tests::recovers_multiple_tool_calls_with_unicode_close_tag ... ok
[INFO] [stdout] test proxy::tests::recovers_tool_call_when_closing_tag_has_extra_characters ... ok
[INFO] [stdout] test proxy::tests::recovers_tool_call_when_closing_tag_has_named_suffix ... ok
[INFO] [stdout] test proxy::tests::recovers_tool_call_when_closing_tag_is_missing_final_bracket ... ok
[INFO] [stdout] test proxy::tests::recovers_tool_call_with_orphan_non_arg_closer_and_missing_tool_close ... ok
[INFO] [stdout] test proxy::tests::recovers_tool_call_when_closing_tag_uses_slash_before_bracket ... ok
[INFO] [stdout] test proxy::tests::renders_compacted_tool_results_as_placeholder ... ok
[INFO] [stdout] test proxy::tests::treats_unterminated_tool_call_blocks_as_plain_text ... ok
[INFO] [stdout] test proxy::tests::renders_proxy_tool_protocol_prompt ... ok
[INFO] [stdout] test init::tests::initialize_repo_creates_pebble_artifacts ... ok
[INFO] [stdout] test render::tests::renders_markdown_with_styling_and_lists ... ok
[INFO] [stdout] test render::tests::renders_ordered_and_nested_lists ... ok
[INFO] [stdout] test render::tests::renders_tables_with_alignment ... ok
[INFO] [stdout] test runtime_client::grok_stream_tests::renders_role_delimited_grok_prompt ... ok
[INFO] [stdout] test runtime_client::grok_stream_tests::streams_plain_text_but_never_proxy_markup ... ok
[INFO] [stdout] test tests::identifies_only_broken_pipe_panics ... ok
[INFO] [stdout] test ui::tests::clicolor_force_enables_color_for_redirected_output ... ok
[INFO] [stdout] test ui::tests::format_compact_tokens_scales ... ok
[INFO] [stdout] test ui::tests::panel_contains_title_and_rows ... ok
[INFO] [stdout] test ui::tests::tool_call_header_includes_icon_and_name ... ok
[INFO] [stdout] test ui::tests::visible_width_strips_ansi ... ok
[INFO] [stdout] test ui::tests::welcome_banner_mentions_core_fields ... ok
[INFO] [stdout] test ui::tests::plain_terminal_conventions_disable_color ... ok
[INFO] [stdout] test render::tests::highlights_fenced_code_blocks ... ok
[INFO] [stdout] test render::tests::streaming_state_waits_for_complete_blocks ... ok
[INFO] [stdout] test app::tests::turn_snapshots_record_messages_and_git_file_changes ... ok
[INFO] [stdout] test app::tests::uses_persisted_runtime_defaults_for_new_repl ... ok
[INFO] [stdout] test app::tests::system_prompt_includes_web_research_guidance ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/platform-5a91ecbaf16eb29f)
[INFO] [stdout] test grok_acp::tests::streams_acp_chunks_without_putting_prompts_in_process_arguments ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 179 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::falls_back_to_homedrive_and_homepath ... ok
[INFO] [stdout] test tests::falls_back_to_userprofile ... ok
[INFO] [stdout] test tests::prefers_explicit_config_home ... ok
[INFO] [stdout] test tests::atomic_write_preserves_existing_file_permissions ... ok
[INFO] [stdout] test tests::atomic_write_creates_parent_dirs_and_replaces_file ... ok
[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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/plugins-b6360be6305a1e3b)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::can_load_bundled_plugins_from_configured_root ... ok
[INFO] [stdout] test tests::list_installed_plugins_scans_install_root_without_registry_entries ... ok
[INFO] [stdout] test tests::aggregates_hooks_and_tools ... ok
[INFO] [stdout] test tests::hook_runner_supports_registry_hooks ... ok
[INFO] [stdout] test tests::plugin_tool_executes ... ok
[INFO] [stdout] test tests::installed_plugin_discovery_prunes_stale_registry_and_enabled_state ... ok
[INFO] [stdout] test tests::installs_lists_and_updates_plugins ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/runtime-8bb7b7803d6e6a0a)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 138 tests
[INFO] [stdout] test compact::tests::compacts_more_than_fixed_recent_window_when_needed ... ok
[INFO] [stdout] test compact::tests::compacts_older_messages_into_a_system_summary ... ok
[INFO] [stdout] test compact::tests::does_not_compact_when_only_preserved_recent_messages_remain ... ok
[INFO] [stdout] test bash::tests::bash_timeout_defaults_and_rejects_invalid_values ... ok
[INFO] [stdout] test compact::tests::compacts_all_non_summary_messages_when_recent_tail_alone_is_too_large ... ok
[INFO] [stdout] test compact::tests::formats_compact_summary_like_upstream ... ok
[INFO] [stdout] test compact::tests::extracts_key_files_from_message_content ... ok
[INFO] [stdout] test compact::tests::ignores_existing_compacted_summary_when_deciding_to_recompact ... ok
[INFO] [stdout] test compact::tests::infers_pending_work_from_recent_messages ... ok
[INFO] [stdout] test compact::tests::does_not_persist_compacted_summaries_as_project_memory ... ok
[INFO] [stdout] test compact::tests::keeps_previous_compacted_context_when_compacting_again ... ok
[INFO] [stdout] test compact::tests::uses_placeholder_for_compacted_tool_result_context ... ok
[INFO] [stdout] test config::tests::config_check_maps_merged_field_errors_to_source_file ... ok
[INFO] [stdout] test config::tests::config_check_reports_json_shape_errors_with_file_path ... ok
[INFO] [stdout] test config::tests::parses_compaction_config ... ok
[INFO] [stdout] test config::tests::parses_disabled_mcp_server_flag ... ok
[INFO] [stdout] test config::tests::parses_retention_config ... ok
[INFO] [stdout] test config::tests::parses_sandbox_config ... ok
[INFO] [stdout] test config::tests::parses_typed_mcp_and_oauth_config ... ok
[INFO] [stdout] test config::tests::loads_and_merges_pebble_config_files_by_precedence ... ok
[INFO] [stdout] test config::tests::parses_plugin_config ... ok
[INFO] [stdout] test config::tests::rejects_invalid_mcp_server_shapes ... ok
[INFO] [stdout] test compact::tests::prunes_old_tool_results_before_full_compaction ... ok
[INFO] [stdout] test conversation::tests::auto_compaction_threshold_defaults_and_parses_values ... ok
[INFO] [stdout] test config::tests::rejects_non_object_settings_files ... ok
[INFO] [stdout] test bash::tests::executes_simple_command ... ok
[INFO] [stdout] test conversation::tests::auto_compacts_when_turn_input_threshold_is_crossed ... ok
[INFO] [stdout] test conversation::tests::compacts_session_after_turns ... ok
[INFO] [stdout] test conversation::tests::max_turn_iterations_defaults_and_rejects_invalid_values ... ok
[INFO] [stdout] test conversation::tests::preflight_compacts_before_sending_oversized_request ... ok
[INFO] [stdout] test conversation::tests::reconstructs_usage_tracker_from_restored_session ... ok
[INFO] [stdout] test bash::tests::disables_sandbox_when_requested ... ok
[INFO] [stdout] test conversation::tests::retries_after_context_length_exceeded_by_compacting_session ... ok
[INFO] [stdout] test conversation::tests::records_denied_tool_results_when_prompt_rejects ... ok
[INFO] [stdout] test conversation::tests::runs_user_to_tool_to_result_loop_end_to_end_and_tracks_usage ... ok
[INFO] [stdout] test conversation::tests::skips_auto_compaction_below_threshold ... ok
[INFO] [stdout] test conversation::tests::stops_runaway_tool_loops_at_the_turn_limit ... ok
[INFO] [stdout] test conversation::tests::preflight_prunes_old_tool_results_before_full_compaction ... ok
[INFO] [stdout] test bash::tests::times_out_foreground_commands ... ok
[INFO] [stdout] test file_ops::tests::applies_patch_fixture_with_quoted_space_path ... ok
[INFO] [stdout] test file_ops::tests::applies_openai_style_patch_and_rejects_unsafe_paths ... ok
[INFO] [stdout] test conversation::tests::cancellation_reaches_an_in_flight_model_request ... ok
[INFO] [stdout] test file_ops::tests::applies_unified_patch_with_dry_run ... ok
[INFO] [stdout] test conversation::tests::cancellation_reaches_an_in_flight_tool ... ok
[INFO] [stdout] test conversation::tests::denies_tool_use_when_pre_tool_hook_blocks ... ok
[INFO] [stdout] test conversation::tests::runs_post_tool_use_failure_hook_for_tool_errors ... ok
[INFO] [stdout] test conversation::tests::appends_post_tool_hook_feedback_to_tool_result ... ok
[INFO] [stdout] test file_ops::tests::broad_search_skips_repo_state_hidden_dirs_and_gitignored_files ... ok
[INFO] [stdout] test file_ops::tests::creates_missing_files_inside_workspace ... ok
[INFO] [stdout] test file_ops::tests::edits_file_contents_inside_workspace ... ok
[INFO] [stdout] test file_ops::tests::explicit_search_paths_can_target_default_skipped_directories ... ok
[INFO] [stdout] test file_ops::tests::rejects_binary_patch_and_binary_target_with_clear_errors ... ok
[INFO] [stdout] test file_ops::tests::globs_and_greps_directory ... ok
[INFO] [stdout] test file_ops::tests::rejects_patch_context_mismatch_without_writing ... ok
[INFO] [stdout] test file_ops::tests::grep_count_and_files_with_matches_apply_file_limits ... ok
[INFO] [stdout] test file_ops::tests::grep_rejects_unknown_output_mode ... ok
[INFO] [stdout] test file_ops::tests::preserves_crlf_and_no_final_newline ... ok
[INFO] [stdout] test file_ops::tests::reads_and_writes_files_inside_workspace ... ok
[INFO] [stdout] test file_ops::tests::rejects_absolute_paths_outside_workspace ... ok
[INFO] [stdout] test file_ops::tests::rejects_parent_directory_escape ... ok
[INFO] [stdout] test hooks::tests::allows_exit_code_zero_and_captures_stdout ... ok
[INFO] [stdout] test file_ops::tests::grep_content_offset_counts_files_from_returned_lines ... ok
[INFO] [stdout] test json::tests::escapes_control_characters ... ok
[INFO] [stdout] test file_ops::tests::rejects_patch_targets_that_escape_through_symlink ... ok
[INFO] [stdout] test file_ops::tests::rejects_symlink_escape_for_native_file_tools ... ok
[INFO] [stdout] test mcp::tests::computes_signatures_for_stdio_and_remote_servers ... ok
[INFO] [stdout] test mcp::tests::normalizes_server_names_for_mcp_tooling ... ok
[INFO] [stdout] test mcp::tests::scoped_hash_ignores_scope_but_tracks_config_content ... ok
[INFO] [stdout] test mcp::tests::unwraps_ccr_proxy_urls_for_signature_matching ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_remote_servers_with_oauth_auth ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_stdio_servers_into_transport_targets ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_websocket_and_sdk_transports_without_oauth ... ok
[INFO] [stdout] test json::tests::renders_and_parses_json_values ... ok
[INFO] [stdout] test mcp_stdio::tests::direct_spawn_uses_transport_env ... ok
[INFO] [stdout] test hooks::tests::denies_exit_code_two ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_records_unsupported_non_stdio_servers_without_panicking ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_reports_unknown_qualified_tool_name ... ok
[INFO] [stdout] test hooks::tests::parses_pre_hook_permission_override_and_updated_input ... ok
[INFO] [stdout] test hooks::tests::supports_post_tool_use_failure_hooks ... ok
[INFO] [stdout] test hooks::tests::warns_for_other_non_zero_statuses ... ok
[INFO] [stdout] test mcp_stdio::tests::rejects_non_stdio_bootstrap ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_reuses_spawned_server_between_discovery_and_call ... ok
[INFO] [stdout] test mcp_stdio::tests::spawns_stdio_process_and_round_trips_io ... ok
[INFO] [stdout] test mcp_stdio::tests::reads_content_length_framed_jsonrpc_response_for_compatibility ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_discovers_tools_from_stdio_config ... ok
[INFO] [stdout] test oauth::tests::builds_authorize_url_and_form_requests ... ok
[INFO] [stdout] test oauth::tests::generates_pkce_pair_and_state ... ok
[INFO] [stdout] test oauth::tests::s256_challenge_matches_expected_vector ... ok
[INFO] [stdout] test permissions::tests::allows_tools_when_active_mode_meets_requirement ... ok
[INFO] [stdout] test permissions::tests::denies_read_only_escalations_without_prompt ... ok
[INFO] [stdout] test permissions::tests::honors_prompt_rejection_reason ... ok
[INFO] [stdout] test permissions::tests::hook_allow_override_skips_normal_escalation ... ok
[INFO] [stdout] test permissions::tests::hook_deny_override_returns_hook_reason ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_shutdown_terminates_spawned_children_and_is_idempotent ... ok
[INFO] [stdout] test prompt::tests::custom_model_family_overrides_default_frontier_name ... ok
[INFO] [stdout] test permissions::tests::prompts_for_workspace_write_to_danger_full_access_escalation ... ok
[INFO] [stdout] test mcp_stdio::tests::lists_tools_calls_tool_and_reads_resources_over_jsonrpc ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_routes_tool_calls_to_correct_server ... ok
[INFO] [stdout] test prompt::tests::dedupes_identical_instruction_content_across_scopes ... ok
[INFO] [stdout] test mcp_stdio::tests::round_trips_initialize_request_and_response_over_stdio_lines ... ok
[INFO] [stdout] test prompt::tests::discovers_instruction_files_from_ancestor_chain ... ok
[INFO] [stdout] test prompt::tests::discovers_claude_instruction_compat_files ... ok
[INFO] [stdout] test prompt::tests::displays_context_paths_compactly ... ok
[INFO] [stdout] test prompt::tests::discovers_rust_workspace_repository_context_and_checks ... ok
[INFO] [stdout] test prompt::tests::normalizes_and_collapses_blank_lines ... ok
[INFO] [stdout] test prompt::tests::project_memory_has_a_smaller_independent_prompt_budget ... ok
[INFO] [stdout] test prompt::tests::renders_instruction_file_metadata ... ok
[INFO] [stdout] test prompt::tests::renders_pebble_style_sections_with_project_context ... ok
[INFO] [stdout] test prompt::tests::discovers_project_memory_files_from_ancestor_chain ... ok
[INFO] [stdout] test prompt::tests::truncates_instruction_content_to_budget ... ok
[INFO] [stdout] test prompt::tests::truncates_large_instruction_content_for_rendering ... ok
[INFO] [stdout] test prompt::tests::windows_prompt_prefers_powershell ... ok
[INFO] [stdout] test mcp_stdio::tests::surfaces_jsonrpc_errors_from_tool_calls ... ok
[INFO] [stdout] test remote::tests::helper_outputs_match_expected_shapes ... ok
[INFO] [stdout] test remote::tests::inherited_proxy_env_requires_proxy_and_ca ... ok
[INFO] [stdout] test remote::tests::remote_context_reads_env_state ... ok
[INFO] [stdout] test mcp_stdio::tests::write_jsonrpc_request_emits_newline_delimited_json ... ok
[INFO] [stdout] test sandbox::tests::builds_linux_launcher_with_network_flag_when_requested ... ok
[INFO] [stdout] test remote::tests::token_reader_trims_and_handles_missing_files ... ok
[INFO] [stdout] test remote::tests::bootstrap_fails_open_when_token_or_session_is_missing ... ok
[INFO] [stdout] test sandbox::tests::resolves_request_with_overrides ... ok
[INFO] [stdout] test trace::tests::missing_turn_trace_schema_version_defaults_to_legacy ... ok
[INFO] [stdout] test remote::tests::bootstrap_derives_proxy_state_and_env ... ok
[INFO] [stdout] test trace::tests::new_turn_traces_use_current_schema_version ... ok
[INFO] [stdout] test trace::tests::payload_summary_redacts_common_secret_shapes ... ok
[INFO] [stdout] test trace::tests::redacts_authorization_headers_and_jwts ... ok
[INFO] [stdout] test trace::tests::turn_trace_redacts_error_fields ... ok
[INFO] [stdout] test usage::tests::computes_cost_summary_lines ... ok
[INFO] [stdout] test usage::tests::marks_unknown_model_pricing_as_fallback ... ok
[INFO] [stdout] test usage::tests::reconstructs_usage_from_session_messages ... ok
[INFO] [stdout] test usage::tests::supports_model_specific_pricing ... ok
[INFO] [stdout] test usage::tests::tracks_true_cumulative_usage ... ok
[INFO] [stdout] test prompt::tests::renders_repository_overview_and_recommended_checks ... ok
[INFO] [stdout] test sandbox::tests::detects_container_markers_from_multiple_sources ... ok
[INFO] [stdout] test prompt::tests::load_system_prompt_reads_pebble_files_and_config ... ok
[INFO] [stdout] test session::tests::persists_and_restores_session_json ... ok
[INFO] [stdout] test prompt::tests::discover_with_git_includes_status_snapshot ... ok
[INFO] [stdout] test hooks::tests::supports_abort_signal_and_progress_reporting ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 138 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/tools-edbebf9353e7038b)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test tests::exposes_mvp_tools ... ok
[INFO] [stdout] test tests::notebook_edit_rejects_invalid_inputs ... ok
[INFO] [stdout] test tests::brief_returns_sent_message_and_attachment_metadata ... ok
[INFO] [stdout] test tests::notebook_edit_replaces_inserts_and_deletes_cells ... ok
[INFO] [stdout] test tests::bash_tool_reports_success_exit_failure_timeout_and_background ... ok
[INFO] [stdout] test tests::rejects_unknown_tool_names ... ok
[INFO] [stdout] test tests::repl_enforces_timeout_ms ... ok
[INFO] [stdout] test tests::agent_executes_child_conversation_and_persists_results ... ok
[INFO] [stdout] test tests::config_reads_and_writes_supported_values ... ok
[INFO] [stdout] test tests::file_tools_cover_read_write_and_edit_behaviors ... ok
[INFO] [stdout] test tests::structured_output_echoes_input_payload ... ok
[INFO] [stdout] test tests::glob_and_grep_tools_cover_success_and_errors ... ok
[INFO] [stdout] test tests::agent_rejects_blank_required_fields_and_enforces_max_depth ... ok
[INFO] [stdout] test tests::powershell_errors_when_shell_is_missing ... ok
[INFO] [stdout] test tests::skill_loads_local_skill_prompt ... ok
[INFO] [stdout] test tests::tool_search_supports_keyword_and_select_queries ... ok
[INFO] [stdout] test tests::tool_timeout_defaults_and_rejects_invalid_values ... ok
[INFO] [stdout] test tests::sleep_waits_and_reports_duration ... ok
[INFO] [stdout] test tests::todo_write_persists_and_returns_previous_state ... ok
[INFO] [stdout] test tests::web_scrape_rejects_invalid_urls_and_too_many_inputs ... ok
[INFO] [stdout] test tests::todo_write_persists_markdown_in_pebble_directory ... ok
[INFO] [stdout] test tests::repl_executes_python_code ... ok
[INFO] [stdout] test tests::web_fetch_supports_plain_text_and_rejects_invalid_url ... ok
[INFO] [stdout] test tests::web_fetch_returns_prompt_aware_summary ... ok
[INFO] [stdout] test tests::powershell_runs_via_stub_shell ... ok
[INFO] [stdout] test tests::todo_write_rejects_invalid_payloads_and_sets_verification_nudge ... ok
[INFO] [stdout] test tests::web_scrape_uses_nanogpt_api_and_returns_scraped_markdown ... ok
[INFO] [stdout] test tests::web_search_handles_sourced_answer_payloads_and_invalid_base_url ... ok
[INFO] [stdout] test tests::web_search_uses_nanogpt_api_and_maps_domains ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests api
[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 commands
[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 compat_harness
[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 platform
[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 plugins
[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 runtime
[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 tools
[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" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1", kill_on_drop: false }`
[INFO] [stdout] 1bc844ef4d10bac535ff736d2f4ca7ac73b1a3b2ea501722d6c31a327fa01ea1
