[INFO] cloning repository https://github.com/indie-hub/crowded
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/indie-hub/crowded" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Findie-hub%2Fcrowded", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Findie-hub%2Fcrowded'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cec888ef49233d91bc88a5befa34f491f8b410eb
[INFO] testing indie-hub/crowded against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Findie-hub%2Fcrowded" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/indie-hub/crowded
[INFO] finished tweaking git repo https://github.com/indie-hub/crowded
[INFO] tweaked toml for git repo https://github.com/indie-hub/crowded written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/indie-hub/crowded on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/indie-hub/crowded already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/second-state/vt100-rust`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded line-clipping v0.3.7
[INFO] [stderr]   Downloaded arrayvec v0.7.8
[INFO] [stderr]   Downloaded tui-term v0.3.4
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded lru v0.18.1
[INFO] [stderr]   Downloaded portable-pty v0.9.0
[INFO] [stderr]   Downloaded serial2 v0.2.37
[INFO] [stderr]   Downloaded toml v1.1.4+spec-1.1.0
[INFO] [stderr]   Downloaded nix v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55
[INFO] running `Command { std: "docker" "start" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", 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" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", 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" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling vte v0.15.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling vt100 v0.16.2 (https://github.com/second-state/vt100-rust?rev=ac79c37448d381ff9821a223ba487a6ac00f93cf#ac79c374)
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling time v0.3.54
[INFO] [stderr]    Compiling serial2 v0.2.37
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling tui-term v0.3.4
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling crowded v0.43.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 19.62s
[INFO] running `Command { std: "docker" "inspect" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", 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" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling crowded v0.43.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 14.98s
[INFO] running `Command { std: "docker" "inspect" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", 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" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/crowded-d94359862d60741f)
[INFO] [stdout] 
[INFO] [stdout] running 222 tests
[INFO] [stdout] test app::tests::delivery_fuse_trips_and_resets_at_its_limit ... ok
[INFO] [stdout] test app::tests::a_torn_wheel_report_never_reaches_the_guest ... ok
[INFO] [stdout] test app::tests::a_resume_that_started_fresh_still_takes_the_intro ... ok
[INFO] [stdout] test app::tests::delivery_fuse_zero_limit_never_trips ... ok
[INFO] [stdout] test app::tests::detail_only_pulse_does_not_refresh_stale_sample_or_create_state ... ok
[INFO] [stdout] test app::tests::delivery_gate_waits_for_each_tui_busy_cycle ... ok
[INFO] [stdout] test app::tests::effective_model_prefers_fresh_self_report_and_keeps_control_override ... ok
[INFO] [stdout] test app::tests::house_rules_identify_the_room_roster_and_delegation_guidance ... ok
[INFO] [stdout] test app::tests::intro_ceiling_sends_a_stuck_rooms_intro_without_a_ready_heuristic ... ok
[INFO] [stdout] test app::tests::message_hats_are_visible_but_optional ... ok
[INFO] [stdout] test app::tests::detail_collection_is_cached_outside_render_path ... ok
[INFO] [stdout] test app::tests::only_matching_wheel_directions_are_drained ... ok
[INFO] [stdout] test app::tests::normal_mode_d_is_not_intercepted_as_detail_shortcut ... ok
[INFO] [stdout] test app::tests::pane_size_uses_the_bordered_inner_area_and_clamps ... ok
[INFO] [stdout] test app::tests::pane_areas_tile_any_number_of_rooms ... ok
[INFO] [stdout] test app::tests::pulse_badges_are_compact_and_conditional ... ok
[INFO] [stdout] test app::tests::pulse_entry_style_highlights_only_the_focused_room ... ok
[INFO] [stdout] test app::tests::pulse_sample_marks_a_fresh_transient_self_report_as_fresh ... ok
[INFO] [stdout] test app::tests::pulse_total_sums_only_known_costs ... ok
[INFO] [stdout] test app::tests::pulse_panel_renders_concisely_at_real_width_and_excludes_completed_todos ... ok
[INFO] [stdout] test app::tests::quiet_threshold_grants_headroom_panes_extra_startup_grace ... ok
[INFO] [stdout] test app::tests::render_pulse_focused_title_stays_cyan ... ok
[INFO] [stdout] test app::tests::render_pulse_lines_renders_inline_detail_concisely ... ok
[INFO] [stdout] test app::tests::render_pulse_lines_separates_rooms_and_appends_total ... ok
[INFO] [stdout] test app::tests::render_pulse_lines_truncates_narrow_detail ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_error_red ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_offline_red ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_ready_green ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_starting_yellow ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_unknown_unstyled ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_thinking_yellow ... ok
[INFO] [stdout] test app::tests::render_pulse_state_color_working_yellow ... ok
[INFO] [stdout] test app::tests::resume_control_resets_pulse_so_roster_shows_ready_immediately ... ok
[INFO] [stdout] test app::tests::resume_control_skips_intro_but_clear_and_configure_resend_it ... ok
[INFO] [stdout] test app::tests::roster_state_does_not_stick_on_a_resumed_rooms_stale_starting_self_report ... ok
[INFO] [stdout] test app::tests::roster_state_prefers_offline_pulses_and_real_readiness ... ok
[INFO] [stdout] test app::tests::stale_transient_pulse_yields_to_a_demonstrably_ready_screen ... ok
[INFO] [stdout] test app::tests::tui_pulse_label_drops_source_and_shows_state_plus_age ... ok
[INFO] [stdout] test app::tests::typing_after_escape_survives_in_order ... ok
[INFO] [stdout] test app::tests::welcome_roster_entries_report_configured_values_or_truthful_fallbacks ... ok
[INFO] [stdout] test app::tests::whisper_submit_resend_waits_for_busy_then_ready_or_ceiling ... ok
[INFO] [stdout] test checker::tests::check_accepts_valid_config ... ok
[INFO] [stdout] test checker::tests::check_reports_malformed_config ... ok
[INFO] [stdout] test checker::tests::check_reports_missing_config ... ok
[INFO] [stdout] test checker::tests::check_reports_semantically_invalid_config ... ok
[INFO] [stdout] test checker::tests::check_still_accepts_unsupported_raw_guest_without_shared_mcp ... ok
[INFO] [stdout] test command::tests::headroom_detection_finds_and_misses_the_binary_on_path ... ok
[INFO] [stdout] test checker::tests::check_rejects_unsupported_raw_guest_with_shared_mcp_like_launch ... ok
[INFO] [stdout] test config::tests::fuse_size_defaults_to_20_when_omitted ... ok
[INFO] [stdout] test config::tests::fuse_size_is_configurable ... ok
[INFO] [stdout] test command::tests::windows_resolves_executables_and_batch_shims_from_path ... ok
[INFO] [stdout] test config::tests::fuse_size_zero_means_unlimited ... ok
[INFO] [stdout] test config::tests::guest_spec_selects_transport_and_name ... ok
[INFO] [stdout] test config::tests::context_mode_uses_mcp_for_claude_and_codex_but_a_plugin_for_opencode ... ok
[INFO] [stdout] test command::tests::non_windows_commands_stay_direct ... ok
[INFO] [stdout] test config::tests::invalid_room_scheduling_values_are_rejected ... ok
[INFO] [stdout] test config::tests::legacy_sse_cannot_target_codex ... ok
[INFO] [stdout] test config::tests::native_toolbox_mode_does_not_inject_launch_overrides ... ok
[INFO] [stdout] test config::tests::parse_fuse_size_input_accepts_zero_and_positive ... ok
[INFO] [stdout] test config::tests::parse_fuse_size_input_rejects_non_numeric ... ok
[INFO] [stdout] test config::tests::parse_room_field_inputs_accept_valid_values ... ok
[INFO] [stdout] test config::tests::parse_room_field_inputs_reject_invalid_values ... ok
[INFO] [stdout] test config::tests::persist_room_fields_out_of_range_room_leaves_file_unchanged ... ok
[INFO] [stdout] test config::tests::persist_fuse_size_leaves_file_unchanged_on_invalid_input ... ok
[INFO] [stdout] test config::tests::persist_room_fields_only_touches_the_indexed_room ... ok
[INFO] [stdout] test config::tests::remote_mcp_url_requires_a_host ... ok
[INFO] [stdout] test config::tests::persist_fuse_size_round_trip_preserves_other_sections ... ok
[INFO] [stdout] test config::tests::persist_room_fields_round_trip_preserves_other_sections ... ok
[INFO] [stdout] test config::tests::remote_mcps_are_adapted_for_each_native_cli ... ok
[INFO] [stdout] test config::tests::room_scheduling_parses_and_omits_empty_metadata ... ok
[INFO] [stdout] test config::tests::shared_mcp_is_adapted_for_each_native_cli ... ok
[INFO] [stdout] test config::tests::shared_mcp_skips_shell_rooms ... ok
[INFO] [stdout] test config::tests::token_pricing_file_is_optional_and_model_keyed ... ok
[INFO] [stdout] test config::tests::token_pricing_in_crowded_toml_is_rejected ... ok
[INFO] [stdout] test config::tests::toml_rooms_support_names_arguments_and_optional_cwd ... ok
[INFO] [stdout] test doorbell::commands::tests::applying_hooked_events_builds_the_room_detail ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_detail_extracts_sub_agent_and_todo_events ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_detail_ignores_unrelated_and_malformed_payloads ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_model_and_detail_read_the_same_payload ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_model_degrades_when_the_payload_carries_no_usable_model ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_model_extracts_the_active_model_when_present ... ok
[INFO] [stdout] test doorbell::commands::tests::hook_payload_model_rejects_a_model_that_would_fail_server_validation ... ok
[INFO] [stdout] test doorbell::protocol::tests::accepts_large_agent_message ... ok
[INFO] [stdout] test doorbell::protocol::tests::effort_labels_cover_the_doorbell_catalogue ... ok
[INFO] [stdout] test doorbell::client_unix::tests::sends_json_line_and_reads_response ... ok
[INFO] [stdout] test doorbell::protocol::tests::pulse_validation_accepts_hook_detail_and_rejects_oversized_fields ... ok
[INFO] [stdout] test doorbell::protocol::tests::roster_capabilities_parse_older_wire_shapes_with_defaults ... ok
[INFO] [stdout] test doorbell::protocol::tests::roster_capabilities_serialize_backward_compatible_fields ... ok
[INFO] [stdout] test doorbell::protocol::tests::roster_scheduling_serializes_separately_from_capabilities ... ok
[INFO] [stdout] test doorbell::server::tests::control_arguments_are_structured_and_validated ... ok
[INFO] [stdout] test doorbell::server::tests::capability_tokens_are_random_and_socket_is_private ... ok
[INFO] [stdout] test doorbell::server::tests::pulse_validation_binds_room_identity ... ok
[INFO] [stdout] test doorbell::server::tests::request_validation_rejects_control_characters_in_hats ... ok
[INFO] [stdout] test doorbell::server::tests::send_arguments_support_temporary_task_roles_and_plain_messages ... ok
[INFO] [stdout] test doorbell::server::tests::request_validation_binds_identity_and_limits_hops ... ok
[INFO] [stdout] test mailroom::tests::mailroom_keeps_a_bounded_honest_history ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_accepts_unknown_flag_as_arg_after_args_marker ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_missing_name_returns_usage_error ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_parses_local_command_with_args ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_parses_remote_url ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_duplicate_args ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_duplicate_args_with_value_between ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_duplicate_flag ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_missing_command_and_url ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_missing_name ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_unknown_client ... ok
[INFO] [stdout] test mcp_cli::commands::tests::add_rejects_unknown_transport ... ok
[INFO] [stdout] test mcp_cli::commands::tests::format_entry_renders_command_transport_and_clients ... ok
[INFO] [stdout] test mcp_cli::commands::tests::format_entry_renders_url_transport_and_all_clients ... ok
[INFO] [stdout] test mcp_cli::commands::tests::list_rejects_extra_arguments ... ok
[INFO] [stdout] test mcp_cli::commands::tests::remove_missing_name_returns_usage_error ... ok
[INFO] [stdout] test mcp_cli::commands::tests::remove_parses_name_and_rejects_extras ... ok
[INFO] [stdout] test mcp_cli::commands::tests::unknown_action_returns_usage_error ... ok
[INFO] [stdout] test mcp_cli::tests::remove_entry_errors_on_unknown_name ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_rejects_duplicate_name ... ok
[INFO] [stdout] test mcp_cli::tests::list_entries_returns_empty_when_no_mcp_section ... ok
[INFO] [stdout] test mcp_cli::tests::list_entries_reads_all_mcp_servers ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_rejects_invalid_name ... ok
[INFO] [stdout] test mcp_cli::tests::remove_entry_errors_when_no_mcp_section ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_with_remote_transport ... ok
[INFO] [stdout] test mcp_cli::tests::remove_entry_deletes_named_entry ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_preserves_comments ... ok
[INFO] [stdout] test doorbell::server::tests::control_crosses_the_authenticated_doorbell ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_appends_and_preserves_existing ... ok
[INFO] [stdout] test mcp_cli::tests::remove_entry_preserves_comments ... ok
[INFO] [stdout] test mcp_cli::tests::remove_entry_preserves_other_entries ... ok
[INFO] [stdout] test pane::controls::tests::add_resume_args_prefers_a_captured_exact_session_id ... ok
[INFO] [stdout] test pane::controls::tests::capabilities_derive_from_the_adapter_without_claiming_opencode_effort ... ok
[INFO] [stdout] test pane::controls::tests::claude_and_codex_use_bracketed_paste ... ok
[INFO] [stdout] test pane::controls::tests::claude_project_directory_also_sanitizes_dots_in_a_windows_username ... ok
[INFO] [stdout] test pane::controls::tests::claude_project_directory_matches_claude_cli_on_astral_characters ... ok
[INFO] [stdout] test pane::controls::tests::claude_project_directory_replaces_every_separator_with_a_hyphen ... ok
[INFO] [stdout] test mcp_cli::tests::add_entry_then_remove_in_same_session_succeeds ... ok
[INFO] [stdout] test doorbell::server::tests::roster_is_authenticated_and_machine_readable ... ok
[INFO] [stdout] test pane::controls::tests::codex_session_meta_id_falls_back_to_session_id_when_id_is_absent ... ok
[INFO] [stdout] test mcp_cli::tests::two_add_entries_in_same_session_succeeds ... ok
[INFO] [stdout] test pane::controls::tests::codex_session_meta_id_prefers_id_over_session_id_when_both_present ... ok
[INFO] [stdout] test pane::controls::tests::codex_session_meta_id_rejects_wrong_cwd_and_wrong_record_type ... ok
[INFO] [stdout] test pane::controls::tests::claude_session_id_finds_newest_transcript_after_since ... ok
[INFO] [stdout] test pane::controls::tests::current_model_effort_roundtrips_set_for_claude_and_codex ... ok
[INFO] [stdout] test pane::controls::tests::normalize_opencode_model_splits_provider_and_id ... ok
[INFO] [stdout] test pane::controls::tests::codex_session_id_matches_cwd_and_ignores_older_or_foreign_files ... ok
[INFO] [stdout] test pane::controls::tests::add_resume_args_prefers_fresh_capture_over_clear_marker ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_query_escapes_single_quotes ... ok
[INFO] [stdout] test pane::controls::tests::add_resume_args_sets_the_vendor_continue_flag ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_query_excludes_already_claimed_ids ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_query_filters_by_model ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_query_filters_by_since_millis ... ok
[INFO] [stdout] test pane::controls::tests::add_resume_args_starts_fresh_after_clear_marker ... ok
[INFO] [stdout] test initializer::tests::init_creates_then_applies_config_once ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_id_filters_by_model_and_handles_74ms_gap ... ok
[INFO] [stdout] test pane::session_state::tests::capture_cell_reads_back_without_touching_disk ... ok
[INFO] [stdout] test pane::controls::tests::opencode_session_id_reads_a_real_sqlite_database_when_available ... ok
[INFO] [stdout] test pane::controls::tests::a_surviving_model_mismatch_starts_fresh_instead_of_continuing ... ok
[INFO] [stdout] test pane::session_state::tests::claude_cost_uses_configured_model_rates_or_reports_unknown ... ok
[INFO] [stdout] test pane::controls::tests::an_isolated_resume_rejects_a_claim_on_another_model ... ok
[INFO] [stdout] test pane::controls::tests::a_modelless_claim_is_reserved_against_a_checkable_sibling ... ok
[INFO] [stdout] test pane::controls::tests::duplicate_claims_on_one_session_do_not_both_resume_it ... ok
[INFO] [stdout] test pane::session_state::tests::codex_cost_uses_only_the_last_cumulative_usage_event ... ok
[INFO] [stdout] test app::tests::background_collection_does_not_block_main_thread ... ok
[INFO] [stdout] test pane::controls::tests::crossed_opencode_mapping_is_self_healed_on_resume ... ok
[INFO] [stdout] test pane::controls::tests::a_refused_duplicate_with_no_replacement_starts_fresh ... ok
[INFO] [stdout] test pane::session_state::tests::opencode_capture_grace_covers_the_measured_first_message_delay ... ok
[INFO] [stdout] test pane::session_state::tests::opencode_cost_reads_its_stored_dollar_value ... ok
[INFO] [stdout] test pane::session_state::tests::production_root_is_the_current_directory ... ok
[INFO] [stdout] test doorbell::server::tests::partial_write_request_survives_the_read_boundary ... ok
[INFO] [stdout] test pane::session_state::tests::capture_async_claims_a_codex_artifact_that_lands_on_disk_past_the_old_three_second_bound ... ok
[INFO] [stdout] test pane::session_state::tests::two_rooms_sharing_vendor_and_cwd_do_not_collide ... ok
[INFO] [stdout] test pane::session_state::tests::upsert_collapses_pre_existing_duplicate_entries_for_the_same_room_to_one ... ok
[INFO] [stdout] test pane::session_state::tests::upsert_merges_by_vendor_cwd_and_room_and_lookup_roundtrips ... ok
[INFO] [stdout] test pane::session_state::tests::upsert_supersedes_a_stale_entry_when_the_same_numeric_room_changes_vendor ... ok
[INFO] [stdout] test pane::tests::alternate_screen_page_keys_forward_exact_bytes ... ok
[INFO] [stdout] test pane::tests::alternate_screen_wheel_forwards_as_page_navigation ... ok
[INFO] [stdout] test pane::tests::an_inline_tui_scrolling_inside_a_region_builds_scrollback ... ok
[INFO] [stdout] test pane::tests::conductor_rewrites_native_launch_options ... ok
[INFO] [stdout] test pane::tests::cursor_position_query_is_answered_across_output_chunks ... ok
[INFO] [stdout] test pane::tests::opencode_is_ready_only_at_its_idle_normal_prompt ... ok
[INFO] [stdout] test pane::tests::opencode_narrow_31_cols_ask_truncated_still_reports_ready ... ok
[INFO] [stdout] test pane::tests::opencode_ready_marker_wrapped_across_lines_by_a_narrow_pane_still_reports_ready ... ok
[INFO] [stdout] test pane::tests::opencode_resumed_history_with_esc_interrupt_still_reports_ready ... ok
[INFO] [stdout] test pane::tests::page_keys_are_not_forwarded_to_the_child_pty ... ok
[INFO] [stdout] test pane::tests::primary_screen_wheel_and_page_still_scroll_parent ... ok
[INFO] [stdout] test pane::controls::tests::a_room_without_a_mapping_is_not_refused ... ok
[INFO] [stdout] test pane::tests::rooms_without_cwd_use_crowdeds_launch_directory ... ok
[INFO] [stdout] test pane::tests::scroll_applies_only_during_a_frame_and_restores_after ... ok
[INFO] [stdout] test pane::tests::scroll_is_parsed_only_by_the_view_never_by_readiness ... ok
[INFO] [stdout] test pane::tests::scroll_retains_history_and_clamps_at_both_limits ... ok
[INFO] [stdout] test pane::tests::shift_tab_uses_the_terminal_backtab_sequence ... ok
[INFO] [stdout] test pane::tests::spawn_launch_falls_back_unchanged_when_headroom_is_missing ... ok
[INFO] [stdout] test pane::tests::spawn_launch_wraps_through_headroom_only_when_flag_and_binary_agree ... ok
[INFO] [stdout] test pane::tests::whisper_quotes_shell_metacharacters ... ok
[INFO] [stdout] test pane::controls::tests::unverifiable_model_metadata_does_not_resume_the_claim ... ok
[INFO] [stdout] test plugins::adapters::tests::codex_hooks_get_powershell_commands ... ok
[INFO] [stdout] test pane::controls::tests::repair_does_not_take_a_session_a_sibling_already_holds ... ok
[INFO] [stdout] test room_detail::tests::apply_detail_events_accumulates_sub_agents_and_todos ... ok
[INFO] [stdout] test room_detail::tests::codex_detail_correlates_child_rollouts_and_reads_the_newest_plan ... ok
[INFO] [stdout] test room_detail::tests::detail_event_round_trips_through_serde ... ok
[INFO] [stdout] test pane::tests::whisper_submit_is_a_distinct_write_after_the_paste_end_marker ... ok
[INFO] [stdout] test tests::help_text_lists_all_subcommands ... ok
[INFO] [stdout] test toolbox::tests::codex_native_config_serializes_streamable_http_url ... ok
[INFO] [stdout] test toolbox::tests::native_files_merge_and_restore_without_losing_existing_config ... ok
[INFO] [stdout] test toolbox::tests::native_toolbox_can_sync_hooks_without_mcps ... ok
[INFO] [stdout] test toolbox::tests::removal_refuses_to_overwrite_a_changed_generated_file ... ok
[INFO] [stdout] test toolbox::tests::resync_refreshes_managed_files_without_removing ... ok
[INFO] [stdout] test room_detail::tests::opencode_detail_reads_task_parts_and_todo_rows ... ok
[INFO] [stdout] test toolbox::tests::stale_resync_preserves_original_and_remove_still_cleans ... ok
[INFO] [stdout] test toolbox::tests::tool_name_events_route_through_pretooluse_matchers ... ok
[INFO] [stdout] test toolbox::tests::stale_resync_restores_orphaned_files_when_room_removed ... ok
[INFO] [stdout] test pane::session_state::tests::capture_async_claims_an_artifact_created_before_the_intro_but_after_spawn ... ok
[INFO] [stdout] test plugins::tests::local_plugin_is_shared_and_removed_without_touching_other_files ... ok
[INFO] [stdout] test pane::session_state::tests::capture_once_does_not_claim_a_sibling_rooms_id ... ok
[INFO] [stdout] test pane::session_state::tests::capture_once_skips_an_already_claimed_id_and_polls_for_a_fresh_one ... ok
[INFO] [stdout] test pane::session_state::tests::clear_room_preserves_sibling_room_entries ... ok
[INFO] [stdout] test pane::session_state::tests::clear_room_records_marker_even_when_no_prior_entry_exists ... ok
[INFO] [stdout] test pane::session_state::tests::clear_room_replaces_stale_id_with_fresh_marker_and_capture_supersedes_it ... ok
[INFO] [stdout] test pane::session_state::tests::concurrent_capture_once_at_most_one_thread_claims_same_id ... ok
[INFO] [stdout] test pane::session_state::tests::initial_capture_cell_seeds_a_valid_persisted_id_but_not_a_fresh_or_cleared_room ... ok
[INFO] [stdout] test pane::session_state::tests::missing_or_mismatched_state_resolves_to_none ... ok
[INFO] [stdout] test pane::session_state::tests::record_capture_sets_the_shared_cell_and_persists_together ... ok
[INFO] [stdout] test pane::session_state::tests::save_and_load_roundtrip_through_a_temp_root ... ok
[INFO] [stdout] test pane::tests::resume_supported_specs_skips_guests_without_a_conductor_adapter ... ok
[INFO] [stdout] test doorbell::server::tests::request_read_deadline_rejects_a_stalled_connection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 222 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55", kill_on_drop: false }`
[INFO] [stdout] d5c6737aee8f774c8da4bcf3373b26f24c0d258702b8311d2e2d11056d88fa55
