[INFO] cloning repository https://github.com/bendusy/roostery
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bendusy/roostery" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbendusy%2Froostery", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbendusy%2Froostery'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2057725b9f90e6cf390a1a225081fac28a5ae764
[INFO] testing bendusy/roostery against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbendusy%2Froostery" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/bendusy/roostery
[INFO] finished tweaking git repo https://github.com/bendusy/roostery
[INFO] tweaked toml for git repo https://github.com/bendusy/roostery written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bendusy/roostery on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bendusy/roostery already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f
[INFO] running `Command { std: "docker" "start" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", 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" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", 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" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling gethostname v0.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling roostery v0.1.0 (/opt/rustwide/workdir/crates/roostery)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.42s
[INFO] running `Command { std: "docker" "inspect" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", 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" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling roostery v0.1.0 (/opt/rustwide/workdir/crates/roostery)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.43s
[INFO] running `Command { std: "docker" "inspect" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", 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" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/roostery-14d24b44ee7b8d5f)
[INFO] [stdout] 
[INFO] [stdout] running 533 tests
[INFO] [stdout] test agent_detect::tests::expanded_hooks_target_resolves_tilde ... ok
[INFO] [stdout] test agent_detect::tests::skip_forces_not_installed_regardless_of_path ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::lookup_by_chat_id_returns_none_when_no_match ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::lookup_by_chat_id_returns_first_registered_match_when_multiple_share_chat ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::register_same_task_guid_twice_yields_distinct_run_ids_no_overwrite ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::send_signal_receiver_dropped_returns_receiver_gone ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::register_unregister_round_trip ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::oneshot_send_signal_delivers_adjust_to_receiver ... ok
[INFO] [stdout] test bot_bridge::cancel::tests::cancelled_returns_immediately_if_already_cancelled ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::oneshot_send_signal_delivers_abort_to_receiver ... ok
[INFO] [stdout] test bot_bridge::cli::tests::bridge_cli_args_defaults_parse ... ok
[INFO] [stdout] test bot_bridge::cli::tests::bridge_cli_args_all_flags_parse ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::abort_chinese_ting_classifies_as_abort ... ok
[INFO] [stdout] test bot_bridge::cli::tests::bridge_cli_args_to_options_roundtrip ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::abort_slash_abort_classifies_as_abort ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::abort_keywords_list_has_exactly_four_entries ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_slash_newline_prefix_classifies_as_adjust ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_chinese_newline_prefix_classifies_as_adjust ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_empty_body_falls_back_to_pass ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_chinese_space_prefix_classifies_as_adjust ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::abort_chinese_zhongzhi_classifies_as_abort ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_prefixes_list_has_exactly_four_entries ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::idempotency_key_template ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::non_matching_text_is_pass ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::abort_slash_stop_classifies_as_abort ... ok
[INFO] [stdout] test bot_bridge::hitl::tests::adjust_slash_space_prefix_classifies_as_adjust ... ok
[INFO] [stdout] test bot_bridge::daemon::tests::run_bridge_with_empty_bots_yaml_returns_no_bots ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::safe_chat_filename_neutralizes_path_traversal ... ok
[INFO] [stdout] test agent_detect::tests::detect_all_returns_three_results_with_correct_order ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::step_text_end_aborted_contains_warning_emoji_and_reason ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::step_text_end_failed_contains_emoji_and_exit_code ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::step_text_end_success_contains_emoji_and_count ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::step_text_end_timeout_contains_clock_emoji ... ok
[INFO] [stdout] test bot_bridge::role::tests::chat_whitelist_filters_unmatched_chats ... ok
[INFO] [stdout] test bot_bridge::role::tests::extract_message_body_falls_back_to_full_content_when_no_match ... ok
[INFO] [stdout] test bot_bridge::role::tests::load_failed_when_file_missing ... ok
[INFO] [stdout] test bot_bridge::role::tests::mention_alone_without_body_is_match_with_empty_rest ... ok
[INFO] [stdout] test bot_bridge::role::tests::mention_matches_three_space_variants ... ok
[INFO] [stdout] test bot_bridge::role::tests::missing_required_field_reports_index_and_field ... ok
[INFO] [stdout] test agent_detect::tests::agents_const_has_three_entries ... ok
[INFO] [stdout] test bot_bridge::role::tests::parse_failed_on_invalid_yaml ... ok
[INFO] [stdout] test bot_bridge::role::tests::schema_version_two_returns_mismatch_error ... ok
[INFO] [stdout] test bot_bridge::role::tests::schema_version_missing_defaults_to_one ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_end_appends_outcome_step_and_persists ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::load_cache_missing_schema_version_compat ... ok
[INFO] [stdout] test bot_bridge::role::tests::yaml_roundtrip_full_config ... ok
[INFO] [stdout] test bot_bridge::cancel::tests::cancelled_resolves_after_cancel ... ok
[INFO] [stdout] test bot_bridge::daemon::tests::cancel_token_cancelled_returns_promptly ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::multi_bot_record_start_uses_isolated_cache_dirs ... ok
[INFO] [stdout] test bot_bridge::active_registry::tests::send_signal_unknown_run_id_returns_not_found ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::outcome_to_exit_code_strict_failed_exits_one ... ok
[INFO] [stdout] test bot_bridge::runner::tests::adjust_exceeding_limit_becomes_aborted ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::push_cli_args_assignee_open_id_passthrough ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::push_cli_args_description_passthrough ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::push_cli_args_flag_based_happy_parse ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::push_cli_args_summary_stdin_builds_request_from_reader ... ok
[INFO] [stdout] test bot_stop_hook::cli::tests::push_cli_args_summary_and_summary_stdin_are_mutually_exclusive ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_adjust_increments_cache_count ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_start_absorbs_create_task_error_returns_none ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_end_without_cache_returns_none ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_start_cache_hit_reuses_task_guid ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::save_cache_atomic_no_tmp_residue ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::bot_chats_dir_is_sibling_of_session_tasks ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::record_start_concurrent_same_chat_serializes_no_duplicate_task ... ok
[INFO] [stdout] test bot_bridge::runner::tests::abort_signal_returns_bot_action_aborted ... ok
[INFO] [stdout] test bot_bridge::runner::tests::adjust_within_limit_then_success ... ok
[INFO] [stdout] test bot_bridge::runner::tests::failed_outcome_returns_bot_action_failed ... ok
[INFO] [stdout] test bot_bridge::relay_task::tests::cache_path_stays_under_bot_chat_dir_with_evil_chat_id ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::resolve_summary_transcript_then_prompt_response_then_none ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_all_tool_use_no_text_returns_err ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_happy_picks_last_assistant ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_no_assistant_returns_err ... ok
[INFO] [stdout] test bot_bridge::runner::tests::timeout_outcome_returns_bot_action_timeout ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_not_found ... ok
[INFO] [stdout] test bot_bridge::runner::tests::success_outcome_returns_bot_action_success ... ok
[INFO] [stdout] test bot_bridge::runner::tests::unknown_runner_kind_returns_skipped_and_writes_journal ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_skips_empty_text_blocks ... ok
[INFO] [stdout] test bot_stop_hook::types::tests::push_outcome_serde_roundtrip_and_status_snake_case ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_skips_non_assistant_and_invalid ... ok
[INFO] [stdout] test bot_stop_hook::stop_input::tests::transcript_reader_picks_text_after_tool_use_block ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_append_fail_triggers_im_fallback_preserves_task_url ... ok
[INFO] [stdout] test bot_stop_hook::types::tests::push_request_builder_chains_optional_fields ... ok
[INFO] [stdout] test bot_stop_hook::types::tests::push_status_all_variants_snake_case ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::cwd_basename_extracts_last_segment ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::resolve_receive_id_all_three_empty_returns_none ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_happy_creates_task_and_appends_step ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_no_im_fallback_opt_out_task_fail_directly_failed ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::truncate_utf8_ascii_under_cap_unchanged ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::stable_idem_key_deterministic_across_calls ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::truncate_utf8_emoji_boundary_safe ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_receive_id_all_empty_returns_skipped ... ok
[INFO] [stdout] test bot_task_writer::tests::append_steps_empty_does_not_call_lark ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_skipped_calls_no_lark_cli_except_identity_probe ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_task_and_im_both_fail_returns_failed ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_task_fail_triggers_im_fallback ... ok
[INFO] [stdout] test bot_task_writer::tests::append_steps_includes_yes_flag_and_data ... ok
[INFO] [stdout] test bot_task_writer::tests::apply_host_suffix_appends_marker ... ok
[INFO] [stdout] test bot_task_writer::tests::append_steps_propagates_lark_error ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::run_stop_hook_cc_happy_stdin_routes_to_push ... ok
[INFO] [stdout] test bot_task_writer::tests::constants_exposed ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::run_stop_hook_empty_stdin_uses_defaults ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::run_stop_hook_invalid_json_does_not_panic ... ok
[INFO] [stdout] test bot_task_writer::tests::create_task_identity_error_surfaces ... ok
[INFO] [stdout] test bot_task_writer::tests::apply_host_suffix_is_idempotent ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::run_stop_hook_transcript_not_found_falls_back_to_prompt_response ... ok
[INFO] [stdout] test bot_stop_hook::push::tests::push_explicit_assignee_skips_receive_id_chain ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::resolve_receive_id_env_overrides_identity ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::resolve_receive_id_falls_back_to_config_when_identity_blank ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::resolve_receive_id_explicit_short_circuits ... ok
[INFO] [stdout] test bot_stop_hook::util::tests::resolve_receive_id_falls_back_to_identity ... ok
[INFO] [stdout] test bot_task_writer::tests::create_task_falls_back_to_identity_for_assignee ... ok
[INFO] [stdout] test bot_task_writer::tests::create_task_missing_guid_returns_shape_error ... ok
[INFO] [stdout] test bot_task_writer::tests::create_task_happy_with_explicit_assignee ... ok
[INFO] [stdout] test bot_task_writer::tests::safe_filename_neutralizes_path_traversal ... ok
[INFO] [stdout] test bot_task_writer::tests::safe_filename_normal_input ... ok
[INFO] [stdout] test bot_task_writer::tests::task_guid_serde_transparent ... ok
[INFO] [stdout] test bot_task_writer::tests::task_writer_error_display_includes_context ... ok
[INFO] [stdout] test config::tests::default_has_schema_version_one ... ok
[INFO] [stdout] test bot_task_writer::tests::load_cache_missing_file_returns_none ... ok
[INFO] [stdout] test bot_task_writer::tests::load_cache_corrupt_returns_none ... ok
[INFO] [stdout] test bot_task_writer::tests::load_cache_missing_schema_version_compat ... ok
[INFO] [stdout] test config::tests::default_sub_defaults_match_design ... ok
[INFO] [stdout] test bot_task_writer::tests::safe_filename_replaces_specials ... ok
[INFO] [stdout] test config::tests::empty_yaml_is_default_config ... ok
[INFO] [stdout] test config::tests::full_yaml_round_trip ... ok
[INFO] [stdout] test config::tests::load_from_missing_returns_default ... ok
[INFO] [stdout] test config::tests::load_from_bad_yaml_returns_parse_failed ... ok
[INFO] [stdout] test config::tests::recap_default_empty ... ok
[INFO] [stdout] test bot_task_writer::tests::save_leaves_no_tmp_artifact ... ok
[INFO] [stdout] test config::tests::load_from_schema_version_zero_mismatch ... ok
[INFO] [stdout] test config::tests::load_from_missing_schema_version_treated_as_one ... ok
[INFO] [stdout] test config::tests::partial_yaml_fills_defaults ... ok
[INFO] [stdout] test config::tests::recap_partial_yaml_fills_defaults ... ok
[INFO] [stdout] test config::tests::load_from_valid_yaml ... ok
[INFO] [stdout] test config::tests::runners_open_structure_known_field_strongly_typed ... ok
[INFO] [stdout] test config::tests::recap_populated_yaml_round_trip ... ok
[INFO] [stdout] test daily_recap::git_log::tests::commit_hash_rejects_empty ... ok
[INFO] [stdout] test config::tests::unknown_fields_ignored ... ok
[INFO] [stdout] test config::tests::saved_yaml_is_human_readable ... ok
[INFO] [stdout] test config::tests::save_to_creates_parent_dir ... ok
[INFO] [stdout] test bot_task_writer::tests::get_or_create_corrupt_cache_falls_through_to_create ... ok
[INFO] [stdout] test bot_task_writer::tests::create_task_propagates_lark_error ... ok
[INFO] [stdout] test daily_recap::git_log::tests::not_a_git_repo_returns_typed_error ... ok
[INFO] [stdout] test daily_recap::git_log::tests::repo_spec_canonicalizes_and_derives_name ... ok
[INFO] [stdout] test daily_recap::git_log::tests::repo_spec_path_not_found ... ok
[INFO] [stdout] test daily_recap::git_log::tests::repo_spec_with_name_overrides ... ok
[INFO] [stdout] test config::tests::recap_missing_section_yields_default ... ok
[INFO] [stdout] test bot_task_writer::tests::save_then_load_roundtrip ... ok
[INFO] [stdout] test config::tests::load_from_schema_version_mismatch ... ok
[INFO] [stdout] test daily_recap::tests::default_template_has_placeholder ... ok
[INFO] [stdout] test bot_task_writer::tests::get_or_create_first_call_creates_and_caches ... ok
[INFO] [stdout] test bot_task_writer::tests::host_default_falls_back_to_hostname ... ok
[INFO] [stdout] test daily_recap::tests::json_dto_failed_schema_v1 ... ok
[INFO] [stdout] test daily_recap::tests::prepare_no_repos_fails ... ok
[INFO] [stdout] test bot_task_writer::tests::get_or_create_second_call_hits_cache ... ok
[INFO] [stdout] test daily_recap::tests::render_prompt_no_spaces_also_works ... ok
[INFO] [stdout] test daily_recap::tests::render_prompt_substitutes ... ok
[INFO] [stdout] test bot_task_writer::tests::host_default_unknown_when_all_missing ... ok
[INFO] [stdout] test daily_recap::git_log::tests::empty_repo_returns_no_commits ... ok
[INFO] [stdout] test bot_task_writer::tests::host_default_uses_roostery_host_env ... ok
[INFO] [stdout] test daily_recap::tests::run_no_repos_failed ... ok
[INFO] [stdout] test config::tests::save_default_round_trip ... ok
[INFO] [stdout] test config::tests::save_then_load_round_trip ... ok
[INFO] [stdout] test daily_recap::git_log::tests::render_markdown_empty_repo_shows_no_commits_line ... ok
[INFO] [stdout] test daily_recap::tests::prepare_returns_aggregate_markdown_prompt ... ok
[INFO] [stdout] test daily_recap::git_log::tests::single_commit_today_collected ... ok
[INFO] [stdout] test daily_recap::tests::truncate_ascii ... ok
[INFO] [stdout] test daily_recap::tests::truncate_no_op_when_short ... ok
[INFO] [stdout] test daily_recap::tests::truncate_utf8_keeps_whole_chars ... ok
[INFO] [stdout] test daily_recap::tests::truncate_utf8_no_panic_at_char_boundary ... ok
[INFO] [stdout] test daily_recap::tests::run_no_runner_kind_failed ... ok
[INFO] [stdout] test dispatcher::budget::tests::bucket_would_exceed_both_fit ... ok
[INFO] [stdout] test dispatcher::budget::tests::bucket_would_exceed_calls_only ... ok
[INFO] [stdout] test dispatcher::budget::tests::bucket_would_exceed_cost_only ... ok
[INFO] [stdout] test dispatcher::budget::tests::budget_guard_commit_persists_then_reload_sees_state ... ok
[INFO] [stdout] test dispatcher::budget::tests::budget_guard_creates_lock_file_with_json_lock_extension ... ok
[INFO] [stdout] test dispatcher::budget::tests::budget_guard_open_creates_fresh_state_on_first_run ... ok
[INFO] [stdout] test dispatcher::budget::tests::budget_guard_second_open_in_same_thread_blocks_until_first_drops ... ok
[INFO] [stdout] test dispatcher::budget::tests::check_or_raise_fails_when_cost_exceeded ... ok
[INFO] [stdout] test dispatcher::budget::tests::check_or_raise_fails_when_calls_exceeded ... ok
[INFO] [stdout] test dispatcher::budget::tests::check_or_raise_triggers_rollover ... ok
[INFO] [stdout] test dispatcher::budget::tests::check_or_raise_passes_when_under_cap ... ok
[INFO] [stdout] test dispatcher::budget::tests::consume_increments_calls_and_cost ... ok
[INFO] [stdout] test dispatcher::budget::tests::from_cfg_zero_init_with_cfg_caps ... ok
[INFO] [stdout] test dispatcher::budget::tests::load_invalid_json_returns_parse_failed ... ok
[INFO] [stdout] test dispatcher::budget::tests::load_missing_file_returns_load_failed ... ok
[INFO] [stdout] test dispatcher::budget::tests::load_wrong_schema_version_errors ... ok
[INFO] [stdout] test dispatcher::budget::tests::rollover_different_day_resets ... ok
[INFO] [stdout] test dispatcher::budget::tests::rollover_same_day_noop ... ok
[INFO] [stdout] test dispatcher::budget::tests::save_then_load_round_trip ... ok
[INFO] [stdout] test dispatcher::budget::tests::save_to_creates_parent_dir ... ok
[INFO] [stdout] test dispatcher::budget::tests::would_exceed_fails_closed_on_infinity_self ... ok
[INFO] [stdout] test dispatcher::budget::tests::would_exceed_fails_closed_on_nan_incoming_cost_usd ... ok
[INFO] [stdout] test dispatcher::budget::tests::would_exceed_fails_closed_on_nan_self_cost_usd ... ok
[INFO] [stdout] test daily_recap::git_log::tests::future_date_returns_empty ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::schema_version_const_is_one ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::trace_field_defaults_to_none_on_missing ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::trigger_meta_path_missing_segment_returns_none ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::trigger_meta_path_nested_hit ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::trigger_meta_path_single_segment_hit ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::trigger_meta_path_through_non_object_returns_none ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_duplicate_rule_name_errors ... ok
[INFO] [stdout] test dispatcher::hook_event::tests::serde_round_trip_preserves_fields ... ok
[INFO] [stdout] test dispatcher::budget::tests::schema_version_const_is_one ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_invalid_glob_errors ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_missing_file_returns_empty ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_happy_two_rules ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_invalid_yaml_returns_parse_failed ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_and_dimensions_all_pass ... ok
[INFO] [stdout] test daily_recap::git_log::tests::render_markdown_contains_repo_and_commits ... ok
[INFO] [stdout] test dispatcher::rules::tests::load_wrong_schema_version_errors ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_first_match_wins_skips_later_rules ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_and_dimensions_partial_fail ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_hook_source_eq_miss_skips ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_self_event_dispatcher_short_circuits ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_empty_rules_returns_none ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_trigger_meta_eq_hit ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_self_event_roostery_short_circuits ... ok
[INFO] [stdout] test dispatcher::rules::tests::rule_name_serde_transparent ... ok
[INFO] [stdout] test dispatcher::rules::tests::rules_error_display_contains_path ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_trigger_meta_path_missing_skips_rule ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_workspace_glob_double_star_hit ... ok
[INFO] [stdout] test dispatcher::rules::tests::matches_hook_source_eq_hit ... ok
[INFO] [stdout] test dispatcher::rules::tests::rules_schema_version_const_is_one ... ok
[INFO] [stdout] test dispatcher::runaway::tests::defaults_are_300s_and_10 ... ok
[INFO] [stdout] test dispatcher::runaway::tests::check_on_unknown_trace_returns_zero ... ok
[INFO] [stdout] test dispatcher::runaway::tests::manual_prune_removes_fully_expired_buckets ... ok
[INFO] [stdout] test dispatcher::runaway::tests::different_trace_ids_are_independent ... ok
[INFO] [stdout] test dispatcher::runaway::tests::record_evicts_entries_outside_window ... ok
[INFO] [stdout] test dispatcher::runaway::tests::record_within_window_accumulates ... ok
[INFO] [stdout] test dispatcher::rules::tests::self_event_prefixes_include_dispatcher_and_roostery ... ok
[INFO] [stdout] test dispatcher::runaway::tests::check_at_threshold_returns_err ... ok
[INFO] [stdout] test dispatcher::runaway::tests::runaway_error_display_contains_trace_id ... ok
[INFO] [stdout] test dispatcher::runaway::tests::periodic_auto_prune_keeps_memory_bounded ... ok
[INFO] [stdout] test dispatcher::runaway::tests::single_record_returns_one ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_bad_args_structure_returns_bad_args ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_binary_not_found ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_empty_prompt_returns_bad_args ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_kind ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_missing_prompt_returns_bad_args ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_non_json_stdout_returns_success_no_cost ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_timeout_ms_zero_returns_bad_args ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_timeout_ms_over_max_returns_bad_args ... ok
[INFO] [stdout] test daily_recap::git_log::tests::multi_commit_body_with_newline_preserved ... ok
[INFO] [stdout] test dispatcher::runners::tests::constants_exposed ... ok
[INFO] [stdout] test dispatcher::runners::tests::drain_with_head_cap_handles_non_utf8_bytes ... ok
[INFO] [stdout] test dispatcher::runners::tests::drain_with_head_cap_lossy_ffff_expansion_does_not_exceed_cap ... ok
[INFO] [stdout] test dispatcher::runners::tests::drain_with_head_cap_none_input_returns_empty ... ok
[INFO] [stdout] test dispatcher::runners::tests::drain_with_head_cap_small_input_full_capture ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_cost_usd_wins_over_total_cost_usd_when_both_present ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_falls_back_to_total_when_primary_negative ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_full_json_extracts_cost_and_text ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_invalid_json_still_returns_success ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_missing_cost_field ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_negative_cost_usd_treated_as_none ... ok
[INFO] [stdout] test dispatcher::runners::tests::enrich_cc_total_cost_usd_alias_picked_up_when_cost_usd_missing ... ok
[INFO] [stdout] test dispatcher::runners::tests::noop_runner_kind_is_noop ... ok
[INFO] [stdout] test dispatcher::runners::tests::noop_runner_returns_success_empty ... ok
[INFO] [stdout] test dispatcher::runners::tests::prep_env_does_not_forward_unsafe_var ... ok
[INFO] [stdout] test dispatcher::runners::tests::prep_env_forwards_safe_var_when_set ... ok
[INFO] [stdout] test dispatcher::runners::tests::prep_env_includes_base_fallbacks ... ok
[INFO] [stdout] test dispatcher::runners::tests::prep_env_injects_trace_env ... ok
[INFO] [stdout] test dispatcher::runners::tests::registry_dup_kind_returns_first ... ok
[INFO] [stdout] test dispatcher::runners::tests::registry_find_miss_returns_none ... ok
[INFO] [stdout] test dispatcher::runners::tests::registry_new_is_empty ... ok
[INFO] [stdout] test dispatcher::runners::tests::registry_with_defaults_has_noop_and_cc_headless ... ok
[INFO] [stdout] test dispatcher::runners::tests::registry_with_runner_then_find ... ok
[INFO] [stdout] test dispatcher::runners::tests::runner_error_display_contains_kind ... ok
[INFO] [stdout] test dispatcher::runners::tests::runner_status_serde_snake_case ... ok
[INFO] [stdout] test dispatcher::runners::tests::truncate_head_caps_long_strings ... ok
[INFO] [stdout] test dispatcher::tests::default_max_fanout_is_sixteen ... ok
[INFO] [stdout] test dispatcher::tests::dispatch_error_display_includes_context ... ok
[INFO] [stdout] test dispatcher::tests::fire_budget_over_gate_rejected ... ok
[INFO] [stdout] test dispatcher::tests::fire_chain_over_max_depth_gates_at_boundary ... ok
[INFO] [stdout] test dispatcher::tests::fire_chain_two_layers_propagates_trace_and_depth ... ok
[INFO] [stdout] test dispatcher::tests::fire_fanout_truncated_at_default_cap ... ok
[INFO] [stdout] test dispatcher::tests::fire_happy_success_writes_journal_and_consumes_budget ... ok
[INFO] [stdout] test dispatcher::tests::fire_no_match_writes_journal_no_match ... ok
[INFO] [stdout] test dispatcher::tests::fire_runner_error_marks_step_failed ... ok
[INFO] [stdout] test dispatcher::tests::fire_runner_failed_marks_step_failed ... ok
[INFO] [stdout] test dispatcher::tests::fire_unknown_runner_kind_is_skipped ... ok
[INFO] [stdout] test dispatcher::tests::replay_happy_runs_again_with_new_trace_id ... ok
[INFO] [stdout] test dispatcher::tests::replay_root_entry_with_missing_params_returns_reconstruct_err ... ok
[INFO] [stdout] test dispatcher::tests::replay_unknown_trace_id_returns_not_found ... ok
[INFO] [stdout] test dispatcher::tests::step_status_variants_distinguishable ... ok
[INFO] [stdout] test dispatcher::tests::test_rule_match_returns_some_with_rule_meta ... ok
[INFO] [stdout] test dispatcher::tests::test_rule_no_match_returns_none ... ok
[INFO] [stdout] test dispatcher::trace::tests::check_depth_at_max_rejects ... ok
[INFO] [stdout] test dispatcher::trace::tests::check_depth_below_max_passes ... ok
[INFO] [stdout] test dispatcher::trace::tests::child_at_u32_max_saturates_not_wraps ... ok
[INFO] [stdout] test dispatcher::trace::tests::child_preserves_trace_id_and_increments_depth ... ok
[INFO] [stdout] test dispatcher::trace::tests::env_key_constants_use_roostery_prefix ... ok
[INFO] [stdout] test dispatcher::trace::tests::env_round_trip_preserves_fields ... ok
[INFO] [stdout] test dispatcher::trace::tests::from_env_missing_depth_defaults_to_zero ... ok
[INFO] [stdout] test dispatcher::trace::tests::from_env_with_invalid_depth_returns_err ... ok
[INFO] [stdout] test dispatcher::trace::tests::from_env_without_trace_id_returns_none ... ok
[INFO] [stdout] test dispatcher::trace::tests::new_root_starts_at_depth_zero ... ok
[INFO] [stdout] test dispatcher::trace::tests::stamp_journal_aligns_trace_fields_only ... ok
[INFO] [stdout] test dispatcher::trace::tests::to_env_pairs_omits_parent_when_none ... ok
[INFO] [stdout] test dispatcher::trace::tests::trace_error_display_includes_fields ... ok
[INFO] [stdout] test dispatcher::trace::tests::trace_id_random_is_32_hex_chars ... ok
[INFO] [stdout] test dispatcher::trace::tests::trace_id_serde_transparent_emits_bare_string ... ok
[INFO] [stdout] test hooks_merge::tests::agent_kind_display_and_parse ... ok
[INFO] [stdout] test hooks_merge::tests::agent_kind_serde_lowercase ... ok
[INFO] [stdout] test hooks_merge::tests::agent_kind_template_returns_matching_const ... ok
[INFO] [stdout] test hooks_merge::tests::agent_kind_unknown_error_msg_lists_all_three ... ok
[INFO] [stdout] test hooks_merge::tests::apply_template_creates_parent_dir ... ok
[INFO] [stdout] test hooks_merge::tests::apply_template_idempotent ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_non_zero_exit_returns_failed ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_happy_returns_success_with_cost ... ok
[INFO] [stdout] test hooks_merge::tests::apply_template_to_missing_target ... ok
[INFO] [stdout] test hooks_merge::tests::apply_template_preserves_other_event_hooks ... ok
[INFO] [stdout] test hooks_merge::tests::cc_template_uses_roostery_agent_env ... ok
[INFO] [stdout] test hooks_merge::tests::apply_template_via_agent_kind ... ok
[INFO] [stdout] test hooks_merge::tests::codex_template_uses_roostery_agent_env ... ok
[INFO] [stdout] test hooks_merge::tests::embedded_consts_nonempty ... ok
[INFO] [stdout] test hooks_merge::tests::command_tail_strips_env_prefix ... ok
[INFO] [stdout] test hooks_merge::tests::empty_matcher_array ... ok
[INFO] [stdout] test hooks_merge::tests::empty_hooks_array ... ok
[INFO] [stdout] test hooks_merge::tests::fragment_shape_error_for_arbitrary_json ... ok
[INFO] [stdout] test hooks_merge::tests::fragment_parse_cc_template_typed ... ok
[INFO] [stdout] test hooks_merge::tests::gemini_template_nonempty_and_parseable ... ok
[INFO] [stdout] test hooks_merge::tests::merge_dedup_same_command_updates_timeout ... ok
[INFO] [stdout] test hooks_merge::tests::merge_into_missing_target ... ok
[INFO] [stdout] test hooks_merge::tests::merge_into_same_matcher_different_command_appends ... ok
[INFO] [stdout] test hooks_merge::tests::merge_into_target_with_different_event ... ok
[INFO] [stdout] test hooks_merge::tests::merge_into_same_event_different_matcher ... ok
[INFO] [stdout] test hooks_merge::tests::multiple_event_keys ... ok
[INFO] [stdout] test hooks_merge::tests::merge_legacy_env_treated_as_same_command_by_tail ... ok
[INFO] [stdout] test hooks_merge::tests::render_cc_template_happy ... ok
[INFO] [stdout] test hooks_merge::tests::render_codex_template_happy ... ok
[INFO] [stdout] test hooks_merge::tests::render_invalid_json_returns_parse_failed ... ok
[INFO] [stdout] test hooks_merge::tests::render_no_placeholder_left ... ok
[INFO] [stdout] test hooks_merge::tests::render_path_with_double_quote_safe_via_json_layer ... ok
[INFO] [stdout] test hooks_merge::tests::missing_command ... ok
[INFO] [stdout] test hooks_merge::tests::no_event_key ... ok
[INFO] [stdout] test hooks_merge::tests::render_path_with_single_quote_is_escaped ... ok
[INFO] [stdout] test hooks_merge::tests::shell_quote_path_empty_string_quoted ... ok
[INFO] [stdout] test hooks_merge::tests::sh_template_calls_roostery_bot_stop_hook ... ok
[INFO] [stdout] test hooks_merge::tests::render_path_with_space_is_single_quoted ... ok
[INFO] [stdout] test hooks_merge::tests::shell_quote_path_safe_chars_passthrough ... ok
[INFO] [stdout] test identity::tests::describe_includes_all_fields ... ok
[INFO] [stdout] test hooks_merge::tests::target_invalid_json_returns_parse_failed ... ok
[INFO] [stdout] test hooks_merge::tests::target_top_level_not_object ... ok
[INFO] [stdout] test identity::tests::short_bot_strips_cli_prefix_then_truncates ... ok
[INFO] [stdout] test identity::tests::short_user_prefers_name_then_oid_tail_then_anon ... ok
[INFO] [stdout] test identity::tests::is_ready_requires_user_bot_and_valid_token ... ok
[INFO] [stdout] test journal::tests::append::basic_write_and_readback ... ok
[INFO] [stdout] test journal::tests::append::cross_day_backfill_lands_on_entry_ts_day ... ok
[INFO] [stdout] test journal::tests::append::mkdir_p_creates_nested_dir ... ok
[INFO] [stdout] test journal::tests::load_by_trace_id_tests::empty_dir_returns_empty_vec ... ok
[INFO] [stdout] test journal::tests::load_by_trace_id_tests::malformed_lines_are_skipped ... ok
[INFO] [stdout] test journal::tests::append::multiple_appends_produce_multi_line_jsonl ... ok
[INFO] [stdout] test journal::tests::load_by_trace_id_tests::non_jsonl_files_ignored ... ok
[INFO] [stdout] test journal::tests::append::returned_path_matches_actual_write ... ok
[INFO] [stdout] test journal::tests::load_by_trace_id_tests::single_file_filters_by_trace_id ... ok
[INFO] [stdout] test journal::tests::schema::field_names_match_roadmap ... ok
[INFO] [stdout] test journal::tests::schema::full_entry_roundtrip ... ok
[INFO] [stdout] test journal::tests::schema::new_uses_schema_version_1 ... ok
[INFO] [stdout] test journal::tests::schema::result_err_serializes_with_outcome_tag ... ok
[INFO] [stdout] test journal::tests::schema::result_ok_serializes_with_outcome_tag ... ok
[INFO] [stdout] test journal::tests::schema::ts_serializes_as_rfc3339_with_z ... ok
[INFO] [stdout] test journal::tests::load_by_trace_id_tests::multi_file_date_sorted_order ... ok
[INFO] [stdout] test journal::tests::redact_integration::scrubbed_params_persist_through_journal ... ok
[INFO] [stdout] test journal::tests::ulid::length_is_26 ... ok
[INFO] [stdout] test journal::tests::ulid::alphabet_is_crockford_base32 ... ok
[INFO] [stdout] test lark_cli::error::tests::display_contains_variant_data ... ok
[INFO] [stdout] test lark_cli::error::tests::error_source_chain ... ok
[INFO] [stdout] test lark_cli::error::tests::non_exhaustive_match_in_external_view ... ok
[INFO] [stdout] test lark_cli::error::tests::retriable_truth_table ... ok
[INFO] [stdout] test lark_cli::error::tests::truncate_field_respects_char_boundary ... ok
[INFO] [stdout] test lark_cli::error::tests::variant_name_round_trip ... ok
[INFO] [stdout] test lark_cli::journaled::tests::dyn_compat_journaled_over_box_dyn_works ... ok
[INFO] [stdout] test lark_cli::journaled::tests::s5_1_happy_path_writes_entry ... ok
[INFO] [stdout] test journal::tests::ulid::many_calls_are_unique ... ok
[INFO] [stdout] test journal::tests::ulid::time_prefix_is_monotonic_across_ms ... ok
[INFO] [stdout] test lark_cli::journaled::tests::s5_2_err_path_writes_kind_and_message ... ok
[INFO] [stdout] test lark_cli::mock::tests::calls_backward_compat_returns_args_only ... ok
[INFO] [stdout] test lark_cli::journaled::tests::s5_3_argv_scrubbed_via_redact ... ok
[INFO] [stdout] test lark_cli::mock::tests::calls_with_opts_records_profile_and_stdin ... ok
[INFO] [stdout] test lark_cli::journaled::tests::s5_4_journal_write_failure_preserves_original_result ... ok
[INFO] [stdout] test lark_cli::mock::tests::run_options_are_ignored_by_mock ... ok
[INFO] [stdout] test lark_cli::mock::tests::s1_1_trait_default_method_delegates ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_2_enqueue_err_then_call ... ok
[INFO] [stdout] test lark_cli::mock::tests::s1_2_dyn_compatible_via_box_dyn ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_1_enqueue_ok_then_call ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_3_fifo_order ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_3b_fluent_chain_with_mixed_ok_err ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_5_assert_no_unconsumed ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_6_calls_order_matches_invocation ... ok
[INFO] [stdout] test lark_cli::runner::tests::run_options_builder_chain ... ok
[INFO] [stdout] test lark_cli::runner::tests::run_options_default_all_none ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_1_happy_path ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_2_empty_stdout_returns_null ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_3_non_json_stdout_is_output_parse ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_4_non_zero_exit_with_stderr ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_4b_body_code_parsed_from_stdout_json ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_5_spawn_failure_when_binary_missing ... ok
[INFO] [stdout] test daily_recap::tests::run_summarized_happy_path ... ok
[INFO] [stdout] test daily_recap::tests::json_dto_summarized_schema_v1 ... ok
[INFO] [stdout] test daily_recap::tests::run_run_outcome_skipped ... ok
[INFO] [stdout] test daily_recap::tests::run_budget_exhausted ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_8_profile_flag_inserted_before_subcommand ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_7_stdin_passthrough ... ok
[INFO] [stdout] test onboarding::env_rc::tests::shell_quote_escapes_special_chars ... ok
[INFO] [stdout] test onboarding::env_rc::tests::shell_quote_passthrough_for_safe_chars ... ok
[INFO] [stdout] test onboarding::env_rc::tests::patch_shell_rc_creates_file_when_missing ... ok
[INFO] [stdout] test onboarding::env_rc::tests::patch_shell_rc_is_idempotent ... ok
[INFO] [stdout] test onboarding::env_rc::tests::patch_shell_rc_preserves_existing_content ... ok
[INFO] [stdout] test onboarding::env_rc::tests::write_atomic_overwrites_existing ... ok
[INFO] [stdout] test onboarding::env_rc::tests::write_atomic_leaves_no_tmp_files_on_success ... ok
[INFO] [stdout] test daily_recap::tests::json_dto_raw_dump_schema_v1 ... ok
[INFO] [stdout] test daily_recap::tests::budget_not_consumed_on_failure ... ok
[INFO] [stdout] test onboarding::env_rc::tests::write_env_file_has_export_line ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_collision_returns_shim_target_variant ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_env_only ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_flag_invalid_path_propagates_override_invalid ... ok
[INFO] [stdout] test onboarding::hooks::tests::write_sh_bridge_chmods_0755 ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::validate_override_accepts_existing_regular_file ... ok
[INFO] [stdout] test daily_recap::tests::budget_consumed_on_success ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_path_detected_non_shim_candidate ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::validate_override_missing_path_returns_missing ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_flag_wins_over_env ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::validate_override_directory_rejected ... ok
[INFO] [stdout] test daily_recap::tests::run_run_outcome_failed ... ok
[INFO] [stdout] test onboarding::shim::tests::looks_like_roostery_shim_handles_missing_file ... ok
[INFO] [stdout] test daily_recap::tests::run_runner_errored ... ok
[INFO] [stdout] test onboarding::shim::tests::install_shim_idempotent_on_same_content ... ok
[INFO] [stdout] test onboarding::shim::tests::looks_like_roostery_shim_rejects_user_script ... ok
[INFO] [stdout] test onboarding::shim::tests::looks_like_roostery_shim_finds_magic ... ok
[INFO] [stdout] test daily_recap::tests::run_empty_output ... ok
[INFO] [stdout] test onboarding::tests::format_report_shows_real_lark_cli_source ... ok
[INFO] [stdout] test onboarding::types::tests::init_options_default ... ok
[INFO] [stdout] test onboarding::types::tests::init_options_default_real_lark_cli_override_is_none ... ok
[INFO] [stdout] test onboarding::tests::onboarding_error_three_sub_variants_carry_fix_hint ... ok
[INFO] [stdout] test onboarding::types::tests::real_lark_cli_source_display_is_lowercase ... ok
[INFO] [stdout] test onboarding::types::tests::skip_reason_variants_distinguishable ... ok
[INFO] [stdout] test onboarding::shim::tests::install_shim_refuses_non_shim_target ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_flag_only_short_circuits ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::resolve_zero_candidates_returns_not_in_path ... ok
[INFO] [stdout] test onboarding::types::tests::shell_kind_detect_bash ... ok
[INFO] [stdout] test onboarding::types::tests::shell_kind_detect_unset_errors ... ok
[INFO] [stdout] test daily_recap::tests::run_runner_not_in_registry ... ok
[INFO] [stdout] test onboarding::types::tests::shell_kind_detect_fish_errors ... ok
[INFO] [stdout] test onboarding::types::tests::shell_kind_detect_zsh ... ok
[INFO] [stdout] test paths::tests::empty_env_falls_through_to_default ... ok
[INFO] [stdout] test paths::tests::bot_chat_cache_dir_under_state ... ok
[INFO] [stdout] test paths::tests::defaults_to_home_dot_roostery ... ok
[INFO] [stdout] test paths::tests::bot_chat_cache_dir_neutralizes_path_traversal ... ok
[INFO] [stdout] test redact::tests::is_sensitive_key_empty_string_false ... ok
[INFO] [stdout] test paths::tests::env_override_wins ... ok
[INFO] [stdout] test paths::tests::ignores_legacy_feishu_hub_home ... ok
[INFO] [stdout] test redact::tests::mask_is_three_asterisks ... ok
[INFO] [stdout] test redact::tests::scrub_argv_empty_input ... ok
[INFO] [stdout] test redact::tests::scrub_argv_header_non_sensitive ... ok
[INFO] [stdout] test redact::tests::scrub_argv_flag_space_value ... ok
[INFO] [stdout] test redact::tests::scrub_argv_header_long_form ... ok
[INFO] [stdout] test redact::tests::scrub_argv_flag_equals_value ... ok
[INFO] [stdout] test redact::tests::scrub_argv_header_short_form ... ok
[INFO] [stdout] test redact::tests::scrub_argv_non_sensitive_flag_passes_through ... ok
[INFO] [stdout] test redact::tests::scrub_argv_sensitive_flag_last_no_value ... ok
[INFO] [stdout] test redact::tests::scrub_argv_normalizes_dash_to_underscore ... ok
[INFO] [stdout] test redact::tests::scrub_value_array_elements ... ok
[INFO] [stdout] test redact::tests::scrub_value_all_eleven_keys_covered ... ok
[INFO] [stdout] test redact::tests::scrub_value_camel_case_key_redacted ... ok
[INFO] [stdout] test redact::tests::scrub_value_dash_and_case_variants ... ok
[INFO] [stdout] test redact::tests::scrub_text_empty_string ... ok
[INFO] [stdout] test redact::tests::scrub_text_yaml_form ... ok
[INFO] [stdout] test redact::tests::scrub_text_case_insensitive ... ok
[INFO] [stdout] test redact::tests::scrub_value_no_sensitive_keys ... ok
[INFO] [stdout] test redact::tests::scrub_text_no_sensitive_key ... ok
[INFO] [stdout] test redact::tests::scrub_text_json_string_form ... ok
[INFO] [stdout] test dispatcher::runners::tests::drain_with_head_cap_bounded_memory_for_huge_input ... ok
[INFO] [stdout] test redact::tests::scrub_value_idempotent ... ok
[INFO] [stdout] test redact::tests::scrub_value_jsonptr_escape_slash_in_key ... ok
[INFO] [stdout] test redact::tests::scrub_value_pascal_case_key_redacted ... ok
[INFO] [stdout] test redact::tests::scrub_value_primitive_top_level ... ok
[INFO] [stdout] test redact::tests::scrub_value_nested_object ... ok
[INFO] [stdout] test redact::tests::scrub_text_multiple_keys_in_one_blob ... ok
[INFO] [stdout] test redact::tests::scrub_value_screaming_snake_case_key_redacted ... ok
[INFO] [stdout] test redact::tests::sensitive_keys_has_eleven ... ok
[INFO] [stdout] test remoterefs::tests::newtype_as_ref_and_display ... ok
[INFO] [stdout] test remoterefs::tests::newtype_serializes_transparently_as_bare_string ... ok
[INFO] [stdout] test remoterefs::tests::s1_10_app_token ... ok
[INFO] [stdout] test remoterefs::tests::s1_12_task_id ... ok
[INFO] [stdout] test remoterefs::tests::s1_13_thread_id ... ok
[INFO] [stdout] test remoterefs::tests::s1_2_doc_token_from_document_id ... ok
[INFO] [stdout] test redact::tests::scrub_value_simple_object ... ok
[INFO] [stdout] test remoterefs::tests::default_is_all_none_and_serializes_to_empty_object ... ok
[INFO] [stdout] test remoterefs::tests::s1_1_message_id ... ok
[INFO] [stdout] test remoterefs::tests::s1_3_doc_token_from_doc_token_key ... ok
[INFO] [stdout] test remoterefs::tests::s1_4_doc_token_from_obj_token ... ok
[INFO] [stdout] test remoterefs::tests::s1_5_folder_token_explicit_key_no_argv ... ok
[INFO] [stdout] test remoterefs::tests::s1_6_folder_token_via_argv_disambiguation ... ok
[INFO] [stdout] test remoterefs::tests::s1_9_chat_id ... ok
[INFO] [stdout] test remoterefs::tests::s1_7_folder_token_argv_no_match_does_not_extract_generic_token ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_4_empty_queue_panics - should panic ... ok
[INFO] [stdout] test lark_cli::mock::tests::s4_5b_assert_no_unconsumed_panics_on_leftover - should panic ... ok
[INFO] [stdout] test onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd ... FAILED
[INFO] [stdout] test remoterefs::tests::s1_11_wiki_token ... ok
[INFO] [stdout] test remoterefs::tests::s1_8_record_id ... ok
[INFO] [stdout] test remoterefs::tests::s2_2_nested_object_walks_through ... ok
[INFO] [stdout] test remoterefs::tests::s2_3_array_first_match_wins ... ok
[INFO] [stdout] test remoterefs::tests::s2_1_multiple_fields_in_one_object ... ok
[INFO] [stdout] test remoterefs::tests::s2_5_sibling_key_dictionary_order_locks_invariant_8 ... ok
[INFO] [stdout] test remoterefs::tests::s5_2_all_none_serializes_to_empty_object ... ok
[INFO] [stdout] test remoterefs::tests::s2_6_doc_token_aliases_dict_order_first ... ok
[INFO] [stdout] test remoterefs::tests::s2_4_top_level_array ... ok
[INFO] [stdout] test remoterefs::tests::s5_3_partial_serialize_only_non_none_fields ... ok
[INFO] [stdout] test remoterefs::tests::s5_4_extract_roundtrip ... ok
[INFO] [stdout] test smoke::tests::probe_matrix_names_match_python_parity ... ok
[INFO] [stdout] test smoke::tests::probe_matrix_has_six_entries ... ok
[INFO] [stdout] test remoterefs::tests::s3_1_error_fallback_returns_default ... ok
[INFO] [stdout] test smoke::tests::load_last_missing_returns_never_run ... ok
[INFO] [stdout] test smoke::tests::ensure_ready_happy ... ok
[INFO] [stdout] test smoke::tests::load_last_bad_json_returns_state_load_failed ... ok
[INFO] [stdout] test remoterefs::tests::s3_2_deep_nesting_does_not_overflow_locks_invariant_9 ... ok
[INFO] [stdout] test smoke::tests::probe_result_optional_fields_skipped_when_none ... ok
[INFO] [stdout] test smoke::tests::ensure_ready_last_failed ... ok
[INFO] [stdout] test smoke::tests::probe_one_binary_not_found ... ok
[INFO] [stdout] test smoke::tests::smoke_error_display ... ok
[INFO] [stdout] test smoke::tests::ensure_ready_never_run ... ok
[INFO] [stdout] test smoke::tests::ensure_ready_state_load_failed ... ok
[INFO] [stdout] test smoke::tests::save_and_load_round_trip ... ok
[INFO] [stdout] test smoke::tests::smoke_report_round_trip ... ok
[INFO] [stdout] test smoke::tests::run_with_missing_binary_marks_all_failed ... ok
[INFO] [stdout] test smoke::tests::probe_one_happy ... ok
[INFO] [stdout] test smoke::tests::probe_one_unexpected_exit ... ok
[INFO] [stdout] test smoke::tests::probe_one_unknown_flag ... ok
[INFO] [stdout] test smoke::tests::probe_one_timeout ... ok
[INFO] [stdout] test smoke::tests::run_with_fake_binary_writes_state ... ok
[INFO] [stdout] test lark_cli::subprocess::tests::s2_6_timeout_returns_promptly_and_marks_retriable ... ok
[INFO] [stdout] test dispatcher::runners::tests::cc_headless_timeout_returns_err ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd' (2239) panicked at crates/roostery/src/onboarding/lark_cli_override.rs:114:57:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/crates/roostery/.tmpQ2GPL3", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x574c39d72081 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x574c39d72081 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x574c39d72081 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x574c39d72081 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x574c39d89a1a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x574c39d89a1a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x574c39d76adc - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x574c39d76adc - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x574c39d4b406 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x574c39d4b406 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x574c39d67749 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x574c3986d3d0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x574c3986d3d0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x574c39d67a72 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x574c39d67a72 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x574c39d4b4b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x574c39d428d9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x574c39d4c47d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x574c39d8a29c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x574c39d8a012 - core[6883ba1bc0fe4ed1]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x574c39606bd7 - <core[6883ba1bc0fe4ed1]::result::Result<tempfile[5dd30d54df41b687]::file::NamedTempFile, core[6883ba1bc0fe4ed1]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1231:23
[INFO] [stdout]   21:     0x574c39606bd7 - roostery[200e7b94fa0ffa87]::onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/roostery/src/onboarding/lark_cli_override.rs:114:57
[INFO] [stdout]   22:     0x574c395eccf7 - roostery[200e7b94fa0ffa87]::onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/roostery/src/onboarding/lark_cli_override.rs:111:57
[INFO] [stdout]   23:     0x574c393d19f6 - <roostery[200e7b94fa0ffa87]::onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x574c3986070b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x574c3986070b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x574c3986dd55 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x574c3986dd55 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x574c3986dd55 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x574c3986dd55 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x574c3986dd55 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x574c3986dd55 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x574c3986dd55 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x574c39868804 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x574c39868804 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x574c39870ea2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x574c39870ea2 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x574c39870ea2 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x574c39870ea2 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x574c39870ea2 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x574c39870ea2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x574c39870ea2 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x574c39d70f6f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x574c39d70f6f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x782dccc4daa4 - <unknown>
[INFO] [stdout]   45:     0x782dcccdaa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     onboarding::lark_cli_override::tests::validate_override_relative_path_relative_to_cwd
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 532 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.27s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f", kill_on_drop: false }`
[INFO] [stdout] 328ba2e7860100edfb481fca9f8a6f54ded2b0f15100a7e6bf21cc3ce4320a7f
