[INFO] fetching crate neith 0.1.0...
[INFO] testing neith-0.1.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate neith 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate neith 0.1.0
[INFO] finished tweaking crates.io crate neith 0.1.0
[INFO] tweaked toml for crates.io crate neith 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate neith 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate neith 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 | homepage = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 | repository = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |              -----------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `neith` (manifest) generated 1 warning
[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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca
[INFO] running `Command { std: "docker" "start" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", 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" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", 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" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 | homepage = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 | repository = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |              -----------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `neith` (manifest) generated 1 warning
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling aws-lc-rs v1.16.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling aws-lc-sys v0.38.0
[INFO] [stderr]    Compiling libz-sys v1.1.25
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling inotify v0.11.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling streamdown-ansi v0.1.4
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling fancy-regex v0.16.2
[INFO] [stderr]    Compiling streamdown-core v0.1.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling streamdown-parser v0.1.4
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling notify-debouncer-mini v0.7.0
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling tokio-rusqlite v0.6.0
[INFO] [stderr]    Compiling neith v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 9m 32s
[INFO] running `Command { std: "docker" "inspect" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", 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" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 | homepage = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 | repository = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |              -----------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `neith` (manifest) generated 1 warning
[INFO] [stderr]    Compiling neith v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 40.68s
[INFO] running `Command { std: "docker" "inspect" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", 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" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 | homepage = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 | repository = "https://github.com/truevoid-development/neith"
[INFO] [stderr]     |              -----------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `neith` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/neith/492b8d389cfe12cb/out/neith-492b8d389cfe12cb)
[INFO] [stdout] 
[INFO] [stdout] running 331 tests
[INFO] [stdout] test app::agent::registry::tests::test_cancel_all_clears_state_and_cancels_tokens ... ok
[INFO] [stdout] test app::agent::registry::tests::test_drain_phases_returns_all_and_clears ... ok
[INFO] [stdout] test app::agent::registry::tests::test_route_after_agent_removed_returns_false ... ok
[INFO] [stdout] test app::agent::registry::tests::test_active_count_decremented_after_remove ... ok
[INFO] [stdout] test app::agent::registry::tests::test_remove_cleans_up_tool_call_owner ... ok
[INFO] [stdout] test app::agent::registry::tests::test_child_cancel_token_unknown_agent ... ok
[INFO] [stdout] test app::context::candidates::tests::gather_caps_at_max_candidates ... ok
[INFO] [stdout] test app::context::candidates::tests::gather_excludes_done_work_items ... ok
[INFO] [stdout] test app::context::candidates::tests::gather_includes_active_work_items ... ok
[INFO] [stdout] test app::context::budget::tests::essential_tier_respects_budget_cap ... ok
[INFO] [stdout] test app::agent::registry::tests::test_complete_phase_removes_id ... ok
[INFO] [stdout] test app::context::candidates::tests::diamond_graph_produces_no_duplicate_candidates ... ok
[INFO] [stdout] test app::context::budget::tests::supplementary_tier_gets_nodes ... ok
[INFO] [stdout] test app::agent::registry::tests::test_route_unknown_tool_returns_false ... ok
[INFO] [stdout] test app::context::error_context::tests::test_returns_section_with_error_message ... ok
[INFO] [stdout] test app::context::error_context::tests::test_returns_none_without_errors ... ok
[INFO] [stdout] test app::context::error_context::tests::test_returns_none_after_cleanup ... ok
[INFO] [stdout] test app::context::policies::task_execution::tests::build_context_handles_orphan_task_without_panic ... ok
[INFO] [stdout] test app::context::policies::conversational::tests::test_plain_assistant_produces_text_content ... ok
[INFO] [stdout] test app::context::policies::conversational::tests::test_running_tool_call_excluded_from_messages ... ok
[INFO] [stdout] test app::context::policies::message_builder::tests::only_completed_and_failed_tool_calls_appear_in_output ... ok
[INFO] [stdout] test app::context::policies::conversational::tests::test_user_message_preserved ... ok
[INFO] [stdout] test app::context::policies::conversational::tests::test_completed_tool_call_included_in_messages ... ok
[INFO] [stdout] test app::context::policies::conversational::tests::test_system_directive_goes_to_system_prompt ... ok
[INFO] [stdout] test app::context::policies::task_execution::tests::build_context_plan_section_scoped_to_parent ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_finalize_truncates_when_over_budget ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_finalize_passthrough_when_under_budget ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_composes_all_passes ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_finalize_sanitizes_after_truncation ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_tool_pairing_orphaned_result ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_tool_pairing_mixed_blocks ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_drops_leading_assistant ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_drops_orphaned_tool_result_at_front ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_drops_trailing_tool_use_assistant ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_keeps_trailing_text_assistant ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_pass2_exposes_orphaned_tool_result ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_tool_pairing_keeps_valid_pairs ... ok
[INFO] [stdout] test app::context::scoring::tests::old_node_still_scored_not_excluded ... ok
[INFO] [stdout] test app::context::selector::tests::parse_selection_empty_selected_falls_back ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_truncate_ratio_near_one_preserves_messages ... ok
[INFO] [stdout] test app::context::scoring::tests::distant_edge_scores_lower_than_responds_to ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_sanitize_tool_pairing_orphaned_use ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_tool_pairing_creates_boundary_violation_caught_by_rerun ... ok
[INFO] [stdout] test app::context::sanitize::tests::test_truncate_extreme_ratio_leaves_at_least_one ... ok
[INFO] [stdout] test app::context::selector::tests::parse_selection_extracts_valid_ids ... ok
[INFO] [stdout] test app::context::selector::tests::refine_stream_error_falls_back ... ok
[INFO] [stdout] test app::context::selector::tests::parse_selection_no_json_falls_back ... ok
[INFO] [stdout] test app::context::selector::tests::parse_selection_unknown_ids_filtered ... ok
[INFO] [stdout] test app::context::selector::tests::render_summaries_maps_short_ids ... ok
[INFO] [stdout] test app::plan::context::tests::test_build_plan_section_renders_depends_on ... ok
[INFO] [stdout] test app::plan::context::tests::test_build_plan_section_renders_hierarchy ... ok
[INFO] [stdout] test app::plan::effects::tests::test_add_task_creates_work_item_with_subtask_edge ... ok
[INFO] [stdout] test app::plan::effects::tests::test_add_dependency_creates_depends_on_edge ... ok
[INFO] [stdout] test app::plan::effects::tests::test_add_dependency_with_cycle_returns_error ... ok
[INFO] [stdout] test app::plan::effects::tests::test_add_task_with_nonexistent_parent_returns_error ... ok
[INFO] [stdout] test app::plan::effects::tests::test_moderate_confidence_stays_active_and_proposes ... ok
[INFO] [stdout] test app::plan::effects::tests::test_update_work_item_nonexistent_returns_error ... ok
[INFO] [stdout] test app::qa::context::tests::test_qa_section_excludes_answered_questions ... ok
[INFO] [stdout] test app::plan::effects::tests::test_high_confidence_auto_accepts_done ... ok
[INFO] [stdout] test app::plan::effects::tests::test_plan_creates_work_item_with_relevant_to_edge ... ok
[INFO] [stdout] test app::qa::context::tests::test_qa_section_excludes_other_agents_questions ... ok
[INFO] [stdout] test app::plan::effects::tests::test_update_work_item_changes_description ... ok
[INFO] [stdout] test app::plan::effects::tests::test_update_work_item_changes_status ... ok
[INFO] [stdout] test app::qa::context::tests::test_qa_section_shows_claimed_questions_for_agent ... ok
[INFO] [stdout] test app::qa::effects::tests::test_ask_with_invalid_about_skips_edge ... ok
[INFO] [stdout] test app::think_splitter::tests::leading_whitespace_without_think_block_stripped ... ok
[INFO] [stdout] test app::think_splitter::tests::multiple_think_blocks ... ok
[INFO] [stdout] test app::think_splitter::tests::multibyte_chars_dont_panic ... ok
[INFO] [stdout] test app::think_splitter::tests::no_think_tags ... ok
[INFO] [stdout] test app::qa::effects::tests::test_answer_fails_for_unclaimed_question ... ok
[INFO] [stdout] test app::qa::effects::tests::test_ask_creates_question_with_asks_edge ... ok
[INFO] [stdout] test app::qa::effects::tests::test_ask_with_about_creates_about_edge ... ok
[INFO] [stdout] test app::think_splitter::tests::is_thinking_state ... ok
[INFO] [stdout] test app::think_splitter::tests::leading_newline_after_think_block_stripped ... ok
[INFO] [stdout] test app::qa::effects::tests::test_answer_creates_answer_node ... ok
[INFO] [stdout] test config::tests::test_api_key_falls_back_to_api_key ... ok
[INFO] [stdout] test config::tests::test_api_key_prefers_auth_token_over_api_key ... ok
[INFO] [stdout] test graph::coordination_tests::test_open_questions_excludes_terminal_states ... ok
[INFO] [stdout] test graph::coordination_tests::test_release_claim_makes_unclaimed ... ok
[INFO] [stdout] test app::think_splitter::tests::think_block_across_chunks ... ok
[INFO] [stdout] test graph::event_tests::test_add_message_emits_message_added ... ok
[INFO] [stdout] test graph::event_tests::test_no_panic_when_bus_absent ... ok
[INFO] [stdout] test app::think_splitter::tests::unclosed_think_block ... ok
[INFO] [stdout] test config::tests::context_selection_mode_deserializes ... ok
[INFO] [stdout] test config::tests::default_config_values_correct ... ok
[INFO] [stdout] test config::tests::test_api_key_missing_both_returns_err ... ok
[INFO] [stdout] test app::think_splitter::tests::single_think_block ... ok
[INFO] [stdout] test graph::history_tests::test_node_history_returns_chronological_order ... ok
[INFO] [stdout] test graph::event_tests::test_question_status_change_emits_event ... ok
[INFO] [stdout] test graph::history_tests::test_history_survives_serde_roundtrip ... ok
[INFO] [stdout] test graph::mutation_tests::test_add_tool_call_captures_pending_snapshot ... ok
[INFO] [stdout] test graph::coordination_tests::test_try_claim_prevents_double_claim ... ok
[INFO] [stdout] test graph::history_tests::test_node_history_empty_for_unversioned ... ok
[INFO] [stdout] test graph::mutation_tests::test_background_task_snapshot_preserves_old_description ... ok
[INFO] [stdout] test graph::event_tests::test_claim_emits_node_claimed ... ok
[INFO] [stdout] test graph::mutation_tests::test_remove_nodes_cleans_history ... ok
[INFO] [stdout] test graph::mutation_tests::test_transition_running_tasks_creates_per_node_snapshots ... ok
[INFO] [stdout] test graph::node::node_tests::test_content_entity_variants ... ok
[INFO] [stdout] test graph::node::node_tests::test_content_message_like_variants ... ok
[INFO] [stdout] test graph::mutation_tests::test_children_of_returns_subtask_children ... ok
[INFO] [stdout] test graph::mutation_tests::test_propagate_status_cascades_through_three_levels ... ok
[INFO] [stdout] test graph::mutation_tests::test_propagate_status_completes_parent_when_all_children_done ... ok
[INFO] [stdout] test graph::node::node_tests::test_content_tool_call_returns_tool_name ... ok
[INFO] [stdout] test graph::node::node_tests::test_input_tokens_none_for_non_message ... ok
[INFO] [stdout] test graph::node::node_tests::test_created_at_git_file_uses_updated_at ... ok
[INFO] [stdout] test graph::node::node_tests::test_role_display ... ok
[INFO] [stdout] test graph::node::node_tests::test_output_tokens_none_for_non_message ... ok
[INFO] [stdout] test graph::node::node_tests::test_stop_reason_and_is_truncated ... ok
[INFO] [stdout] test graph::node::node_tests::test_model_none_for_non_message ... ok
[INFO] [stdout] test graph::node::node_tests::test_stop_reason_from_api_all_values ... ok
[INFO] [stdout] test graph::question_tests::test_add_answer_requires_claimed_state ... ok
[INFO] [stdout] test graph::question_tests::test_add_answer_transitions_to_answered ... ok
[INFO] [stdout] test graph::question_tests::test_question_status_valid_transitions ... ok
[INFO] [stdout] test graph::question_tests::test_release_all_claims_clears_edges ... ok
[INFO] [stdout] test graph::tests::forked_reply_chains_maintain_independent_paths ... ok
[INFO] [stdout] test graph::tests::test_add_message_and_history ... ok
[INFO] [stdout] test graph::tests::test_add_reply_does_not_update_branch ... ok
[INFO] [stdout] test graph::question_tests::test_add_answer_with_approval_transitions_to_pending_approval ... ok
[INFO] [stdout] test graph::tests::test_add_node_without_edges ... ok
[INFO] [stdout] test graph::tests::test_new_creates_root_and_main_branch ... ok
[INFO] [stdout] test graph::question_tests::test_try_claim_prevents_double_claim ... ok
[INFO] [stdout] test graph::tests::test_remove_nodes_by ... ok
[INFO] [stdout] test graph::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test graph::tests::test_typed_edges ... ok
[INFO] [stdout] test graph::tests::test_reply_children_survives_serialization ... ok
[INFO] [stdout] test graph::tests::test_think_block_not_in_history ... ok
[INFO] [stdout] test graph::tests::test_update_background_task_status ... ok
[INFO] [stdout] test graph::tool::args_tests::test_blocks_only_images_text_content_empty ... ok
[INFO] [stdout] test graph::tool::args_tests::test_has_images_false_for_text_only_blocks ... ok
[INFO] [stdout] test graph::tool::args_tests::test_empty_blocks_char_len_zero ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_mismatched_fields ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_tagless_list_directory ... ok
[INFO] [stdout] test graph::tests::test_reply_children_index_built_on_add_reply ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_tagless_search_files ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_tagless_read_file ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_tagless_write_file ... ok
[INFO] [stdout] test graph::tool::args_tests::test_parse_tool_arguments_unknown_tool ... ok
[INFO] [stdout] test graph::tool::args_tests::test_tool_call_arguments_tagged_union_serde ... ok
[INFO] [stdout] test graph::tool::args_tests::test_tool_result_content_char_len ... ok
[INFO] [stdout] test graph::tool::args_tests::test_to_input_json_strips_tag ... ok
[INFO] [stdout] test graph::tool::args_tests::test_tool_result_content_text_serde_roundtrip ... ok
[INFO] [stdout] test graph::tool::name_tests::test_display_summary_unknown_short_no_ellipsis ... ok
[INFO] [stdout] test graph::tool::name_tests::test_display_summary_unknown_truncates ... ok
[INFO] [stdout] test graph::tool::args_tests::test_tool_result_content_backward_compat_v2 ... ok
[INFO] [stdout] test graph::tool::args_tests::test_tool_result_content_blocks_serde_roundtrip ... ok
[INFO] [stdout] test graph::tool::name_tests::test_parse_tool_arguments_invalid_json_falls_back ... ok
[INFO] [stdout] test graph::tool::name_tests::test_parse_tool_arguments_valid_plan ... ok
[INFO] [stdout] test graph::tool::name_tests::test_tool_name_round_trip_all_variants ... ok
[INFO] [stdout] test graph::tool::types_tests::test_tool_call_provenance_chain_query ... ok
[INFO] [stdout] test graph::tool::name_tests::test_tool_name_from_str_unknown_returns_none ... ok
[INFO] [stdout] test graph::tool::types_tests::test_invoked_edge_rebuilds_runtime_index ... ok
[INFO] [stdout] test graph::tool::types_tests::test_tool_call_serde_roundtrip ... ok
[INFO] [stdout] test graph::tool::types_tests::test_update_tool_call_status ... ok
[INFO] [stdout] test graph::tool::types_tests::test_tool_result_linked_to_tool_call ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_message_delta_captures_output_tokens ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_error_event ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_ping_ignored ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_message_start_captures_input_tokens ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_message_stop_includes_input_tokens ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_text_delta ... ok
[INFO] [stdout] test llm::anthropic::tests::test_real_api_call ... ok
[INFO] [stdout] test llm::anthropic::tests::test_parse_tool_use_sse_events ... ok
[INFO] [stdout] test llm::error::tests::from_response_400_is_bad_request ... ok
[INFO] [stdout] test llm::error::tests::from_response_401_is_not_retryable ... ok
[INFO] [stdout] test llm::error::tests::from_response_500_is_retryable_without_retry_after ... ok
[INFO] [stdout] test llm::error::tests::from_response_truncates_long_body ... ok
[INFO] [stdout] test llm::error::tests::from_response_529_overloaded ... ok
[INFO] [stdout] test llm::error::tests::from_response_falls_back_to_raw_body ... ok
[INFO] [stdout] test llm::retry::tests::backoff_delay_increases_exponentially ... ok
[INFO] [stdout] test llm::error::tests::from_response_429_extracts_retry_after ... ok
[INFO] [stdout] test llm::retry::tests::backoff_respects_retry_after ... ok
[INFO] [stdout] test llm::retry::tests::succeeds_on_first_attempt ... ok
[INFO] [stdout] test llm::retry::tests::stops_immediately_on_non_retryable_error ... ok
[INFO] [stdout] test llm::tests::test_mock_provider_streams_configured_chunks ... ok
[INFO] [stdout] test llm::tests::test_mock_provider_returns_fixed_token_count ... ok
[INFO] [stdout] test llm::tool_types_tests::test_chat_content_blocks_serde_roundtrip ... ok
[INFO] [stdout] test llm::tool_types_tests::test_chat_content_char_len_blocks_mixed ... ok
[INFO] [stdout] test llm::tool_types_tests::test_chat_content_char_len_empty ... ok
[INFO] [stdout] test llm::tool_types_tests::test_chat_content_char_len_text ... ok
[INFO] [stdout] test llm::tool_types_tests::test_tool_definition_serializes_to_api_schema ... ok
[INFO] [stdout] test migration::tests::test_detect_version_v1_no_field ... ok
[INFO] [stdout] test migration::tests::test_detect_version_v2 ... ok
[INFO] [stdout] test migration::tests::test_detect_version_v3 ... ok
[INFO] [stdout] test migration::tests::test_to_versioned_json_includes_version ... ok
[INFO] [stdout] test llm::tool_types_tests::test_chat_message_text_backward_compat ... ok
[INFO] [stdout] test migration::tests::test_v1_migration_roundtrip ... ok
[INFO] [stdout] test migration::tests::test_v3_load_no_migration ... ok
[INFO] [stdout] test migration::tests::test_v2_to_v3_migration ... ok
[INFO] [stdout] test persistence::tests::test_blocks_content_persistence_roundtrip ... ok
[INFO] [stdout] test llm::retry::tests::actual_retry_takes_nonzero_time ... ok
[INFO] [stdout] test persistence::tests::test_list_conversations ... ok
[INFO] [stdout] test persistence::tests::test_tool_call_persistence_roundtrip ... ok
[INFO] [stdout] test persistence::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test persistence::tests::test_load_nonexistent_errors ... ok
[INFO] [stdout] test tasks::tests::test_display_building_context ... ok
[INFO] [stdout] test tasks::tests::test_display_connecting_first_attempt ... ok
[INFO] [stdout] test tasks::tests::test_display_connecting_retry ... ok
[INFO] [stdout] test tasks::tests::test_display_counting_tokens ... ok
[INFO] [stdout] test tasks::tests::test_display_executing_tools ... ok
[INFO] [stdout] test tasks::tests::test_display_receiving ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_apply_config_set_mutates_config ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_config_key_from_str_rejects_invalid ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_config_key_round_trip_all_variants ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_set_empty_value_returns_error ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_set_max_tokens_rejects_over_limit ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_set_max_tokens_rejects_zero ... ok
[INFO] [stdout] test tool_executor::execute_tests::test_set_valid_value_succeeds ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_add_dependency_not_error ... ok
[INFO] [stdout] test storage::tests::empty_db_returns_zero_totals ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_answer_includes_question_id ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_add_task_includes_title ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_ask_includes_question ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_plan_includes_title ... ok
[INFO] [stdout] test tool_executor::plan_qa_tests::test_execute_update_work_item_not_error ... ok
[INFO] [stdout] test tool_executor::tests::test_execute_unknown_tool_returns_error ... ok
[INFO] [stdout] test tool_executor::tests::test_execute_plan_returns_success ... ok
[INFO] [stdout] test llm::retry::tests::retries_on_retryable_error_then_succeeds ... ok
[INFO] [stdout] test tool_executor::tests::test_list_directory_rejects_escape ... ok
[INFO] [stdout] test tool_executor::tests::test_list_directory_recursive_descends ... FAILED
[INFO] [stdout] test llm::retry::tests::exhausts_max_attempts ... ok
[INFO] [stdout] test tool_executor::tests::test_read_file_nonexistent_returns_error ... ok
[INFO] [stdout] test tool_executor::tests::test_read_file_returns_contents ... FAILED
[INFO] [stdout] test tool_executor::tests::test_list_directory_shows_files_and_dirs ... FAILED
[INFO] [stdout] test tool_executor::tests::test_registered_tools_includes_read_file ... ok
[INFO] [stdout] test tool_executor::tests::test_search_files_invalid_regex_returns_error ... ok
[INFO] [stdout] test tool_executor::tests::test_search_files_finds_matches ... FAILED
[INFO] [stdout] test tool_executor::tests::test_read_file_rejects_path_outside_cwd ... ok
[INFO] [stdout] test tool_executor::tests::test_search_files_rejects_escape ... ok
[INFO] [stdout] test tool_executor::tests::test_search_files_respects_max_results ... FAILED
[INFO] [stdout] test tool_executor::tests::test_spawn_execution_sends_completion ... FAILED
[INFO] [stdout] test tool_executor::tests::test_search_files_skips_binary ... FAILED
[INFO] [stdout] test tool_executor::tests::test_write_file_overwrites_existing ... FAILED
[INFO] [stdout] test tool_executor::tests::test_write_file_creates_parent_dirs ... FAILED
[INFO] [stdout] test tool_executor::tests::test_write_file_creates_and_writes ... FAILED
[INFO] [stdout] test tools::tests::test_parse_triggers_finds_plan ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_ignores_unknown ... ok
[INFO] [stdout] test tool_executor::tests::test_write_file_rejects_oversized ... FAILED
[INFO] [stdout] test tool_executor::tests::test_write_file_rejects_escape ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_no_args_ignored ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_no_triggers ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_mid_word_ignored ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_multiple ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_planning_not_matched ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_read_file ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_set ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_with_leading_whitespace ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_ask_llm ... ok
[INFO] [stdout] test tools::tests::test_parse_triggers_plan_with_punctuation ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_ask_user ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_plan ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_read_file ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_set_splits_key_value ... ok
[INFO] [stdout] test tools::tests::test_parse_user_trigger_args_unknown_tool ... ok
[INFO] [stdout] test tui::animated_scroll::tests::apply_max_clamps_both ... ok
[INFO] [stdout] test tui::animated_scroll::tests::rapid_scroll_accumulates_target ... ok
[INFO] [stdout] test tui::animated_scroll::tests::scroll_by_clamps_to_max ... ok
[INFO] [stdout] test tui::animated_scroll::tests::scroll_by_clamps_to_zero ... ok
[INFO] [stdout] test tui::animated_scroll::tests::scroll_by_resolves_sentinel_before_arithmetic ... ok
[INFO] [stdout] test tui::animated_scroll::tests::snap_bypasses_animation ... ok
[INFO] [stdout] test tui::animated_scroll::tests::sentinel_resolves_on_apply_max ... ok
[INFO] [stdout] test tui::animated_scroll::tests::tick_converges_downward ... ok
[INFO] [stdout] test tui::animated_scroll::tests::tick_converges_upward ... ok
[INFO] [stdout] test tui::animated_scroll::tests::zero_starts_at_origin ... ok
[INFO] [stdout] test tui::event_handler::tests::agent_finished_clears_streaming_id ... ok
[INFO] [stdout] test tui::event_handler::tests::agent_finished_preserves_status_when_others_active ... ok
[INFO] [stdout] test tui::event_handler::tests::message_added_user_resets_auto_scroll ... ok
[INFO] [stdout] test tui::event_handler::tests::question_answered_clears_pending_text ... ok
[INFO] [stdout] test tui::event_handler::tests::question_routed_sets_pending_text ... ok
[INFO] [stdout] test tui::event_handler::tests::question_timed_out_clears_pending_text ... ok
[INFO] [stdout] test tui::event_handler::tests::stream_delta_sets_streaming_phase ... ok
[INFO] [stdout] test tui::event_handler::tests::token_totals_updated_sets_targets ... ok
[INFO] [stdout] test tui::input::buffer::tests::delete_forward_at_end_is_noop ... ok
[INFO] [stdout] test tui::input::buffer::tests::empty_buffer_operations_are_safe ... ok
[INFO] [stdout] test tui::input::buffer::tests::insert_at_multibyte_boundary ... ok
[INFO] [stdout] test tui::input::buffer::tests::kill_to_end_at_line_boundary_kills_newline ... ok
[INFO] [stdout] test tui::input::buffer::tests::kill_to_start_on_second_line ... ok
[INFO] [stdout] test tui::input::buffer::tests::kill_word_at_line_start_crosses_newline ... ok
[INFO] [stdout] test tui::input::buffer::tests::move_word_forward_crosses_newline ... ok
[INFO] [stdout] test tui::input::buffer::tests::move_word_stops_at_boundaries ... ok
[INFO] [stdout] test tui::input::buffer::tests::visual_line_count_trailing_newline ... ok
[INFO] [stdout] test tui::input::buffer::tests::visual_line_count_wraps_long_line ... ok
[INFO] [stdout] test tui::input::buffer::tests::word_backward_skips_whitespace_then_word ... ok
[INFO] [stdout] test tui::input::buffer::tests::yank_inserts_last_killed_text ... ok
[INFO] [stdout] test tui::input::cursor::tests::cursor_at_newline_char ... ok
[INFO] [stdout] test tui::input::cursor::tests::cursor_at_start_returns_zero_zero ... ok
[INFO] [stdout] test tui::input::cursor::tests::cursor_on_second_line ... ok
[INFO] [stdout] test storage::tests::record_and_query_totals ... ok
[INFO] [stdout] test tui::reveal_tests::advance_reveal_catches_up_within_expected_ticks ... ok
[INFO] [stdout] test tui::reveal_tests::advance_reveal_noop_when_caught_up ... ok
[INFO] [stdout] test tui::token_usage_tests::tick_converges_to_target ... ok
[INFO] [stdout] test tui::token_usage_tests::tick_noop_when_at_target ... ok
[INFO] [stdout] test tui::token_usage_tests::token_usage_animating_reflects_children ... ok
[INFO] [stdout] test tui::ui::tests::format_boundaries ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::apply_reveal_fade_frontier_is_dimmest ... ok
[INFO] [stdout] test graph::mutation_tests::test_record_api_error_creates_node_and_edge ... ok
[INFO] [stdout] test graph::mutation_tests::test_tool_call_status_change_captures_snapshot ... ok
[INFO] [stdout] test graph::question_tests::test_question_cannot_skip_claimed ... ok
[INFO] [stdout] test tool_executor::tests::test_read_file_truncates_large_files ... FAILED
[INFO] [stdout] test tools::tests::test_parse_triggers_plan_at_eof_no_newline ... ok
[INFO] [stdout] test tui::animated_scroll::tests::three_quarter_step_easing ... ok
[INFO] [stdout] test tui::reveal_tests::advance_reveal_instant_for_small_pending ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::apply_reveal_fade_handles_multibyte_chars ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::compute_styled_height_wraps_long_lines ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::dim_style_preserves_hue_and_reduces_brightness ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::scroll_indicator_empty_when_max_zero ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::dim_style_handles_default_foreground ... ok
[INFO] [stdout] test tui::widgets::display_helpers_tests::apply_reveal_fade_splits_span_at_boundary ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::empty_content_produces_empty_text ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::bold_in_heading ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::heading_renders_with_prefix ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::bold_wrapped_code_has_both_styles ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::code_between_bold_spans_inherits_bold ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::list_item_renders_bullet ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::plain_text_renders ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::inline_code_in_list_item ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::bold_in_list_item ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_format_duration_minutes ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::inline_code_has_background ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::bold_in_blockquote ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_role_color_user_vs_assistant ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_role_label_all_variants ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_short_model_name_strips_claude_prefix ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::bold_text_has_bold_modifier ... ok
[INFO] [stdout] test tui::widgets::table::tests::bold_code_in_table_cell ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_format_duration_seconds ... ok
[INFO] [stdout] test tui::widgets::table::tests::table_row_renders_bold ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_format_duration_sub_second ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::single_tilde_stripped_by_parser ... ok
[INFO] [stdout] test tui::widgets::message_style::tests::test_metadata_string_with_tokens ... ok
[INFO] [stdout] test tui::widgets::markdown::tests::think_blocks_are_skipped ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin neith`
[INFO] [stdout] test tui::widgets::markdown::tests::code_block_renders ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_list_directory_recursive_descends stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_list_directory_recursive_descends' (5268) panicked at src/tool_executor/tests.rs:234:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpNTedaV", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdbaa8d - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_list_directory_recursive_descends::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc7d2e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_list_directory_recursive_descends::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_read_file_returns_contents stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_read_file_returns_contents' (5276) panicked at src/tool_executor/tests.rs:16:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpdHJSl2", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb6f18 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_read_file_returns_contents::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc6e0e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_read_file_returns_contents::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_list_directory_shows_files_and_dirs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_list_directory_shows_files_and_dirs' (5271) panicked at src/tool_executor/tests.rs:199:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpElhWUB", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdbbc0b - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_list_directory_shows_files_and_dirs::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc82ae - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_list_directory_shows_files_and_dirs::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_search_files_finds_matches stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_search_files_finds_matches' (5279) panicked at src/tool_executor/tests.rs:256:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpDYFb7Z", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb74c0 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_finds_matches::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc6f6e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_finds_matches::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_search_files_respects_max_results stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_search_files_respects_max_results' (5284) panicked at src/tool_executor/tests.rs:315:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmp9icXOO", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdbb0f3 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_respects_max_results::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc7e8e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_respects_max_results::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_spawn_execution_sends_completion stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_spawn_execution_sends_completion' (5286) panicked at src/tool_executor/tests.rs:70:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpu9VeWI", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdba39f - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_spawn_execution_sends_completion::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc7bce - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_spawn_execution_sends_completion::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_search_files_skips_binary stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_search_files_skips_binary' (5285) panicked at src/tool_executor/tests.rs:292:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpHNtAv8", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb6609 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_skips_binary::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc6b4e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_search_files_skips_binary::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_write_file_overwrites_existing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_write_file_overwrites_existing' (5289) panicked at src/tool_executor/tests.rs:168:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpVyDyM2", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb9434 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_overwrites_existing::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc790e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_overwrites_existing::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_write_file_creates_parent_dirs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_write_file_creates_parent_dirs' (5288) panicked at src/tool_executor/tests.rs:139:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpmfHfXF", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb8eae - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_creates_parent_dirs::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc77ae - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_creates_parent_dirs::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_write_file_creates_and_writes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_write_file_creates_and_writes' (5287) panicked at src/tool_executor/tests.rs:123:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpCH2G6X", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb88e7 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_creates_and_writes::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc764e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_creates_and_writes::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_write_file_rejects_oversized stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_write_file_rejects_oversized' (5291) panicked at src/tool_executor/tests.rs:183:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpe9RBFO", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb8133 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_rejects_oversized::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc738e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_write_file_rejects_oversized::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tool_executor::tests::test_read_file_truncates_large_files stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tool_executor::tests::test_read_file_truncates_large_files' (5277) panicked at src/tool_executor/tests.rs:52:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpG4qcyo", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d82ad610241 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d82ad628aba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d82ad6154cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d82ad5e73e6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d82ad605c89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d82ad026090 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d82ad605fb2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d82ad5e7492 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d82ad5df789 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d82ad5e848d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d82ad62929c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d82ad629072 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5d82acdb9bb5 - neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_read_file_truncates_large_files::{closure#0}
[INFO] [stdout]   13:     0x5d82acd900fb - <tokio[34fdbc515ce3a5c8]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   14:     0x5d82ace5dc42 - <tokio[34fdbc515ce3a5c8]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x5d82acdc7a6e - <neith[2c5ac4f1888f5c8a]::tool_executor::tests::test_read_file_truncates_large_files::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x5d82ad0194db - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x5d82ad0266b5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x5d82ad01ffa4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x5d82ad029742 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x5d82ad60eddf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7778735fadfa - <unknown>
[INFO] [stdout]   22:     0x77787368e3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tool_executor::tests::test_list_directory_recursive_descends
[INFO] [stdout]     tool_executor::tests::test_list_directory_shows_files_and_dirs
[INFO] [stdout]     tool_executor::tests::test_read_file_returns_contents
[INFO] [stdout]     tool_executor::tests::test_read_file_truncates_large_files
[INFO] [stdout]     tool_executor::tests::test_search_files_finds_matches
[INFO] [stdout]     tool_executor::tests::test_search_files_respects_max_results
[INFO] [stdout]     tool_executor::tests::test_search_files_skips_binary
[INFO] [stdout]     tool_executor::tests::test_spawn_execution_sends_completion
[INFO] [stdout]     tool_executor::tests::test_write_file_creates_and_writes
[INFO] [stdout]     tool_executor::tests::test_write_file_creates_parent_dirs
[INFO] [stdout]     tool_executor::tests::test_write_file_overwrites_existing
[INFO] [stdout]     tool_executor::tests::test_write_file_rejects_oversized
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 319 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca", kill_on_drop: false }`
[INFO] [stdout] 88fd73303adfef6b83d9d6f154853074b93946fbb6ae389b8545f0f8e8fb29ca
