[INFO] cloning repository https://github.com/KelseySking/CodeOrbit-Rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KelseySking/CodeOrbit-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKelseySking%2FCodeOrbit-Rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKelseySking%2FCodeOrbit-Rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 70829df5c288e120a840acf6998d57966252e081 [INFO] testing KelseySking/CodeOrbit-Rust against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKelseySking%2FCodeOrbit-Rust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KelseySking/CodeOrbit-Rust [INFO] finished tweaking git repo https://github.com/KelseySking/CodeOrbit-Rust [INFO] tweaked toml for git repo https://github.com/KelseySking/CodeOrbit-Rust written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KelseySking/CodeOrbit-Rust 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/KelseySking/CodeOrbit-Rust 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] Downloading crates ... [INFO] [stderr] Downloaded fs2 v0.4.3 [INFO] [stderr] Downloaded whoami v2.1.2 [INFO] [stderr] Downloaded objc2-system-configuration v0.3.2 [INFO] [stderr] Downloaded axum-macros v0.5.1 [INFO] [stderr] Downloaded libredox v0.1.17 [INFO] [stderr] Downloaded sysinfo v0.39.5 [INFO] [stderr] Downloaded wasite v1.0.2 [INFO] [stderr] Downloaded objc2-open-directory v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85 [INFO] running `Command { std: "docker" "start" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", 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" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85" "/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" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", 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" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.46 [INFO] [stderr] Compiling bytes v1.12.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling memchr v2.8.2 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling anyhow v1.0.103 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling data-encoding v2.11.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling whoami v2.1.2 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling chacha20 v0.10.1 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling sysinfo v0.39.5 [INFO] [stderr] Compiling rand v0.10.1 [INFO] [stderr] Compiling dashmap v6.2.1 [INFO] [stderr] Compiling http v1.4.2 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling uuid v1.23.4 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling axum-macros v0.5.1 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tower-http v0.7.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tungstenite v0.29.0 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling codeorbit-contracts v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-contracts) [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling codeorbit-core v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-core) [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling codeorbit-bridge v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-bridge) [INFO] [stderr] Compiling codeorbit-hub v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-hub) [INFO] [stderr] Compiling codeorbit-host v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-host) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", 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" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85" "/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 tokio v1.52.3 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling codeorbit-contracts v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-contracts) [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling codeorbit-core v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-core) [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling codeorbit-bridge v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-bridge) [INFO] [stderr] Compiling codeorbit-hub v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-hub) [INFO] [stderr] Compiling codeorbit-host v0.1.3 (/opt/rustwide/workdir/crates/codeorbit-host) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 30.58s [INFO] running `Command { std: "docker" "inspect" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", 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" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85" "/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.25s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codeorbit_bridge-691ae2817925d957) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codeorbit_contracts-173a12514a686178) [INFO] [stdout] test environment_collector::tests::does_not_override_existing_term_app ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codeorbit_core-b583cd73bdc92440) [INFO] [stdout] test environment_collector::tests::does_not_override_existing_wt_session ... ok [INFO] [stderr] Running tests/plugin_system.rs (/opt/rustwide/target/debug/deps/plugin_system-08479ef36f8f0223) [INFO] [stdout] test bridge_client::tests::ipc_client_send_behavior ... ok [INFO] [stdout] test environment_collector::tests::injects_with_underscore_prefix_lowercased ... ok [INFO] [stdout] test field_normalizer::tests::does_not_override_existing_standard_name ... ok [INFO] [stdout] test field_normalizer::tests::normalizes_camel_case_aliases ... ok [INFO] [stdout] test payload_serializer::tests::serializes_compact_json ... ok [INFO] [stdout] test process_ancestry::tests::stem_strips_extension_and_path ... ok [INFO] [stdout] test program::tests::enrich_injects_all_metadata_and_normalizes ... ok [INFO] [stdout] test event_classifier::tests::permission_request_blocks ... ok [INFO] [stdout] test event_classifier::tests::pretooluse_with_approval_signal_blocks ... ok [INFO] [stdout] test event_classifier::tests::plain_events_do_not_block ... ok [INFO] [stdout] test program::tests::parses_source_arg ... ok [INFO] [stdout] test source_resolver::tests::cursor_agent_promoted ... ok [INFO] [stdout] test source_resolver::tests::exe_map_matches ... ok [INFO] [stdout] test event_classifier::tests::notification_with_question_blocks ... ok [INFO] [stdout] test event_classifier::tests::pretooluse_with_question_tool_blocks ... ok [INFO] [stdout] test source_resolver::tests::explicit_source_wins ... ok [INFO] [stdout] test process_ancestry::tests::parent_pid_is_nonzero_for_test_process ... ok [INFO] [stdout] test source_resolver::tests::node_process_inferred_from_path ... ok [INFO] [stdout] test source_resolver::tests::payload_transcript_path_implies_claude ... ok [INFO] [stdout] test source_resolver::tests::unknown_fallback ... ok [INFO] [stdout] test source_resolver::tests::vscode_host_is_not_an_ai_source ... ok [INFO] [stdout] test tracked_process_resolver::tests::cli_preferred_over_hook_shell ... ok [INFO] [stdout] test tracked_process_resolver::tests::cli_preferred_over_shell ... ok [INFO] [stdout] test tracked_process_resolver::tests::parent_fallback ... ok [INFO] [stdout] test tracked_process_resolver::tests::shell_used_when_no_tool ... ok [INFO] [stdout] test tracked_process_resolver::tests::tool_chosen_when_no_shell ... ok [INFO] [stdout] test tracked_process_resolver::tests::vscode_terminal_prefers_cli ... ok [INFO] [stdout] test tracked_process_resolver::tests::vscode_terminal_uses_host_when_tool_missing ... ok [INFO] [stdout] test process_ancestry::tests::ancestry_includes_current_process ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test ipc::message_protocol::tests::encode_roundtrip ... ok [INFO] [stdout] test ipc::message_protocol::tests::read_eof_returns_none ... ok [INFO] [stdout] test ipc::message_protocol::tests::read_write_roundtrip ... ok [INFO] [stdout] test ipc::named_pipe_path::tests::override_env_takes_precedence ... ok [INFO] [stdout] test ipc::named_pipe_path::tests::unix_socket_path_absolute_passes_through ... ok [INFO] [stdout] test ipc::named_pipe_path::tests::unix_socket_path_xdg_then_temp_fallback ... ok [INFO] [stdout] test models::hook_event::tests::parse_snake_case ... ok [INFO] [stdout] test models::hook_event::tests::parse_camel_case ... ok [INFO] [stdout] test ipc::named_pipe_path::tests::default_name_contains_prefix ... ok [INFO] [stdout] test ipc::named_pipe_path::tests::empty_override_falls_back_to_default ... ok [INFO] [stdout] test models::agent_status::tests::serde_round_trip ... ok [INFO] [stdout] test models::hook_event::tests::parse_with_source ... ok [INFO] [stdout] test models::session_snapshot::tests::test_new_session ... ok [INFO] [stdout] test models::session_snapshot::tests::test_explicit_project_name_wins ... ok [INFO] [stdout] test models::session_snapshot::tests::test_metadata_extracts_working_directory_and_project ... ok [INFO] [stdout] test services::claude_style_hook_response_builder::tests::permission_request_deny_uses_decision_object ... ok [INFO] [stdout] test services::codex_hook_response_builder::tests::pre_tool_use_deny_has_permission_decision ... ok [INFO] [stdout] test services::codex_permission_rules::tests::rejects_non_persistent_prefixes ... ok [INFO] [stdout] test services::codex_hook_response_builder::tests::pre_tool_use_allow_returns_empty_object ... ok [INFO] [stdout] test services::claude_style_hook_response_builder::tests::pre_tool_use_allow_uses_permission_decision ... ok [INFO] [stdout] test services::codex_permission_rules::tests::npm_run_takes_three_tokens ... ok [INFO] [stdout] test services::event_normalizer::tests::normalizes_snake_and_camel_case ... ok [INFO] [stdout] test models::session_snapshot::tests::codex_request_user_input_parses_ids_options_and_multiple_flag ... ok [INFO] [stdout] test models::session_snapshot::tests::codex_request_user_input_permission_request_with_nested_function_shows_approval ... ok [INFO] [stdout] test models::session_snapshot::tests::test_reduce_user_prompt ... ok [INFO] [stdout] test models::session_snapshot::tests::codex_request_user_input_pre_tool_use_shows_question_card ... ok [INFO] [stdout] test services::event_logger::tests::escapes_pipe_and_newline ... ok [INFO] [stdout] test services::codex_permission_rules::tests::parses_shell_prefix_two_tokens ... ok [INFO] [stdout] test services::codex_permission_rules::tests::format_rule_escapes ... ok [INFO] [stdout] test services::event_normalizer::tests::passes_through_unknown_events ... ok [INFO] [stdout] test services::hook_tool_classifier::tests::block_rules ... ok [INFO] [stdout] test services::hook_tool_classifier::tests::classifies_codex_request_user_input ... ok [INFO] [stdout] test services::hook_response_diagnostics::tests::classifies_response_types ... ok [INFO] [stdout] test services::event_normalizer::tests::normalizes_field_names ... ok [INFO] [stdout] test services::hook_tool_classifier::tests::extracts_nested_tool_name ... ok [INFO] [stdout] test services::event_logger::tests::writes_error_file_separately ... ok [INFO] [stdout] test services::l10n::tests::looks_up_translations_with_fallback ... ok [INFO] [stdout] test services::transcript_path_resolver::tests::extracts_direct_working_directory ... ok [INFO] [stdout] test services::transcript_path_resolver::tests::extracts_nested_transcript_path ... ok [INFO] [stdout] test services::session_persistence::tests::save_load_round_trip ... ok [INFO] [stdout] test services::settings_manager::tests::get_set_round_trip ... ok [INFO] [stdout] test services::transcript_message_reader::tests::reads_claude_and_codex_messages ... ok [INFO] [stdout] test services::transcript_path_resolver::tests::decodes_claude_project_segment ... ok [INFO] [stdout] test services::transcript_path_resolver::tests::extracts_project_name_last_segment ... ok [INFO] [stdout] test sources::hook_installation_utils::tests::hook_command_always_quotes_bridge_path ... ok [INFO] [stdout] test sources::hook_installation_utils::tests::hook_command_includes_source ... ok [INFO] [stdout] test sources::hook_installation_utils::tests::merge_target_takes_precedence ... ok [INFO] [stdout] test sources::plugin_models::tests::file_name_without_extension_strips_ext ... ok [INFO] [stdout] test sources::plugin_models::tests::process_name_match_is_case_insensitive ... ok [INFO] [stdout] test sources::plugin_models::tests::value_pattern_star_matches_nonempty ... ok [INFO] [stdout] test sources::plugin_validator::tests::config_path_must_start_with_home_marker ... ok [INFO] [stdout] test sources::plugin_validator::tests::hook_installation_rejects_unknown_event ... ok [INFO] [stdout] test sources::plugin_validator::tests::detection_rejects_bad_process_name ... ok [INFO] [stdout] test sources::strategies::claude_matcher::tests::install_preserves_user_hooks_and_uninstall_only_removes_codeorbit ... ok [INFO] [stdout] test services::event_logger::tests::writes_and_rotates_hook ... ok [INFO] [stdout] test services::event_logger::tests::rotates_error_independently ... ok [INFO] [stdout] test models::session_snapshot::tests::test_reduce_stop_event ... ok [INFO] [stdout] test sources::plugin_models::tests::path_glob_matches_double_star ... ok [INFO] [stdout] test ipc::message_protocol::tests::oversized_payload_rejected ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test factory_creates_all_supported_formats ... ok [INFO] [stdout] test nested_strategy_round_trip ... ok [INFO] [stdout] test copilot_strategy_round_trip ... ok [INFO] [stdout] test flat_strategy_round_trip ... ok [INFO] [stdout] test cline_strategy_round_trip_writes_scripts ... ok [INFO] [stdout] test codex_strategy_round_trip_has_command_windows ... ok [INFO] [stdout] test loads_all_bundled_plugins ... ok [INFO] [stdout] test detector_matches_by_process_name ... ok [INFO] [stdout] test registry_resolves_known_and_unknown ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/plugin_validation.rs (/opt/rustwide/target/debug/deps/plugin_validation-9b150da7dbb61b81) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test all_plugin_ids_are_unique_and_count_19 ... ok [INFO] [stdout] test all_plugins_have_required_fields ... ok [INFO] [stdout] test bundled_source_keys_match_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codeorbit_host-bf2893c998f9ddca) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test args::tests::parses_all_flags ... ok [INFO] [stdout] test args::tests::defaults_are_applied ... ok [INFO] [stdout] test manifest::tests::parses_manifest ... ok [INFO] [stdout] test tests::loopback_detection ... ok [INFO] [stdout] test tests::normalize_host_rules ... ok [INFO] [stdout] test single_instance::tests::different_ports_can_coexist ... ok [INFO] [stdout] test owner_monitor::tests::bogus_pid_is_not_alive ... ok [INFO] [stdout] test owner_monitor::tests::current_process_is_alive ... ok [INFO] [stdout] test manifest::tests::missing_manifest_returns_none ... ok [INFO] [stdout] test single_instance::tests::second_acquire_same_port_fails ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codeorbit_hub-b4b867c7ea4266de) [INFO] [stdout] [INFO] [stdout] running 30 tests [INFO] [stdout] test config_installer::tests::runtime_paths_use_env_override ... ok [INFO] [stdout] test api::token_store::tests::token_is_url_safe_and_long ... ok [INFO] [stdout] test api::token_store::tests::ensure_token_persists_and_reuses ... ok [INFO] [stdout] test state::tests::auto_approve_skips_pending ... ok [INFO] [stdout] test state::tests::blocking_permission_enqueues_pending ... ok [INFO] [stdout] test state::tests::codex_request_user_input_enqueues_pending_question ... ok [INFO] [stdout] test state::tests::deny_permission_resolves ... ok [INFO] [stdout] test state::tests::handle_event_creates_session ... ok [INFO] [stdout] test state::tests::idle_sessions_removed ... ok [INFO] [stdout] test state::tests::missing_session_id_uses_stable_process_key ... ok [INFO] [stdout] test state::tests::publish_broadcasts_to_subscriber ... ok [INFO] [stdout] test wsl_installer::tests::decodes_mixed_utf16_and_utf8_stderr ... ok [INFO] [stdout] test state::tests::session_end_cascades_pending_cleanup ... ok [INFO] [stdout] test wsl_installer::tests::maps_windows_path_to_mnt ... ok [INFO] [stdout] test wsl_installer::tests::normalizes_windows_path_for_wslpath ... ok [INFO] [stdout] test process_monitor::tests::removes_session_with_dead_pid_keeps_live ... ok [INFO] [stdout] test wsl_installer::tests::parses_default_distro_from_verbose_output ... ok [INFO] [stdout] test wsl_installer::tests::parses_default_distro_skips_docker_default ... ok [INFO] [stdout] test wsl_installer::tests::parses_utf16_wsl_distro_output_filters_docker ... ok [INFO] [stdout] test wsl_installer::tests::parses_verbose_distros_with_state_and_default ... ok [INFO] [stdout] test wsl_installer::tests::sanitizes_proxy_noise_from_errors ... ok [INFO] [stdout] test wsl_installer::tests::translates_home_markers_to_wsl_unc ... ok [INFO] [stdout] test wsl_installer::tests::wsl_operations_are_windows_only ... ok [INFO] [stdout] test wsl_installer::tests::rejects_docker_distro_names ... ok [INFO] [stdout] test wsl_installer::tests::maps_wsl_home_to_unc ... ok [INFO] [stdout] test state::tests::process_key_distinguishes_reused_pid_start_time ... ok [INFO] [stdout] test state::tests::permission_allow_resolves_blocking_call ... ok [INFO] [stdout] test state::tests::blocking_call_times_out ... ok [INFO] [stdout] test state::tests::history_capped_at_200 ... ok [INFO] [stdout] test hook_server::tests::dispatches_non_blocking_event_and_acks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running tests/api.rs (/opt/rustwide/target/debug/deps/api-4c186cf0c5593407) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test session_metadata_returns_project_name_from_cwd ... ok [INFO] [stdout] test pending_endpoints_work ... ok [INFO] [stdout] test health_is_public ... ok [INFO] [stdout] test protected_route_requires_token ... ok [INFO] [stdout] test bearer_token_authorizes ... ok [INFO] [stdout] test capabilities_reports_localhost_mode ... ok [INFO] [stdout] test permission_allow_on_unknown_returns_404 ... ok [INFO] [stdout] test header_and_query_tokens_authorize ... ok [INFO] [stdout] test unknown_session_returns_404 ... ok [INFO] [stdout] test sessions_listed_and_dismissed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-5ff78f9d344381a3) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test full_pipeline_e2e ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/sources.rs (/opt/rustwide/target/debug/deps/sources-6eb4c19d5ee6e7c6) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test unknown_source_install_returns_400 ... ok [INFO] [stdout] test source_operation_broadcasts_operation_result ... ok [INFO] [stdout] test unknown_source_wsl_install_returns_400 ... ok [INFO] [stdout] test source_status_known_and_unknown ... ok [INFO] [stdout] test install_uninstall_lifecycle ... ok [INFO] [stdout] test install_uninstall_idempotent ... ok [INFO] [stdout] test lists_all_bundled_sources ... ok [INFO] [stdout] test runtime_assets_and_repair_all ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.75s [INFO] [stdout] [INFO] [stderr] Running tests/ws.rs (/opt/rustwide/target/debug/deps/ws-379b46e31e38aa90) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test ws_requires_token ... ok [INFO] [stdout] test ws_broadcasts_events_without_welcome_frame ... ok [INFO] [stderr] Doc-tests codeorbit_contracts [INFO] [stdout] test ws_multi_client_broadcast ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests codeorbit_core [INFO] [stderr] Doc-tests codeorbit_hub [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85", kill_on_drop: false }` [INFO] [stdout] 7fd7f1a1fbfa56badc8505850240c55f552ac4e6d31beb374e29ffb4a55cbc85