[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