[INFO] fetching crate heartflow-runtime 1.2.0...
[INFO] testing heartflow-runtime-1.2.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate heartflow-runtime 1.2.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate heartflow-runtime 1.2.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate heartflow-runtime 1.2.0
[INFO] tweaked toml for crates.io crate heartflow-runtime 1.2.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate heartflow-runtime 1.2.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 heartflow-runtime 1.2.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]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1
[INFO] running `Command { std: "docker" "start" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", 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" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1" "/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" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", 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" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling ref-cast-impl v1.0.27
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling jsonschema-regex v0.56.0
[INFO] [stderr]    Compiling ref-cast v1.0.27
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling multiversion v0.9.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling chardetng v0.1.17
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.17.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling fancy-regex v0.19.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling halfbrown v0.4.0
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling jsonschema-value v0.56.0
[INFO] [stderr]    Compiling value-trait v0.12.2
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling referencing v0.56.0
[INFO] [stderr]    Compiling simd-json v0.18.1
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling jsonschema v0.56.0
[INFO] [stderr]    Compiling heartflow-runtime v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]     --> src/file_ops.rs:1079:22
[INFO] [stdout]      |
[INFO] [stdout] 1079 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |                      ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]      |
[INFO] [stdout] 1079 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout] 1079 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", 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" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]     --> src/file_ops.rs:1079:22
[INFO] [stdout]      |
[INFO] [stdout] 1079 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |                      ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]      |
[INFO] [stdout] 1079 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout] 1079 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling heartflow-runtime v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]     --> src/file_ops.rs:1079:22
[INFO] [stdout]      |
[INFO] [stdout] 1079 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |                      ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]      |
[INFO] [stdout] 1079 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout] 1079 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 17.01s
[INFO] running `Command { std: "docker" "inspect" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", 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" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]     --> src/file_ops.rs:1079:22
[INFO] [stderr]      |
[INFO] [stderr] 1079 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stderr]      |                      ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]      |
[INFO] [stderr] 1079 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stderr] 1079 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |n| n.checked_sub(1))
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: `heartflow-runtime` (lib) generated 1 warning (run `cargo fix --lib -p heartflow-runtime` to apply 1 suggestion)
[INFO] [stderr] warning: `heartflow-runtime` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/heartflow-runtime/57cd10186f766512/out/runtime-57cd10186f766512)
[INFO] [stdout] 
[INFO] [stdout] running 175 tests
[INFO] [stdout] test agent_assets::tests::truncation_respects_char_boundaries ... ok
[INFO] [stdout] test agent_assets::tests::frontmatter_parser_handles_missing_block ... ok
[INFO] [stdout] test agent_assets::tests::project_layer_overrides_user_layer_by_name ... ok
[INFO] [stdout] test bash::tests::bounded_reads_capture_head_and_count_tail ... ok
[INFO] [stdout] test agent_assets::tests::empty_rules_dirs_are_tolerated ... ok
[INFO] [stdout] test bash::tests::honours_explicit_shell_override ... ok
[INFO] [stdout] test bash::tests::resolves_sh_elsewhere ... ok
[INFO] [stdout] test bash::tests::leaves_ordinary_commands_unflagged ... ok
[INFO] [stdout] test bash::tests::prunes_stale_background_artifacts_but_keeps_fresh_and_foreign_files ... ok
[INFO] [stdout] test bash::tests::classifies_credential_env_names ... ok
[INFO] [stdout] test agent_assets::tests::discovers_skills_with_frontmatter_and_directory_fallback ... ok
[INFO] [stdout] test bash::tests::flags_destructive_commands ... ok
[INFO] [stdout] test compact::tests::a_flat_window_leaves_the_previous_fit_alone ... ok
[INFO] [stdout] test compact::tests::a_wild_sample_cannot_collapse_the_estimate ... ok
[INFO] [stdout] test bash::tests::strips_utf8_bom_from_output ... ok
[INFO] [stdout] test bash::tests::wraps_power_shell_commands_with_utf8_prefix ... ok
[INFO] [stdout] test compact::tests::compaction_never_orphans_a_tool_result_at_the_boundary ... ok
[INFO] [stdout] test compact::tests::compacts_older_messages_into_a_system_summary ... ok
[INFO] [stdout] test compact::tests::degenerate_samples_are_ignored ... ok
[INFO] [stdout] test compact::tests::a_wild_slope_is_clamped_by_the_band ... ok
[INFO] [stdout] test compact::tests::estimate_counts_cjk_per_code_point ... ok
[INFO] [stdout] test bash::tests::truncation_note_reports_omitted_bytes ... ok
[INFO] [stdout] test bash::tests::explicit_charset_roundtrips ... ok
[INFO] [stdout] test compact::tests::leaves_small_sessions_unchanged ... ok
[INFO] [stdout] test compact::tests::first_sample_is_attributed_to_the_fixed_prompt ... ok
[INFO] [stdout] test compact::tests::formats_compact_summary_like_upstream ... ok
[INFO] [stdout] test compact::tests::summary_weights_recent_turns_with_more_detail ... ok
[INFO] [stdout] test compact::tests::truncates_long_blocks_in_summary ... ok
[INFO] [stdout] test compact::tests::window_half_triggers ... ok
[INFO] [stdout] test compact::tests::window_zero_falls_back_to_absolute ... ok
[INFO] [stdout] test compact::tests::the_calibrated_estimate_moves_the_compaction_gate ... ok
[INFO] [stdout] test conversation::tests::api_request_carries_executor_specs ... ok
[INFO] [stdout] test compact::tests::uncalibrated_estimate_is_identity ... ok
[INFO] [stdout] test conversation::tests::calibrates_the_estimate_from_reported_usage ... ok
[INFO] [stdout] test conversation::tests::cancellation_before_first_event_keeps_only_user_message ... ok
[INFO] [stdout] test conversation::tests::compacts_session_after_turns ... ok
[INFO] [stdout] test conversation::tests::continues_turn_while_plan_tasks_remain ... ok
[INFO] [stdout] test compact::tests::pinned_messages_survive_compaction_verbatim ... ok
[INFO] [stdout] test conversation::tests::empty_plan_ledger_never_continues ... ok
[INFO] [stdout] test compact::tests::a_fitted_window_recovers_slope_and_intercept ... ok
[INFO] [stdout] test conversation::tests::incremental_estimate_matches_full_rescan_across_mutations ... ok
[INFO] [stdout] test bash::tests::non_utf8_output_is_decoded_without_replacement_chars ... ok
[INFO] [stdout] test conversation::tests::continuation_cap_ends_the_turn ... ok
[INFO] [stdout] test config::tests::rejects_non_object_settings_files ... ok
[INFO] [stdout] test agent_assets::tests::discovers_rules_sorted_per_layer ... ok
[INFO] [stdout] test config::tests::loads_and_merges_heartflow_config_files_by_precedence ... ok
[INFO] [stdout] test conversation::tests::in_turn_window_compaction_shrinks_context ... ok
[INFO] [stdout] test conversation::tests::oversized_tool_output_is_head_tail_truncated ... ok
[INFO] [stdout] test conversation::tests::premature_stream_end_preserves_partial_assistant ... ok
[INFO] [stdout] test conversation::tests::reconstructs_usage_tracker_from_restored_session ... ok
[INFO] [stdout] test conversation::tests::records_denied_tool_results_when_prompt_rejects ... ok
[INFO] [stdout] test conversation::tests::replay_stubs_old_tool_results_but_keeps_recent_and_pinned ... ok
[INFO] [stdout] test conversation::tests::repair_strips_only_the_orphan_block_from_a_mixed_tool_message ... ok
[INFO] [stdout] test conversation::tests::repair_drops_a_leading_orphan_and_keeps_the_advertised_pair ... ok
[INFO] [stdout] test conversation::tests::turn_overhead_grows_with_transcript ... ignored, perf probe: run with --ignored --nocapture
[INFO] [stdout] test conversation::tests::reset_for_task_keeps_config_and_replaces_messages ... ok
[INFO] [stdout] test conversation::tests::truncate_tool_output_preserves_head_and_tail ... ok
[INFO] [stdout] test doc_search::tests::flag_shaped_pattern_or_path_is_refused ... ok
[INFO] [stdout] test doc_search::tests::empty_path_is_refused ... ok
[INFO] [stdout] test conversation::tests::replay_folds_old_image_attachments_but_keeps_recent_and_pinned ... ok
[INFO] [stdout] test conversation::tests::schema_valid_tool_call_executes ... ok
[INFO] [stdout] test conversation::tests::schema_invalid_tool_call_is_rejected_without_executing ... ok
[INFO] [stdout] test doc_search::tests::rg_json_matches_become_hits ... ok
[INFO] [stdout] test doc_search::tests::rga_argv_puts_the_path_behind_a_double_dash ... ok
[INFO] [stdout] test file_ops::tests::a_relative_root_still_confines ... ok
[INFO] [stdout] test doc_search::tests::head_limit_stops_collection ... ok
[INFO] [stdout] test file_ops::tests::absolute_paths_are_judged_by_location ... ok
[INFO] [stdout] test file_ops::tests::a_symlinked_directory_cannot_launder_an_escape ... ok
[INFO] [stdout] test conversation::tests::dropping_turn_stream_aborts_producer ... ok
[INFO] [stdout] test doc_search::tests::input_deserializes_from_wire_json ... ok
[INFO] [stdout] test file_ops::tests::a_missing_root_is_resolved_lexically_and_still_confines ... FAILED
[INFO] [stdout] test file_ops::tests::apply_patch_refuses_to_match_inside_a_binary_file ... ok
[INFO] [stdout] test file_ops::tests::edit_file_names_the_file_when_it_is_not_utf8 ... ok
[INFO] [stdout] test conversation::tests::writes_are_serialized_against_concurrent_reads ... ok
[INFO] [stdout] test file_ops::tests::apply_patch_aborts_without_writing_on_missing_string ... ok
[INFO] [stdout] test file_ops::tests::failed_edit_hints_at_the_closest_snippet ... ok
[INFO] [stdout] test bash::tests::resolves_powershell_on_windows ... ok
[INFO] [stdout] test doc_search::tests::missing_rga_reports_install_hint ... ok
[INFO] [stdout] test conversation::tests::runs_user_to_tool_to_result_loop_end_to_end_and_tracks_usage ... ok
[INFO] [stdout] test file_ops::tests::apply_patch_rollback_deletes_files_the_batch_created ... ok
[INFO] [stdout] test file_ops::tests::make_patch_emits_minimal_hunk_with_context ... ok
[INFO] [stdout] test file_ops::tests::make_patch_splits_distant_edits_and_ignores_noop ... ok
[INFO] [stdout] test bash::tests::executes_simple_command ... ok
[INFO] [stdout] test bash::tests::child_environment_lacks_inherited_credentials ... ok
[INFO] [stdout] test bash::tests::scrub_opt_out_keeps_the_variable ... ok
[INFO] [stdout] test file_ops::tests::oversized_diffs_fold_with_an_omission_note ... ok
[INFO] [stdout] test file_ops::tests::permanent_read_errors_are_not_retried ... ok
[INFO] [stdout] test file_ops::tests::edits_file_contents ... ok
[INFO] [stdout] test file_ops::tests::parent_dotdot_through_a_symlink_is_an_escape ... ok
[INFO] [stdout] test file_ops::tests::parent_traversal_is_detected ... FAILED
[INFO] [stdout] test file_ops::tests::read_file_decodes_non_utf8_instead_of_failing ... ok
[INFO] [stdout] test file_ops::tests::search_files_rejects_empty_query ... ok
[INFO] [stdout] test bash::tests::oversized_output_is_truncated_with_note ... FAILED
[INFO] [stdout] test file_ops::tests::unknown_grep_output_mode_is_refused ... ok
[INFO] [stdout] test file_ops::tests::sibling_with_a_shared_name_prefix_is_not_inside ... ok
[INFO] [stdout] test file_ops::tests::writes_inside_the_workspace_are_not_escapes ... ok
[INFO] [stdout] test permissions::tests::a_capturing_gate_uses_outer_state ... ok
[INFO] [stdout] test permissions::tests::allow_mode_permits_every_tool_without_a_prompter ... ok
[INFO] [stdout] test permissions::tests::deny_default_overridden_to_allow_for_one_tool ... ok
[INFO] [stdout] test file_ops::tests::globs_and_greps_directory ... ok
[INFO] [stdout] test permissions::tests::gate_reason_reaches_the_prompter ... ok
[INFO] [stdout] test permissions::tests::gate_is_ignored_outside_prompt_mode ... ok
[INFO] [stdout] test permissions::tests::prompt_gate_auto_allows_safe_and_prompts_dangerous ... ok
[INFO] [stdout] test permissions::tests::prompt_without_gate_uses_prompter ... ok
[INFO] [stdout] test permissions::tests::uses_tool_specific_overrides ... ok
[INFO] [stdout] test permissions::tests::mode_for_falls_back_to_default ... ok
[INFO] [stdout] test prompt::tests::agents_md_shadows_legacy_claude_md_in_same_dir ... ok
[INFO] [stdout] test prompt::tests::ancestor_chain_without_boundary_stays_in_cwd ... ok
[INFO] [stdout] test prompt::tests::ancestor_chain_stops_at_nearest_boundary ... ok
[INFO] [stdout] test bash::tests::background_task_logs_output_and_returns_pid ... ok
[INFO] [stdout] test prompt::tests::clamp_lines_is_crlf_and_multibyte_safe ... ok
[INFO] [stdout] test prompt::tests::config_redaction_drops_secret_values_but_keeps_normal_keys ... ok
[INFO] [stdout] test prompt::tests::external_tools_section_advertises_only_present_tools ... ok
[INFO] [stdout] test prompt::tests::external_tools_section_omitted_when_nothing_installed ... ok
[INFO] [stdout] test bash::tests::background_status_sidecar_reports_exit_code ... ok
[INFO] [stdout] test file_ops::tests::glob_skips_build_cache_directories ... ok
[INFO] [stdout] test prompt::tests::discovers_instruction_files_from_ancestor_chain ... ok
[INFO] [stdout] test file_ops::tests::transient_read_errors_are_retried_once ... ok
[INFO] [stdout] test file_ops::tests::apply_patch_edits_multiple_files_atomically ... ok
[INFO] [stdout] test file_ops::tests::apply_patch_rollback_restores_a_binary_file_byte_for_byte ... ok
[INFO] [stdout] test prompt::tests::project_memory_survives_a_large_user_file_and_clamps_on_lines ... ok
[INFO] [stdout] test file_ops::tests::edit_file_refuses_an_ambiguous_old_string ... ok
[INFO] [stdout] test prompt::tests::renders_heartflow_sections_with_project_context ... ok
[INFO] [stdout] test prompt::tests::renders_rules_and_skills_sections_in_order ... ok
[INFO] [stdout] test prompt::tests::system_prompt_includes_design_discipline_between_doing_and_style ... ok
[INFO] [stdout] test redact::tests::ignores_trivially_short_literals ... ok
[INFO] [stdout] test redact::tests::original_session_is_not_mutated ... ok
[INFO] [stdout] test redact::tests::redacts_a_slice_incrementally ... ok
[INFO] [stdout] test redact::tests::scrubs_bearer_and_basic_authorization ... ok
[INFO] [stdout] test redact::tests::redact_session_preserves_structure_and_ids ... ok
[INFO] [stdout] test redact::tests::scrubs_exact_configured_literal ... ok
[INFO] [stdout] test redact::tests::scrubs_url_userinfo_but_keeps_scheme ... ok
[INFO] [stdout] test schema::tests::empty_or_null_schema_never_blocks ... ok
[INFO] [stdout] test redact::tests::scrubs_labeled_assignments_but_not_max_tokens ... ok
[INFO] [stdout] test redact::tests::scrubs_prefixed_keys ... ok
[INFO] [stdout] test schema::tests::full_draft_keywords_are_enforced ... ok
[INFO] [stdout] test file_ops::tests::write_file_reports_a_non_utf8_overwrite_as_an_update ... ok
[INFO] [stdout] test file_ops::tests::reads_and_writes_files ... ok
[INFO] [stdout] test schema::tests::invalid_json_input_is_rejected_when_schema_is_constraining ... ok
[INFO] [stdout] test schema::tests::normalization_preserves_declared_children_and_is_idempotent ... ok
[INFO] [stdout] test prompt::tests::load_system_prompt_injects_rules_and_skills ... ok
[INFO] [stdout] test schema::tests::requires_object_and_present_keys ... ok
[INFO] [stdout] test schema::tests::supports_enum_items_and_type_unions ... ok
[INFO] [stdout] test prompt::tests::load_system_prompt_injects_memory_when_present ... ok
[INFO] [stdout] test prompt::tests::memory_is_absent_when_no_file_and_clamped_on_char_boundary ... ok
[INFO] [stdout] test prompt::tests::load_system_prompt_reads_agents_files_and_config ... ok
[INFO] [stdout] test schema::tests::normalizes_loose_provider_unfriendly_shapes ... ok
[INFO] [stdout] test session::tests::loads_snapshot_unchanged_without_segment ... ok
[INFO] [stdout] test schema::tests::uncompilable_schema_never_blocks ... ok
[INFO] [stdout] test schema::tests::unknown_keywords_are_ignored ... ok
[INFO] [stdout] test session::tests::omits_usage_field_when_none ... ok
[INFO] [stdout] test session::tests::load_strips_utf8_bom ... ok
[INFO] [stdout] test session::tests::rejects_segment_with_a_broken_interior_record ... ok
[INFO] [stdout] test session::tests::drops_torn_segment_tail_with_a_warning ... ok
[INFO] [stdout] test session::tests::applies_segment_back_to_the_exact_session ... ok
[INFO] [stdout] test session::tests::loads_legacy_session_layout ... ok
[INFO] [stdout] test session::tests::rejects_malformed_session_objects ... ok
[INFO] [stdout] test session::tests::persists_and_restores_session_json ... ok
[INFO] [stdout] test session::tests::rejects_unknown_segment_version ... ok
[INFO] [stdout] test session::tests::rename_does_not_retry_real_errors ... ok
[INFO] [stdout] test session::tests::rename_moves_the_file_on_the_first_attempt ... ok
[INFO] [stdout] test usage::tests::tracks_true_cumulative_usage ... ok
[INFO] [stdout] test session::tests::round_trips_unicode_and_newlines ... ok
[INFO] [stdout] test usage::tests::context_input_counts_cached_tokens ... ok
[INFO] [stdout] test usage::tests::reconstructs_usage_from_session_messages ... ok
[INFO] [stdout] test session::tests::treats_blank_segment_as_absent ... ok
[INFO] [stdout] test session::tests::save_reports_error_for_path_without_file_name ... ok
[INFO] [stdout] test session::tests::reads_a_hand_written_segment ... ok
[INFO] [stdout] test file_ops::tests::read_strips_utf8_bom_and_windows_prefixes ... ok
[INFO] [stdout] test file_ops::tests::grep_respects_gitignore ... ok
[INFO] [stdout] test session::tests::rejects_segment_whose_base_moved ... ok
[INFO] [stdout] test file_ops::tests::apply_patch_rolls_back_when_a_later_write_fails ... ok
[INFO] [stdout] test file_ops::tests::grep_skips_build_cache_directories ... ok
[INFO] [stdout] test file_ops::tests::search_files_ranks_fuzzy_matches ... ok
[INFO] [stdout] test prompt::tests::discover_with_git_includes_status_snapshot ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- file_ops::tests::a_missing_root_is_resolved_lexically_and_still_confines stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'file_ops::tests::a_missing_root_is_resolved_lexically_and_still_confines' (1382) panicked at src/file_ops.rs:2369:9:
[INFO] [stdout] assertion failed: escapes_workspace(&root, "../../src/lib.rs")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f45b49a63d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f45b49be5aa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f45b49aac2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f45b497dc86 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f45b499ce89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f45b47e0930 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f45b499d1b2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f45b497dd64 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f45b4976479 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f45b497ed3d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f45b49bed8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f45b49bed52 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5f45b4597f24 - <runtime[8cc1bd342c47c334]::file_ops::tests::a_missing_root_is_resolved_lexically_and_still_confines::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5f45b47d3d7b - 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]   14:     0x5f45b47e0f55 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5f45b47da844 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5f45b47e3fe2 - <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]   17:     0x5f45b49a53cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7db9bca5cdfa - <unknown>
[INFO] [stdout]   19:     0x7db9bcaf03d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- file_ops::tests::parent_traversal_is_detected stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'file_ops::tests::parent_traversal_is_detected' (1438) panicked at src/file_ops.rs:2336:9:
[INFO] [stdout] assertion failed: escapes_workspace(&root, "sub/../../outside.txt")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f45b49a63d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f45b49be5aa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f45b49aac2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f45b497dc86 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f45b499ce89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f45b47e0930 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f45b499d1b2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f45b497dd64 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f45b4976479 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f45b497ed3d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f45b49bed8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f45b49bed52 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5f45b458e523 - <runtime[8cc1bd342c47c334]::file_ops::tests::parent_traversal_is_detected::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5f45b47d3d7b - 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]   14:     0x5f45b47e0f55 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5f45b47da844 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5f45b47e3fe2 - <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]   17:     0x5f45b49a53cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7db9bca5cdfa - <unknown>
[INFO] [stdout]   19:     0x7db9bcaf03d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- bash::tests::oversized_output_is_truncated_with_note stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'bash::tests::oversized_output_is_truncated_with_note' (1310) panicked at src/bash.rs:934:9:
[INFO] [stdout] assertion failed: output.stdout.contains("bytes omitted")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f45b49a63d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f45b49be5aa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f45b49aac2c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f45b497dc86 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f45b499ce89 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f45b47e0930 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f45b499d1b2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f45b497dd64 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f45b4976479 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f45b497ed3d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f45b49bed8c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f45b49bed52 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5f45b453236c - <runtime[8cc1bd342c47c334]::bash::tests::oversized_output_is_truncated_with_note::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5f45b47d3d7b - 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]   14:     0x5f45b47e0f55 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5f45b47da844 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5f45b47e3fe2 - <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]   17:     0x5f45b49a53cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7db9bca5cdfa - <unknown>
[INFO] [stdout]   19:     0x7db9bcaf03d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     bash::tests::oversized_output_is_truncated_with_note
[INFO] [stdout]     file_ops::tests::a_missing_root_is_resolved_lexically_and_still_confines
[INFO] [stdout]     file_ops::tests::parent_traversal_is_detected
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 171 passed; 3 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.80s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1", kill_on_drop: false }`
[INFO] [stdout] 909e29246d9cfd40a6d89896522e765ffaf59b3eaaac02b624bfaeabfd4f12e1
