[INFO] cloning repository https://github.com/BrightBlock/hyprlayer-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BrightBlock/hyprlayer-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrightBlock%2Fhyprlayer-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrightBlock%2Fhyprlayer-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1f7370976053d293da0718c00aab5faa78396e6a
[INFO] testing BrightBlock/hyprlayer-cli against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrightBlock%2Fhyprlayer-cli" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BrightBlock/hyprlayer-cli
[INFO] finished tweaking git repo https://github.com/BrightBlock/hyprlayer-cli
[INFO] tweaked toml for git repo https://github.com/BrightBlock/hyprlayer-cli written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BrightBlock/hyprlayer-cli on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BrightBlock/hyprlayer-cli 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.104
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded chrono-humanize v0.1.2
[INFO] [stderr]   Downloaded enable-ansi-support v0.2.1
[INFO] [stderr]   Downloaded libredox v0.1.12
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.6
[INFO] [stderr]   Downloaded dialoguer v0.11.0
[INFO] [stderr]   Downloaded shellexpand v3.1.1
[INFO] [stderr]   Downloaded self-replace v1.5.0
[INFO] [stderr]   Downloaded zmij v1.0.0
[INFO] [stderr]   Downloaded tempfile v3.24.0
[INFO] [stderr]   Downloaded anyhow v1.0.100
[INFO] [stderr]   Downloaded serde_json v1.0.148
[INFO] [stderr]   Downloaded cc v1.2.51
[INFO] [stderr]   Downloaded ureq v2.12.1
[INFO] [stderr]   Downloaded git2 v0.19.0
[INFO] [stderr]   Downloaded rustix v1.1.3
[INFO] [stderr]   Downloaded libz-sys v1.1.23
[INFO] [stderr]   Downloaded libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]   Downloaded openssl-src v300.5.4+3.5.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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] 4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d
[INFO] running `Command { std: "docker" "start" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", 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" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", 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" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling zmij v1.0.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling hyprlayer v1.5.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling shellexpand v3.1.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling self-replace v1.5.0
[INFO] [stderr]    Compiling openssl-src v300.5.4+3.5.4
[INFO] [stderr]    Compiling chrono-humanize v0.1.2
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling git2 v0.19.0
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 19s
[INFO] running `Command { std: "docker" "inspect" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", 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" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hyprlayer v1.5.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.31s
[INFO] running `Command { std: "docker" "inspect" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", 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" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/hyprlayer-92e02edb317743a1)
[INFO] [stdout] 
[INFO] [stdout] running 397 tests
[INFO] [stdout] test agents::tests::copilot_is_installed_requires_code_review_and_codebase_locator ... ok
[INFO] [stdout] test agents::tests::dest_display_claude_contains_claude_dir ... ok
[INFO] [stdout] test agents::tests::dest_display_opencode_contains_opencode_dir ... ok
[INFO] [stdout] test agents::tests::dest_display_uses_platform_separator ... ok
[INFO] [stdout] test agents::tests::dest_display_copilot_contains_code_user ... ok
[INFO] [stdout] test agents::tests::opencode_provider_adversarial_models ... ok
[INFO] [stdout] test agents::tests::opencode_provider_deserializes_from_kebab_case ... ok
[INFO] [stdout] test agents::tests::opencode_provider_opus_models ... ok
[INFO] [stdout] test agents::tests::opencode_provider_prefixes ... ok
[INFO] [stdout] test agents::tests::opencode_provider_serializes_to_kebab_case ... ok
[INFO] [stdout] test agents::tests::claude_is_installed_requires_skills ... ok
[INFO] [stdout] test agents::tests::opencode_provider_sonnet_models ... ok
[INFO] [stdout] test agents::tests::raw_github_url_includes_repo_path ... ok
[INFO] [stdout] test agents::tests::raw_github_url_pins_to_sha_when_provided ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_missing_sha_field_errors ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_empty_array_errors ... ok
[INFO] [stdout] test agents::tests::has_existing_install_accepts_dirs_without_current_sentinels ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_propagates_github_error_message ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_non_string_sha_errors ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_picks_first_entry ... ok
[INFO] [stdout] test agents::tests::raw_github_url_falls_back_to_branch ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_malformed_json_errors ... ok
[INFO] [stdout] test agents::tests::opencode_is_installed_requires_code_review_and_codebase_locator ... ok
[INFO] [stdout] test agents::tests::opencode_adversarial_reviewer_template_substitutes_for_all_providers ... ok
[INFO] [stdout] test agents::tests::parse_repo_dir_sha_happy_path ... ok
[INFO] [stdout] test backends::anytype::tests::mcp_registration_status_skips_copilot ... ok
[INFO] [stdout] test agents::tests::replace_model_placeholders_skips_files_without_placeholders ... ok
[INFO] [stdout] test backends::common::tests::resolve_mcp_env_pair_expands_value ... ok
[INFO] [stdout] test backends::common::tests::resolve_mcp_env_pair_errors_when_unset ... ok
[INFO] [stdout] test backends::notion::tests::status_reports_missing_database_id_as_pending ... ok
[INFO] [stdout] test agents::tests::replace_model_placeholders_replaces_adversarial ... ok
[INFO] [stdout] test backends::notion::tests::status_reports_parent_and_database_without_token_or_mcp_rows ... ok
[INFO] [stdout] test agents::tests::replace_model_placeholders_replaces_opus ... ok
[INFO] [stdout] test agents::tests::replace_model_placeholders_replaces_sonnet ... ok
[INFO] [stdout] test backends::anytype::tests::status_reports_env_var_presence ... ok
[INFO] [stdout] test backends::anytype::tests::status_omits_env_row_when_unset ... ok
[INFO] [stdout] test agents::tests::update_opencode_models_with_different_providers ... ok
[INFO] [stdout] test backends::schema::tests::schema_has_ten_fields_in_documented_order ... ok
[INFO] [stdout] test backends::schema::tests::required_fields_are_correctly_marked ... ok
[INFO] [stdout] test backends::anytype::tests::status_reports_missing_type_id_as_pending ... ok
[INFO] [stdout] test backends::schema::tests::scope_field_options_match_spec ... ok
[INFO] [stdout] test backends::obsidian::tests::init_errors_without_vault_path ... ok
[INFO] [stdout] test backends::schema::tests::full_schema_serializes_to_array ... ok
[INFO] [stdout] test agents::tests::update_opencode_models_replaces_adversarial_alongside_others ... ok
[INFO] [stdout] test backends::obsidian::tests::sync_is_noop ... ok
[INFO] [stdout] test backends::notion::tests::sync_is_noop ... ok
[INFO] [stdout] test backends::schema::tests::select_fields_have_options ... ok
[INFO] [stdout] test agents::tests::update_opencode_models_replaces_placeholders ... ok
[INFO] [stdout] test backends::anytype::tests::sync_is_noop ... ok
[INFO] [stdout] test cli::tests::subcommand_names_are_stable_dotted_strings ... ok
[INFO] [stdout] test backends::schema::tests::serializes_select_field_with_options ... ok
[INFO] [stdout] test backends::schema::tests::serializes_text_field_without_options ... ok
[INFO] [stdout] test backends::schema::tests::status_field_options_match_spec ... ok
[INFO] [stdout] test backends::schema::tests::type_field_options_match_spec ... ok
[INFO] [stdout] test cli::tests::self_update_skips_startup_checks_but_still_records_dispatch ... ok
[INFO] [stdout] test commands::ai::tests::install_event_skipped_when_no_agent_tool ... ok
[INFO] [stdout] test commands::ai::tests::install_event_built_when_recording_and_agent_tool_set ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_hook_when_telemetry_off ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_hook_without_installation_id ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_opencode_plugin_when_telemetry_off ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_opencode_plugin_for_non_opencode_agent ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_opencode_plugin_without_installation_id ... ok
[INFO] [stdout] test commands::codex::stream::tests::ansi_csi_sequences_are_stripped_from_agent_message ... ok
[INFO] [stdout] test commands::codex::stream::tests::ansi_in_command_execution_is_stripped ... ok
[INFO] [stdout] test commands::ai::tests::should_install_opencode_plugin_only_when_opencode_and_recording ... ok
[INFO] [stdout] test commands::ai::tests::should_not_install_hook_for_non_claude_agent ... ok
[INFO] [stdout] test commands::ai::tests::should_install_hook_only_when_claude_and_recording ... ok
[INFO] [stdout] test commands::codex::stream::tests::ansi_osc_clipboard_sequence_is_stripped ... ok
[INFO] [stdout] test commands::ai::tests::install_event_skipped_when_telemetry_off ... ok
[INFO] [stdout] test commands::codex::stream::tests::broken_pipe_on_stdout_exits_cleanly ... ok
[INFO] [stdout] test commands::codex::stream::tests::empty_input_does_not_warn ... ok
[INFO] [stdout] test commands::codex::stream::tests::empty_text_in_reasoning_does_not_emit ... ok
[INFO] [stdout] test commands::codex::stream::tests::final_agent_message_without_trailing_newline_is_emitted ... ok
[INFO] [stdout] test commands::codex::stream::tests::final_line_without_trailing_newline_still_processed ... ok
[INFO] [stdout] test commands::codex::stream::tests::happy_path_emits_session_thinking_tool_message_and_tokens ... ok
[INFO] [stdout] test commands::codex::stream::tests::invalid_utf8_does_not_drop_surrounding_events ... ok
[INFO] [stdout] test commands::codex::stream::tests::happy_path_outcome_is_not_failed ... ok
[INFO] [stdout] test commands::codex::stream::tests::lone_c0_control_chars_are_dropped ... ok
[INFO] [stdout] test commands::codex::stream::tests::invalid_utf8_inside_agent_message_falls_back_to_lossy ... ok
[INFO] [stdout] test commands::codex::stream::tests::missing_turn_completed_emits_stderr_warning ... ok
[INFO] [stdout] test commands::codex::stream::tests::missing_usage_fields_default_to_zero_tokens ... ok
[INFO] [stdout] test commands::codex::stream::tests::malformed_json_lines_are_skipped ... ok
[INFO] [stdout] test commands::codex::stream::tests::no_thinking_suppresses_reasoning_lines ... ok
[INFO] [stdout] test commands::codex::stream::tests::sanitize_text_is_a_noop_for_clean_input ... ok
[INFO] [stdout] test commands::codex::stream::tests::schema_drift_warning_when_only_unknown_event_types ... ok
[INFO] [stdout] test commands::codex::stream::tests::no_tool_calls_suppresses_command_execution ... ok
[INFO] [stdout] test commands::codex::stream::tests::token_overflow_saturates_instead_of_panicking ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_emits_error_and_suppresses_disconnect_warning ... ok
[INFO] [stdout] test commands::codex::stream::tests::stdin_read_error_propagates ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_sets_failed_outcome ... ok
[INFO] [stdout] test commands::ai::tests::record_install_persists_sha_and_clears_throttle ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_with_no_known_message_field_still_prints_marker ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_completed_after_turn_failed_does_not_clear_failed_flag ... ok
[INFO] [stdout] test backends::obsidian::tests::init_creates_tree_and_symlinks_no_git_dir ... ok
[INFO] [stdout] test cli::tests::skip_dispatch_telemetry_only_for_spool_writers ... ok
[INFO] [stdout] test commands::codex::stream::tests::ansi_in_thread_id_is_stripped ... ok
[INFO] [stdout] test commands::codex::stream::tests::ansi_in_turn_failed_message_is_stripped ... ok
[INFO] [stdout] test commands::codex::stream::tests::crlf_line_endings_are_handled ... ok
[INFO] [stdout] test commands::codex::stream::tests::no_schema_drift_warning_when_at_least_one_known_event_seen ... ok
[INFO] [stdout] test commands::ai::tests::record_install_with_none_keeps_existing_sha ... ok
[INFO] [stdout] test commands::self_update::tests::target_triple_matches_host_target ... ok
[INFO] [stdout] test commands::self_update::tests::asset_name_matches_release_yml_matrix ... ok
[INFO] [stdout] test commands::self_update::tests::only_direct_release_methods_preflight_version_metadata ... ok
[INFO] [stdout] test commands::storage::info::tests::json_payload_for_obsidian_includes_content_root ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_with_non_string_top_level_message_falls_back_to_error_message ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_with_object_error_field_no_message_still_marks_failure ... ok
[INFO] [stdout] test commands::codex::stream::tests::turn_failed_with_string_error_field ... ok
[INFO] [stdout] test commands::codex::stream::tests::whitespace_only_input_does_not_warn ... ok
[INFO] [stdout] test commands::codex::stream::tests::zero_token_usage_with_both_fields_present_emits_no_tokens_line ... ok
[INFO] [stdout] test commands::codex::stream::tests::unknown_event_types_are_silently_skipped_when_known_events_present ... ok
[INFO] [stdout] test commands::storage::info::tests::json_payload_for_unmapped_reports_git_and_null_mapped ... ok
[INFO] [stdout] test commands::storage::info::tests::select_schema_fields_retain_options_verbatim ... ok
[INFO] [stdout] test commands::storage::info::tests::json_payload_for_anytype_includes_settings_and_null_type_id ... ok
[INFO] [stdout] test commands::storage::info::tests::json_payload_includes_schema_and_backend_for_git ... ok
[INFO] [stdout] test commands::storage::info::tests::json_payload_for_notion_includes_settings_without_token_env ... ok
[INFO] [stdout] test commands::self_update::tests::which_finds_a_known_binary ... ok
[INFO] [stdout] test commands::storage::info::tests::schema_array_has_all_ten_fields_in_order ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::release_lock_demotes_identified_to_anonymous ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::release_lock_preserves_non_identified_mode ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::hook_command_quotes_path_with_spaces ... ok
[INFO] [stdout] test commands::storage::set_database_id::tests::errors_when_active_backend_is_not_notion ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::config_refuses_api_key_override_when_locked ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::config_refuses_reset_when_locked ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::config_org_id_alone_passes_when_locked ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::demote_preserves_manual_key ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::demote_clears_github_key_and_resets_source ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::demote_is_noop_when_source_is_default ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_errors_on_array_typed_hooks_value ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_errors_on_wrong_typed_stop_value ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_creates_settings_when_missing ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_errors_on_object_typed_stop_value ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_twice_is_idempotent ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_promotes_null_hooks_to_object ... ok
[INFO] [stdout] test commands::telemetry::config_cmd::tests::config_refresh_not_blocked_by_lock ... ok
[INFO] [stdout] test commands::storage::set_database_id::tests::updates_notion_database_id_on_success ... ok
[INFO] [stdout] test commands::storage::set_database_id::tests::rejects_empty_id ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_appends_new_group_rather_than_merging ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::is_hyprlayer_hook_recognizes_every_install_format ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::is_hyprlayer_hook_rejects_unrelated_commands ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::is_hyprlayer_hook_rejects_extra_args_or_wrong_subcommand ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_errors_on_wrong_typed_hooks_value ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_round_trip_preserves_other_top_level_keys ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::split_argv0_handles_every_quoting_style ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_preserves_unrelated_hooks ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::is_hyprlayer_hook_rejects_user_wrappers_with_hyprlayer_in_path ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_upgrades_bare_command_to_absolute_path ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::shell_quote_escapes_embedded_single_quote ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::shell_quote_wraps_path_with_spaces_in_single_quotes ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::uninstall_on_missing_file_is_noop ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::is_installed_returns_false_for_missing_file ... ok
[INFO] [stdout] test commands::storage::set_type_id::tests::updates_anytype_type_id_on_success ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::install_writes_settings_with_0600_perms ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::uninstall_removes_bare_and_absolute_path_entries ... ok
[INFO] [stdout] test commands::telemetry::hook::tests::uninstall_drops_empty_stop_array ... ok
[INFO] [stdout] test commands::telemetry::off::tests::off_locked_error_omits_org_clause_when_unset ... ok
[INFO] [stdout] test commands::telemetry::off::tests::off_on_missing_config_writes_sticky_off ... ok
[INFO] [stdout] test commands::telemetry::off::tests::off_refuses_when_locked_and_leaves_config_intact ... ok
[INFO] [stdout] test commands::storage::set_type_id::tests::rejects_empty_id ... ok
[INFO] [stdout] test commands::telemetry::init::tests::init_refuses_api_key_override_when_locked ... ok
[INFO] [stdout] test commands::telemetry::init::tests::init_refuses_mode_anonymous_when_locked ... ok
[INFO] [stdout] test commands::codex::stream::tests::oversize_line_is_dropped_and_warned ... ok
[INFO] [stdout] test agents::tests::opencode_provider_display_names ... ok
[INFO] [stdout] test commands::telemetry::init::tests::init_mode_identified_without_key_is_noop_when_locked ... ok
[INFO] [stdout] test commands::storage::set_type_id::tests::errors_when_active_backend_is_not_anytype ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::install_path_includes_opencode_plugins_segment ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::is_installed_at_returns_false_when_absent ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::is_installed_at_returns_false_when_directory_at_path ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::is_installed_at_returns_true_when_file_present ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_rejects_pasted_command_name_without_command_message ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_returns_none_when_missing ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_accepts_namespaced_skill_names ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_payload_silent_on_garbage ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_ts_ms_round_trip ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_handles_no_slash_prefix ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::uninstall_at_removes_plugin_file ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_handles_array_content ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_ignores_tool_result_user_messages ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_rejects_pathological_chars ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_ignores_meta_user_messages ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_returns_none_for_followup_after_skill ... ok
[INFO] [stdout] test commands::telemetry::opencode_plugin::tests::uninstall_at_on_missing_file_is_noop ... ok
[INFO] [stdout] test commands::telemetry::skill_end::tests::future_timestamp_saturates_to_zero_not_negative ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_payload_accepts_minimal_schema ... ok
[INFO] [stdout] test commands::telemetry::skill_end::tests::malformed_session_returns_none ... ok
[INFO] [stdout] test commands::telemetry::skill_end::tests::duration_is_small_when_session_is_recent ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_unparseable_timestamps_leave_duration_none ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_command_marker_strips_leading_slash ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::parse_payload_tolerates_extra_fields ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_partial_usage_fields ... ok
[INFO] [stdout] test commands::telemetry::skill_end::tests::whitespace_in_token_is_stripped ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_skips_synthetic_and_empty_model_keeps_last_real ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_tolerates_malformed_lines ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_returns_none_for_non_skill_turn ... ok
[INFO] [stdout] test commands::telemetry::skill_start::tests::token_format_is_ms_dash_8hex ... ok
[INFO] [stdout] test commands::telemetry::skill_start::tests::token_uses_only_shell_safe_ascii ... ok
[INFO] [stdout] test commands::telemetry::skill_start::tests::tokens_are_unique_across_calls ... ok
[INFO] [stdout] test commands::telemetry::status::tests::locked_field_truth_table ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::content_root_guard_blocks_cwd_at_root ... ok
[INFO] [stdout] test commands::telemetry::record_from_hook::tests::summarize_turn_extracts_skill_and_token_totals ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::content_root_guard_blocks_cwd_nested_in_root ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::content_root_guard_allows_cwd_outside_root ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_allows_cwd_outside_thoughts_repo ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_blocks_cwd_at_thoughts_repo_root ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::content_root_guard_does_not_confuse_prefix_siblings ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_blocks_cwd_via_thoughts_symlink ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_blocks_cwd_inside_obsidian_content_root ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_checks_profile_repos_too ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_ignores_api_only_backends ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_blocks_cwd_nested_inside_thoughts_repo ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_absent_path_is_not_git_repo ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_errors_on_not_git_repo_without_force ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_empty_non_git_dir_is_not_git_repo ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_succeeds_on_not_git_repo_with_force ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_populated_non_git_dir_is_not_git_repo ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_not_git_repo_message_includes_path ... ok
[INFO] [stdout] test commands::thoughts::init::tests::require_git_repo_errors_for_filesystem_backends_outside_git ... ok
[INFO] [stdout] test commands::thoughts::init::tests::require_git_repo_passes_for_notion_outside_git ... ok
[INFO] [stdout] test commands::thoughts::init::tests::resolve_backend_short_circuits_on_explicit_flag ... ok
[INFO] [stdout] test config::tests::ai_config_default_values ... ok
[INFO] [stdout] test config::tests::backend_config_default_is_git ... ok
[INFO] [stdout] test config::tests::backend_config_kind_returns_matching_discriminant ... ok
[INFO] [stdout] test config::tests::backend_kind_default_is_git ... ok
[INFO] [stdout] test config::tests::backend_config_serde_round_trip ... ok
[INFO] [stdout] test config::tests::backend_kind_serde_round_trip ... ok
[INFO] [stdout] test config::tests::effective_config_falls_back_to_top_level_backend ... ok
[INFO] [stdout] test config::tests::backend_kind_serializes_lowercase ... ok
[INFO] [stdout] test config::tests::effective_config_resolves_backend_from_profile ... ok
[INFO] [stdout] test config::tests::get_repo_name_from_path_extracts_last_component ... ok
[INFO] [stdout] test config::tests::is_thoughts_configured_per_variant ... ok
[INFO] [stdout] test config::tests::is_thoughts_configured_returns_false_for_default ... ok
[INFO] [stdout] test config::tests::key_source_serializes_lowercase ... ok
[INFO] [stdout] test config::tests::migrate_v1_ai_only ... ok
[INFO] [stdout] test config::tests::migrate_v1_full_config ... ok
[INFO] [stdout] test config::tests::migrate_v1_minimal_thoughts ... ok
[INFO] [stdout] test config::tests::migrate_v1_no_thoughts_key ... ok
[INFO] [stdout] test config::tests::hyprlayer_config_save_load_round_trip ... ok
[INFO] [stdout] test config::tests::migrate_v2_anytype_round_trip ... ok
[INFO] [stdout] test config::tests::migrate_v1_then_v2_chains_correctly ... ok
[INFO] [stdout] test config::tests::migrate_v2_anytype_writes_v4_shape_to_disk ... ok
[INFO] [stdout] test config::tests::migrate_v2_git_round_trip ... ok
[INFO] [stdout] test config::tests::migrate_v2_notion_drops_stale_anytype_token ... ok
[INFO] [stdout] test config::tests::migrate_v2_notion_round_trip ... ok
[INFO] [stdout] test config::tests::migrate_v2_notion_writes_v4_shape_to_disk ... ok
[INFO] [stdout] test config::tests::migrate_v2_obsidian_round_trip ... ok
[INFO] [stdout] test config::tests::migrate_v2_preserves_profiles_with_mixed_backends ... ok
[INFO] [stdout] test commands::thoughts::init::tests::require_git_repo_passes_for_filesystem_backend_inside_git ... ok
[INFO] [stdout] test config::tests::migrate_v2_strips_unused_filesystem_fields_from_notion ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_errors_on_reject_without_force ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_succeeds_on_adopt_heuristic ... ok
[INFO] [stdout] test config::tests::obsidian_root_expands_tilde ... ok
[INFO] [stdout] test config::tests::obsidian_root_handles_missing_subpath ... ok
[INFO] [stdout] test config::tests::obsidian_root_returns_none_without_vault_path ... ok
[INFO] [stdout] test config::tests::repo_mapping_object_variant_with_profile ... ok
[INFO] [stdout] test config::tests::repo_mapping_string_variant ... ok
[INFO] [stdout] test config::tests::sanitize_directory_name_replaces_special_chars ... ok
[INFO] [stdout] test config::tests::telemetry_config_legacy_deserialize_supplies_zero ... ok
[INFO] [stdout] test config::tests::telemetry_config_round_trip ... ok
[INFO] [stdout] test config::tests::telemetry_is_locked_truth_table ... ok
[INFO] [stdout] test config::tests::obsidian_root_handles_empty_subpath ... ok
[INFO] [stdout] test config::tests::telemetry_mode_serializes_lowercase ... ok
[INFO] [stdout] test config::tests::thoughts_config_default_values ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_git_repo_with_readme_and_license_is_create_new ... ok
[INFO] [stdout] test config::tests::obsidian_root_joins_vault_and_subpath ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_succeeds_on_reject_with_force ... ok
[INFO] [stdout] test config::tests::migrate_v2_obsidian_writes_v4_shape_to_disk ... ok
[INFO] [stdout] test config::tests::migrate_v3_to_v4_preserves_existing_fields ... ok
[INFO] [stdout] test config::tests::v3_config_without_agent_fields_loads_with_none ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_handles_empty_and_malformed_input ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_happy_path ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_lowercases_hex ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_git_repo_with_only_ignorable_entries_is_create_new ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_skips_assets_without_digest ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_skips_non_sha256_algorithms ... ok
[INFO] [stdout] test integrity::tests::digests_from_release_json_skips_malformed_digest ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_accepts_sha256_prefixed_form ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_accepts_uppercase_expected ... ok
[INFO] [stdout] test hooks::tests::setup_git_hooks_is_noop_outside_git_repo ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_accepts_correct_digest ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_handles_empty_file ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_missing_file_is_io_error ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_rejects_malformed_expected ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_rejects_wrong_digest ... ok
[INFO] [stdout] test telemetry::error_class::tests::classifier_output_is_in_the_known_set ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_git_repo_with_readme_and_real_content_is_reject ... ok
[INFO] [stdout] test config::tests::v4_config_does_not_trigger_migration ... ok
[INFO] [stdout] test telemetry::error_class::tests::classifier_walks_the_source_chain ... ok
[INFO] [stdout] test telemetry::event::tests::anonymous_mode_strips_user_id ... ok
[INFO] [stdout] test telemetry::error_class::tests::io_kinds_map_to_stable_strings ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_valid_thoughts_repo_is_adopt_heuristic ... ok
[INFO] [stdout] test telemetry::event::tests::cli_command_event_carries_command_and_duration ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_valid_thoughts_repo_with_renamed_dirs_is_adopt_heuristic ... ok
[INFO] [stdout] test telemetry::event::tests::outcome_from_str_round_trip ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_ignores_entries_case_insensitively ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_git_repo_without_layout_is_reject ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_git_repo_with_only_one_layout_dir_is_reject ... ok
[INFO] [stdout] test telemetry::event::tests::identified_mode_populates_user_id ... ok
[INFO] [stdout] test telemetry::event::tests::event_type_string_repr_is_stable ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::classify_empty_git_repo_is_create_new ... ok
[INFO] [stdout] test commands::thoughts::detect::tests::guard_succeeds_on_empty_git_repo ... ok
[INFO] [stdout] test telemetry::flush::tests::off_mode_short_circuits ... ok
[INFO] [stdout] test telemetry::error_class::tests::unknown_messages_get_stable_fallback ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::active_path_falls_back_to_top_level_when_profile_is_non_git ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::active_path_returns_none_when_no_git_backend_anywhere ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::active_path_prefers_profile_git_backend_when_cwd_mapped ... ok
[INFO] [stdout] test telemetry::flush::tests::resolve_default_uses_hardcoded_key_even_with_stale_override ... ok
[INFO] [stdout] test telemetry::identify::tests::record_identify_writes_one_event ... ok
[INFO] [stdout] test telemetry::flush::tests::resolve_github_returns_org_key_or_falls_back ... ok
[INFO] [stdout] test telemetry::flush::tests::resolve_manual_returns_manual_key ... ok
[INFO] [stdout] test telemetry::error_class::tests::keyword_classifier_handles_unknown_errors ... ok
[INFO] [stdout] test telemetry::identify::tests::record_identify_noops_with_empty_user ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_elevate_flips_when_org_keyed_and_user_set ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_elevate_skips_for_default_key_source ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_elevate_skips_when_already_identified ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_elevate_skips_when_user_is_empty ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_elevate_skips_when_off ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::discover_walk_returns_none_without_git_backend ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_throttled_noop_when_already_consistent ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::refresh_skips_when_thoughts_backend_is_not_git ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_discovery_empty_reenforces_cached_lock ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_throttled_reenforces_manual_off_edit ... ok
[INFO] [stdout] test hooks::tests::setup_git_hooks_cleanup_removes_post_commit ... ok
[INFO] [stdout] test telemetry::org_config::tests::classify_list_failure_distinguishes_403_from_404 ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_pristine_with_thoughts_no_corporate_lands_at_anonymous ... ok
[INFO] [stdout] test telemetry::org_config::tests::fetch_variable_missing_returns_none ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_first_run_no_corporate_lands_at_anonymous ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_corporate_overrides_sticky_off ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::refresh_skips_when_source_is_manual ... ok
[INFO] [stdout] test telemetry::org_config::tests::parse_remote_rejects_malformed ... ok
[INFO] [stdout] test telemetry::org_config::tests::parse_remote_rejects_non_github ... ok
[INFO] [stdout] test telemetry::org_config::tests::parse_remote_urls_happy_paths ... ok
[INFO] [stdout] test telemetry::posthog::tests::cli_command_uses_installation_id_as_distinct_id_in_anonymous_mode ... ok
[INFO] [stdout] test telemetry::posthog::tests::capture_payload_has_api_key_and_batch ... ok
[INFO] [stdout] test hooks::tests::setup_git_hooks_installs_inside_git_repo ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_preserves_sticky_off_when_no_corporate ... ok
[INFO] [stdout] test telemetry::org_config::tests::discover_github_remote_rejects_non_git_dir ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::enroll_first_run_flips_mode_and_generates_ids ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::auto_enroll_pristine_no_thoughts_lands_at_anonymous ... ok
[INFO] [stdout] test telemetry::org_config::tests::repo_variables_access_classifies_without_panicking ... ok
[INFO] [stdout] test telemetry::posthog::tests::identify_event_carries_anon_distinct_id ... ok
[INFO] [stdout] test telemetry::org_config::tests::gh_cli_status_returns_a_variant ... ok
[INFO] [stdout] test telemetry::posthog::tests::model_property_emitted_only_when_present ... ok
[INFO] [stdout] test telemetry::posthog::tests::org_id_emits_groups_property ... ok
[INFO] [stdout] test telemetry::privacy::tests::default_key_strips_user_and_org ... ok
[INFO] [stdout] test telemetry::privacy::tests::non_default_key_preserves_fields ... ok
[INFO] [stdout] test telemetry::spool::tests::append_and_drain_round_trip ... ok
[INFO] [stdout] test telemetry::spool::tests::append_after_drain_starts_lands_in_next_drain ... ok
[INFO] [stdout] test telemetry::spool::tests::append_creates_file_with_0600_permissions ... ok
[INFO] [stdout] test telemetry::spool::tests::depth_reports_bytes_and_count ... ok
[INFO] [stdout] test telemetry::spool::tests::append_refuses_to_follow_symlink ... ok
[INFO] [stdout] test telemetry::spool::tests::purge_removes_file ... ok
[INFO] [stdout] test telemetry::spool::tests::concurrent_drains_do_not_clobber_each_other ... ok
[INFO] [stdout] test telemetry::spool::tests::drain_skips_unparseable_lines ... ok
[INFO] [stdout] test telemetry::spool::tests::purge_force_sweeps_fresh_claims ... ok
[INFO] [stdout] test telemetry::spool::tests::sweep_skips_fresh_claims_keeps_old_ones ... ok
[INFO] [stdout] test telemetry::verbose::tests::env_truthy_values ... ok
[INFO] [stdout] test telemetry::spool::tests::purge_at_missing_file_is_ok ... ok
[INFO] [stdout] test version::tests::can_auto_update_only_for_direct_swap_methods ... ok
[INFO] [stdout] test version::tests::classify_path_recognizes_every_variant ... ok
[INFO] [stdout] test telemetry::verbose::tests::forced_flag_overrides ... ok
[INFO] [stdout] test version::tests::enrollment_throttle_gates_shellout ... ok
[INFO] [stdout] test version::tests::install_method_marker_can_live_in_install_root ... ok
[INFO] [stdout] test version::tests::install_method_marker_beats_legacy_path_detection ... ok
[INFO] [stdout] test version::tests::install_method_parser_accepts_canonical_names_only ... ok
[INFO] [stdout] test version::tests::should_auto_update_requires_flag_and_capable_method ... ok
[INFO] [stdout] test version::tests::should_notify_truth_table ... ok
[INFO] [stdout] test version::tests::should_run_discovery_rejects_future_anchors ... ok
[INFO] [stdout] test version::tests::should_reinstall_truth_table ... ok
[INFO] [stdout] test version::tests::throttle_math ... ok
[INFO] [stdout] test version::tests::version_comparison_mismatched_segments ... ok
[INFO] [stdout] test version::tests::version_comparison_works ... ok
[INFO] [stdout] test version_source::tests::aur_strips_only_trailing_pkgrel ... ok
[INFO] [stdout] test version::tests::upgrade_hint_covers_every_variant ... ok
[INFO] [stdout] test version::tests::version_comparison_prerelease ... ok
[INFO] [stdout] test version_source::tests::github_release_malformed_input_returns_none ... ok
[INFO] [stdout] test version::tests::version_comparison_empty_and_malformed ... ok
[INFO] [stdout] test version_source::tests::is_semverish_truth_table ... ok
[INFO] [stdout] test version_source::tests::homebrew_empty_outdated_json_means_no_update ... ok
[INFO] [stdout] test version_source::tests::homebrew_malformed_outdated_json_returns_none ... ok
[INFO] [stdout] test version_source::tests::aur_helper_empty_or_malformed_output_returns_none ... ok
[INFO] [stdout] test version_source::tests::cargo_uses_github_release_parser ... ok
[INFO] [stdout] test version_source::tests::github_release_accepts_no_v_prefix ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::discover_walk_finds_profile_only_git_backend ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::resolve_owner_repo_at_consults_profile_for_mapped_cwd ... ok
[INFO] [stdout] test version_source::tests::parses_winget_upgrade_table ... ok
[INFO] [stdout] test telemetry::org_config::tests::discover_github_remote_picks_up_github_origin ... ok
[INFO] [stdout] test version_source::tests::parses_aur_helper_outdated_output ... ok
[INFO] [stdout] test version_source::tests::parses_github_release ... ok
[INFO] [stdout] test version_source::tests::parses_homebrew_outdated_json ... ok
[INFO] [stdout] test telemetry::org_config::tests::discover_github_remote_handles_non_github_origin ... ok
[INFO] [stdout] test version_source::tests::parses_scoop_manifest ... ok
[INFO] [stdout] test version_source::tests::scoop_malformed_input_returns_none ... ok
[INFO] [stdout] test version_source::tests::winget_no_update_output_returns_none ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::discover_walk_returns_first_match_across_backends ... ok
[INFO] [stdout] test integrity::tests::verify_sha256_handles_large_file ... ok
[INFO] [stdout] test telemetry::lifecycle::tests::apply_side_effects_save_error_propagates ... FAILED
[INFO] [stdout] test version::tests::version_comparison_build_metadata ... ok
[INFO] [stdout] test version_source::tests::package_manager_stdout_handles_large_output_without_pipe_deadlock ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- telemetry::lifecycle::tests::apply_side_effects_save_error_propagates stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'telemetry::lifecycle::tests::apply_side_effects_save_error_propagates' (13334) panicked at src/telemetry/lifecycle.rs:468:9:
[INFO] [stdout] assertion failed: apply_side_effects(&mut cfg, unwritable).is_err()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fe6e1e69728 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fe6e1e69728 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fe6e1e69728 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fe6e1e69728 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fe6e1e81bfa - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fe6e1e81bfa - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x5fe6e1e6f4e2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5fe6e1e6f4e2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5fe6e1e43636 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fe6e1e43636 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5fe6e1e5ffe9 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5fe6e183ab8c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x5fe6e183ab8c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5fe6e1e60262 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x5fe6e1e60262 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5fe6e1e43724 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5fe6e1e37d49 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5fe6e1e44b0d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5fe6e1e8238c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fe6e1e82352 - core[8fb95b77d25ab6c8]::panicking::panic
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5fe6e1447f9f - hyprlayer[1c61763d592b048a]::telemetry::lifecycle::tests::apply_side_effects_save_error_propagates
[INFO] [stdout]                                at /opt/rustwide/workdir/src/telemetry/lifecycle.rs:468:9
[INFO] [stdout]   21:     0x5fe6e143a5b7 - hyprlayer[1c61763d592b048a]::telemetry::lifecycle::tests::apply_side_effects_save_error_propagates::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/telemetry/lifecycle.rs:449:50
[INFO] [stdout]   22:     0x5fe6e1513ba6 - <hyprlayer[1c61763d592b048a]::telemetry::lifecycle::tests::apply_side_effects_save_error_propagates::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5fe6e182dc6b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5fe6e182dc6b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5fe6e183b4e5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5fe6e183b4e5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5fe6e183b4e5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5fe6e183b4e5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5fe6e183b4e5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5fe6e183b4e5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5fe6e183b4e5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5fe6e1834df4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5fe6e1834df4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5fe6e183e562 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5fe6e183e562 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5fe6e183e562 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5fe6e183e562 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5fe6e183e562 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5fe6e183e562 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5fe6e183e562 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5fe6e1e6854f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   42:     0x5fe6e1e6854f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7ac05aea9aa4 - <unknown>
[INFO] [stdout]   44:     0x7ac05af36a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     telemetry::lifecycle::tests::apply_side_effects_save_error_propagates
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 396 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin hyprlayer`
[INFO] running `Command { std: "docker" "inspect" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d", kill_on_drop: false }`
[INFO] [stdout] 4975a015b9504dd4ba0e896f3d3519c9d317af32597d79009b8c3bb64500915d
