[INFO] fetching crate kiosk-core 0.2.3... [INFO] testing kiosk-core-0.2.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate kiosk-core 0.2.3 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate kiosk-core 0.2.3 [INFO] finished tweaking crates.io crate kiosk-core 0.2.3 [INFO] tweaked toml for crates.io crate kiosk-core 0.2.3 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kiosk-core 0.2.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kiosk-core 0.2.3 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v1.0.3+spec-1.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8e6b97a2eb8f7d250704d09ccc89ea255e3725fcd088a2dffcdd17154b5f961 [INFO] running `Command { std: "docker" "start" "-a" "c8e6b97a2eb8f7d250704d09ccc89ea255e3725fcd088a2dffcdd17154b5f961", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8e6b97a2eb8f7d250704d09ccc89ea255e3725fcd088a2dffcdd17154b5f961", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8e6b97a2eb8f7d250704d09ccc89ea255e3725fcd088a2dffcdd17154b5f961", kill_on_drop: false }` [INFO] [stdout] c8e6b97a2eb8f7d250704d09ccc89ea255e3725fcd088a2dffcdd17154b5f961 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b19db0809b51c144aaa2399def33f463b4d3dc3117604974cf8785daf511c35f [INFO] running `Command { std: "docker" "start" "-a" "b19db0809b51c144aaa2399def33f463b4d3dc3117604974cf8785daf511c35f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling toml v1.0.3+spec-1.1.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling kiosk-core v0.2.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.58s [INFO] running `Command { std: "docker" "inspect" "b19db0809b51c144aaa2399def33f463b4d3dc3117604974cf8785daf511c35f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b19db0809b51c144aaa2399def33f463b4d3dc3117604974cf8785daf511c35f", kill_on_drop: false }` [INFO] [stdout] b19db0809b51c144aaa2399def33f463b4d3dc3117604974cf8785daf511c35f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 965ff4f8cc831bf2397d639e23ef8ce6d088a4f42aac63ee0cffa4b8a8e51c49 [INFO] running `Command { std: "docker" "start" "-a" "965ff4f8cc831bf2397d639e23ef8ce6d088a4f42aac63ee0cffa4b8a8e51c49", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling kiosk-core v0.2.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.61s [INFO] running `Command { std: "docker" "inspect" "965ff4f8cc831bf2397d639e23ef8ce6d088a4f42aac63ee0cffa4b8a8e51c49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "965ff4f8cc831bf2397d639e23ef8ce6d088a4f42aac63ee0cffa4b8a8e51c49", kill_on_drop: false }` [INFO] [stdout] 965ff4f8cc831bf2397d639e23ef8ce6d088a4f42aac63ee0cffa4b8a8e51c49 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8df0b33eaa930c219b0b643efa7ff74009a6341650ee1a83cba54fc533b9b2d3 [INFO] running `Command { std: "docker" "start" "-a" "8df0b33eaa930c219b0b643efa7ff74009a6341650ee1a83cba54fc533b9b2d3", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kiosk_core-4d96a80855e14fcb) [INFO] [stdout] [INFO] [stdout] running 309 tests [INFO] [stdout] test agent::detect::tests::braille_spinner_all_chars ... ok [INFO] [stdout] test agent::detect::tests::claude_idle ... ok [INFO] [stdout] test agent::detect::tests::claude_idle_prompt_bare ... ok [INFO] [stdout] test agent::detect::tests::claude_api_call_not_false_idle ... ok [INFO] [stdout] test agent::detect::tests::claude_idle_suggestion_try ... ok [INFO] [stdout] test agent::detect::tests::claude_idle_real_capture_after_response ... ok [INFO] [stdout] test agent::detect::tests::claude_processing_no_indicators ... ok [INFO] [stdout] test agent::detect::tests::ansi_codes_stripped ... ok [INFO] [stdout] test agent::detect::tests::claude_proceed_phrase_without_dialog_context_is_not_waiting ... ok [INFO] [stdout] test agent::detect::tests::claude_idle_prompt_fallback_without_shortcuts ... ok [INFO] [stdout] test agent::detect::tests::case_insensitive ... ok [INFO] [stdout] test agent::detect::tests::claude_prompt_not_idle_when_running ... ok [INFO] [stdout] test agent::detect::tests::claude_running ... ok [INFO] [stdout] test agent::detect::tests::claude_prompt_not_idle_when_waiting ... ok [INFO] [stdout] test agent::detect::tests::codex_idle_prompt_footer_fallback ... ok [INFO] [stdout] test agent::detect::tests::claude_running_whimsical_words ... ok [INFO] [stdout] test agent::detect::tests::codex_idle_tail_overrides_stale_waiting ... ok [INFO] [stdout] test agent::detect::tests::codex_idle_tail_overrides_stale_running ... ok [INFO] [stdout] test agent::detect::tests::claude_processing_prompt_scrolled_out ... ok [INFO] [stdout] test agent::detect::tests::claude_waiting ... ok [INFO] [stdout] test agent::detect::tests::codex_plain_prompt_without_footer_is_idle ... ok [INFO] [stdout] test agent::detect::tests::codex_idle ... ok [INFO] [stdout] test agent::detect::tests::codex_prompt_with_context_left_stays_unknown ... ok [INFO] [stdout] test agent::detect::tests::codex_prompt_with_user_text_without_footer_stays_unknown ... ok [INFO] [stdout] test agent::detect::tests::codex_processing_no_indicators ... ok [INFO] [stdout] test agent::detect::tests::codex_running ... ok [INFO] [stdout] test agent::detect::tests::codex_stale_running_not_false_running_without_idle_tail ... ok [INFO] [stdout] test agent::detect::tests::codex_stale_update_dialog_not_false_waiting ... ok [INFO] [stdout] test agent::detect::tests::codex_trust_prompt ... ok [INFO] [stdout] test agent::detect::tests::codex_waiting ... ok [INFO] [stdout] test agent::detect::tests::codex_prompt_with_user_text_and_footer_is_idle ... ok [INFO] [stdout] test agent::detect::tests::codex_stale_trust_prompt_not_false_waiting ... ok [INFO] [stdout] test agent::detect::tests::claude_thinking_word_requires_ellipsis ... ok [INFO] [stdout] test agent::detect::tests::codex_working_indicator ... ok [INFO] [stdout] test agent::detect::tests::claude_y_n_in_prose_is_not_waiting ... ok [INFO] [stdout] test agent::detect::tests::cursor_idle ... ok [INFO] [stdout] test agent::detect::tests::cursor_running ... ok [INFO] [stdout] test agent::detect::tests::cursor_waiting ... ok [INFO] [stdout] test agent::detect::tests::cursor_waiting_command_approval_prompt ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_child_process ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_claude_in_command ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_codex_in_command ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_cursor_agent_in_command ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_content_codex ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_title_claude ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_title_codex ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_title_cursor_requires_agent_word ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_wrapper_content_claude ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_from_title_unknown ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_gemini_in_command ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_opencode_in_command ... ok [INFO] [stdout] test agent::detect::tests::detect_kind_unknown ... ok [INFO] [stdout] test agent::detect::tests::empty_content_unknown ... ok [INFO] [stdout] test agent::detect::tests::gemini_approve_in_prose_not_waiting ... ok [INFO] [stdout] test agent::detect::tests::gemini_idle_with_shortcuts ... ok [INFO] [stdout] test agent::detect::tests::gemini_running ... ok [INFO] [stdout] test agent::detect::tests::gemini_unknown_no_patterns ... ok [INFO] [stdout] test agent::detect::tests::gemini_waiting ... ok [INFO] [stdout] test agent::detect::tests::gemini_waiting_for_auth_is_waiting ... ok [INFO] [stdout] test agent::detect::tests::gemini_y_n_in_generic_prose_is_not_waiting ... ok [INFO] [stdout] test agent::detect::tests::join_tail_basic ... ok [INFO] [stdout] test agent::detect::tests::opencode_idle_fallback_prompt_bar ... ok [INFO] [stdout] test agent::detect::tests::opencode_idle_with_footer ... ok [INFO] [stdout] test agent::detect::tests::opencode_permission_in_prose_not_waiting ... ok [INFO] [stdout] test agent::detect::tests::opencode_running ... ok [INFO] [stdout] test agent::detect::tests::opencode_unknown_empty ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_allow_button ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_allow_once_button ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_beats_idle_footer ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_new_style_beats_idle_footer ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_new_style_dialog ... ok [INFO] [stdout] test agent::detect::tests::opencode_waiting_permission_required ... ok [INFO] [stdout] test agent::detect::tests::strip_ansi_codes_no_alloc_fast_path ... ok [INFO] [stdout] test agent::detect::tests::thinking_word_with_ellipsis ... ok [INFO] [stdout] test agent::detect::tests::strip_ansi_codes_osc ... ok [INFO] [stdout] test agent::detect::tests::strip_ansi_codes_basic ... ok [INFO] [stdout] test agent::tests::attention_priority_ordering ... ok [INFO] [stdout] test agent::tests::batched_activity_inference_uses_prefetched_timestamp ... ok [INFO] [stdout] test agent::tests::agent_with_ansi_codes_in_output ... ok [INFO] [stdout] test agent::tests::batched_empty_sessions_list ... ok [INFO] [stdout] test agent::tests::batched_codex_unknown_not_upgraded_by_prefetched_activity ... ok [INFO] [stdout] test agent::tests::batched_matches_single_session_results ... ok [INFO] [stdout] test agent::detect::tests::thinking_word_without_ellipsis_no_match ... ok [INFO] [stdout] test agent::tests::activity_does_not_override_idle ... ok [INFO] [stdout] test agent::tests::batched_preserves_session_order ... ok [INFO] [stdout] test agent::tests::batched_returns_none_for_unknown_sessions ... ok [INFO] [stdout] test agent::tests::batched_multi_pane_priority ... ok [INFO] [stdout] test agent::tests::child_process_skipped_for_non_shell ... ok [INFO] [stdout] test agent::tests::codex_unknown_not_upgraded_by_recent_session_activity ... ok [INFO] [stdout] test agent::tests::detect_claude_code_idle ... ok [INFO] [stdout] test agent::tests::detect_claude_code_running ... ok [INFO] [stdout] test agent::tests::detect_claude_code_waiting ... ok [INFO] [stdout] test agent::tests::detect_codex_running ... ok [INFO] [stdout] test agent::tests::detect_cursor_agent_running ... ok [INFO] [stdout] test agent::tests::detect_cursor_agent_waiting ... ok [INFO] [stdout] test agent::tests::detect_codex_waiting ... ok [INFO] [stdout] test agent::tests::detect_opencode_idle ... ok [INFO] [stdout] test agent::tests::detect_from_pane_data_empty_panes ... ok [INFO] [stdout] test agent::tests::may_host_agent_case_insensitive ... ok [INFO] [stdout] test agent::detect::fixture_tests::all_fixture_captures ... ok [INFO] [stdout] test agent::tests::detect_opencode_running ... ok [INFO] [stdout] test agent::tests::detect_opencode_via_command_name ... ok [INFO] [stdout] test agent::tests::looks_like_version_command_matches_semver_like_strings ... ok [INFO] [stdout] test agent::tests::may_host_agent_includes_node ... ok [INFO] [stdout] test agent::tests::may_host_agent_matches_common_shells ... ok [INFO] [stdout] test agent::tests::may_host_agent_rejects_non_shells ... ok [INFO] [stdout] test agent::tests::multi_agent_across_windows ... ok [INFO] [stdout] test agent::tests::multi_agent_running_beats_idle ... ok [INFO] [stdout] test agent::tests::multi_agent_running_beats_unknown ... ok [INFO] [stdout] test agent::tests::multi_agent_waiting_beats_idle ... ok [INFO] [stdout] test agent::tests::multi_agent_waiting_beats_running ... ok [INFO] [stdout] test agent::tests::no_panes_returns_none ... ok [INFO] [stdout] test agent::tests::pane_has_agent_command_but_no_content ... ok [INFO] [stdout] test agent::tests::pane_has_agent_command_with_empty_content ... ok [INFO] [stdout] test agent::tests::pane_title_not_used_for_non_host_command ... ok [INFO] [stdout] test agent::tests::detect_claude_kind_from_wrapper_command_and_pane_title ... ok [INFO] [stdout] test agent::tests::pane_title_not_used_for_host_shell_command ... ok [INFO] [stdout] test agent::tests::stale_opencode_shell_transcript_not_detected ... ok [INFO] [stdout] test agent::tests::stale_cursor_shell_transcript_not_detected ... ok [INFO] [stdout] test agent::tests::stale_claude_shell_transcript_not_detected ... ok [INFO] [stdout] test agent::tests::detect_codex_kind_from_content_when_process_lookup_misses ... ok [INFO] [stdout] test agent::tests::title_inferred_unknown_not_upgraded_by_activity ... ok [INFO] [stdout] test agent::tests::no_agent_in_regular_shell ... ok [INFO] [stdout] test agent::tests::child_process_checked_for_shell ... ok [INFO] [stdout] test agent::tests::batched_mixed_agents_and_shells ... ok [INFO] [stdout] test agent::tests::stale_gemini_shell_transcript_not_detected ... ok [INFO] [stdout] test agent::tests::content_fallback_unknown_is_ignored ... ok [INFO] [stdout] test agent::tests::detect_claude_kind_from_wrapper_command_and_content ... ok [INFO] [stdout] test agent::tests::unknown_upgrades_to_running_with_recent_activity ... ok [INFO] [stdout] test agent::tests::batched_content_fallback_unknown_is_ignored ... ok [INFO] [stdout] test config::keys::tests::test_catalog_for_mode_excludes_noop_from_flattened_rows ... ok [INFO] [stdout] test config::keys::tests::test_command_display ... ok [INFO] [stdout] test agent::tests::unknown_stays_unknown_with_stale_activity ... ok [INFO] [stdout] test config::keys::tests::test_command_from_str ... ok [INFO] [stdout] test config::keys::tests::test_catalog_for_mode_flattened_order_is_deterministic ... ok [INFO] [stdout] test config::keys::tests::test_default_keys_config ... ok [INFO] [stdout] test agent::tests::agent_found_in_second_pane ... ok [INFO] [stdout] test config::keys::tests::test_default_text_edit_bindings ... ok [INFO] [stdout] test config::keys::tests::test_default_text_edit_and_navigation_bindings ... ok [INFO] [stdout] test config::keys::tests::test_docs_section_order_asc_is_derived_from_layer_precedence ... ok [INFO] [stdout] test config::keys::tests::test_every_command_has_non_empty_description ... ok [INFO] [stdout] test config::keys::tests::test_footer_commands_all_have_hints ... ok [INFO] [stdout] test config::keys::tests::test_every_command_roundtrips_through_display_and_from_str ... ok [INFO] [stdout] test config::keys::tests::test_find_key_reverse_lookup ... ok [INFO] [stdout] test config::keys::tests::test_layer_order_is_exported_for_docs ... ok [INFO] [stdout] test config::keys::tests::test_loading_and_help_have_no_footer_commands ... ok [INFO] [stdout] test config::keys::tests::test_footer_commands_have_key_bindings ... ok [INFO] [stdout] test config::keys::tests::test_modal_noop_can_unbind_general_in_confirm_delete ... ok [INFO] [stdout] test config::keys::tests::test_modal_overrides_lower_layers_in_select_base_branch ... ok [INFO] [stdout] test config::keys::tests::test_modal_precedence_over_general_in_confirm_delete ... ok [INFO] [stdout] test config::keys::tests::test_noop_aliases ... ok [INFO] [stdout] test config::keys::tests::test_mode_precedence_more_specific_wins ... ok [INFO] [stdout] test config::keys::tests::test_noop_can_unbind_inherited_mapping ... ok [INFO] [stdout] test agent::tests::content_fallback_running_beats_idle_across_panes ... ok [INFO] [stdout] test config::keys::tests::test_parse_invalid_command ... ok [INFO] [stdout] test config::keys::tests::test_parse_invalid_key ... ok [INFO] [stdout] test config::keys::tests::test_parse_keymap ... ok [INFO] [stdout] test config::keys::tests::test_sections_for_mode_excludes_noop_entries ... ok [INFO] [stdout] test config::keys::tests::test_sections_for_mode_hides_entries_overridden_by_higher_layer_noop ... ok [INFO] [stdout] test config::keys::tests::test_sections_for_mode_uses_layer_precedence_order ... ok [INFO] [stdout] test config::keys::tests::test_sections_for_mode_omits_fully_unbound_layers ... ok [INFO] [stdout] test config::tests::test_agent_config_enabled_defaults_to_true ... ok [INFO] [stdout] test config::tests::test_agent_config_enabled_true_explicit ... ok [INFO] [stdout] test config::tests::test_agent_config_defaults ... ok [INFO] [stdout] test config::tests::test_agent_config_custom_poll_interval ... ok [INFO] [stdout] test config::tests::test_agent_config_only_poll_interval ... ok [INFO] [stdout] test config::tests::test_agent_config_only_enabled ... ok [INFO] [stdout] test config::tests::test_agent_config_enabled_false ... ok [INFO] [stdout] test config::tests::test_agent_config_poll_interval_at_minimum_accepted ... ok [INFO] [stdout] test config::tests::test_agent_config_poll_interval_minimum_enforced ... ok [INFO] [stdout] test config::tests::test_agent_config_rejects_unknown_fields ... ok [INFO] [stdout] test config::tests::test_agent_labels_custom ... ok [INFO] [stdout] test config::tests::test_agent_config_poll_interval_zero_rejected ... ok [INFO] [stdout] test config::tests::test_agent_labels_defaults ... ok [INFO] [stdout] test config::tests::test_agent_labels_max_width ... ok [INFO] [stdout] test config::tests::test_agent_labels_full_custom_no_brackets ... ok [INFO] [stdout] test config::tests::test_agent_labels_partial_override ... ok [INFO] [stdout] test config::tests::test_agent_labels_rejects_unknown_fields ... ok [INFO] [stdout] test config::tests::test_config_file_exists_returns_false_for_missing ... ok [INFO] [stdout] test config::tests::test_empty_config_fails ... ok [INFO] [stdout] test config::tests::test_format_default_config_empty_dirs ... ok [INFO] [stdout] test config::tests::test_format_default_config_escapes_special_chars ... ok [INFO] [stdout] test config::tests::test_format_default_config_is_valid_toml ... ok [INFO] [stdout] test config::tests::test_format_default_config_roundtrip ... ok [INFO] [stdout] test config::tests::test_format_default_config_single_dir ... ok [INFO] [stdout] test config::tests::test_full_config ... ok [INFO] [stdout] test config::tests::test_minimal_config ... ok [INFO] [stdout] test config::tests::test_named_color_aliases_resolve ... ok [INFO] [stdout] test config::tests::test_named_color_all_are_parseable ... ok [INFO] [stdout] test config::tests::test_named_color_all_matches_as_str ... ok [INFO] [stdout] test config::tests::test_rich_search_dirs ... ok [INFO] [stdout] test config::tests::test_theme_color_parse ... ok [INFO] [stdout] test config::tests::test_theme_config_custom ... ok [INFO] [stdout] test config::tests::test_theme_config_defaults ... ok [INFO] [stdout] test config::tests::test_theme_invalid_color_rejected ... ok [INFO] [stdout] test config::tests::test_theme_unknown_field_rejected ... ok [INFO] [stdout] test config::tests::test_unknown_field_rejected ... ok [INFO] [stdout] test config::tests::test_tilde_expansion ... ok [INFO] [stdout] test config::tests::test_write_default_config_creates_file ... ok [INFO] [stdout] test config::tests::test_write_default_config_create_new_rejects_existing ... ok [INFO] [stdout] test git::cli::tests::test_add_worktree_fails_for_nonexistent_branch ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_depth_2_finds_nested ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_depth_1_skips_nested ... ok [INFO] [stdout] test git::repo::tests::test_repo_and_worktree_serde_round_trip ... ok [INFO] [stdout] test git::repo::tests::test_tmux_session_name_branch_worktree ... ok [INFO] [stdout] test git::repo::tests::test_tmux_session_name_disambiguated ... ok [INFO] [stdout] test git::repo::tests::test_tmux_session_name_disambiguated_worktree ... ok [INFO] [stdout] test git::cli::tests::test_list_remotes_empty ... ok [INFO] [stdout] test git::repo::tests::test_tmux_session_name_main_worktree_dots_replaced ... ok [INFO] [stdout] test git::tests::test_parse_worktree_porcelain_detached ... ok [INFO] [stdout] test git::tests::test_parse_worktree_porcelain_empty ... ok [INFO] [stdout] test git::repo::tests::test_tmux_session_name_main_worktree ... ok [INFO] [stdout] test git::tests::test_parse_worktree_porcelain_multiple ... ok [INFO] [stdout] test git::tests::test_parse_worktree_porcelain_no_trailing_newline ... ok [INFO] [stdout] test paths::tests::absolute_path_unchanged ... ok [INFO] [stdout] test paths::tests::relative_path_unchanged ... ok [INFO] [stdout] test git::tests::test_parse_worktree_porcelain_single ... ok [INFO] [stdout] test paths::tests::tilde_in_middle_not_expanded ... ok [INFO] [stdout] test paths::tests::tilde_with_rest_expands ... ok [INFO] [stdout] test pending_delete::tests::test_pending_delete_expiry ... ok [INFO] [stdout] test state::tests::test_active_list_points_to_help_overlay_in_help_mode ... ok [INFO] [stdout] test state::tests::test_agent_enabled_can_be_disabled ... ok [INFO] [stdout] test paths::tests::tilde_alone_expands_to_home ... ok [INFO] [stdout] test state::tests::test_agent_enabled_defaults_to_true ... ok [INFO] [stdout] test state::tests::test_agent_poll_interval_can_be_overridden ... ok [INFO] [stdout] test state::tests::test_agent_labels_stored_in_state ... ok [INFO] [stdout] test state::tests::test_agent_poll_interval_defaults_to_config_default ... ok [INFO] [stdout] test state::tests::test_branch_entry_serde_round_trip ... ok [INFO] [stdout] test state::tests::test_app_state_new_setup ... ok [INFO] [stdout] test state::tests::test_branch_sort_agent_waiting_before_running ... ok [INFO] [stdout] test state::tests::test_branch_sort_current_is_also_default ... ok [INFO] [stdout] test state::tests::test_branch_sort_default_after_current ... ok [INFO] [stdout] test state::tests::test_branch_sort_no_default_no_current ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos ... ok [INFO] [stdout] test state::tests::test_branch_sort_order_with_activity ... ok [INFO] [stdout] test state::tests::test_branch_sort_session_without_activity_ts ... ok [INFO] [stdout] test state::tests::test_branch_sort_worktrees_before_plain ... ok [INFO] [stdout] test state::tests::test_build_remote_deduplication ... ok [INFO] [stdout] test state::tests::test_branch_sort_remote_always_last ... ok [INFO] [stdout] test state::tests::test_build_remote_empty_when_all_local ... ok [INFO] [stdout] test state::tests::test_build_remote_has_correct_defaults ... ok [INFO] [stdout] test state::tests::test_build_sorted_basic ... ok [INFO] [stdout] test state::tests::test_clear_error ... ok [INFO] [stdout] test state::tests::test_cursor_grapheme_zwj_sequence ... ok [INFO] [stdout] test state::tests::test_cursor_clamps_inside_grapheme ... ok [INFO] [stdout] test state::tests::test_cursor_word_from_whitespace ... ok [INFO] [stdout] test state::tests::test_cursor_grapheme_combining_mark ... ok [INFO] [stdout] test state::tests::test_cwd_main_repo_marks_main_worktree_current ... ok [INFO] [stdout] test state::tests::test_cwd_unrelated_falls_back_to_main_worktree ... ok [INFO] [stdout] test state::tests::test_cwd_worktree_determines_current_branch ... ok [INFO] [stdout] test state::tests::test_delete_forward_grapheme ... ok [INFO] [stdout] test state::tests::test_delete_word_forward_from_whitespace ... ok [INFO] [stdout] test state::tests::test_delete_to_start_clamps_cursor ... ok [INFO] [stdout] test state::tests::test_delete_word_forward_respects_whitespace ... ok [INFO] [stdout] test state::tests::test_delete_word_respects_whitespace ... ok [INFO] [stdout] test state::tests::test_delete_to_end_clamps_cursor ... ok [INFO] [stdout] test state::tests::test_mode_effective_nested_help ... ok [INFO] [stdout] test state::tests::test_first_up_from_bottom_does_not_change_offset_across_viewports ... ok [INFO] [stdout] test state::tests::test_mode_effective_sees_through_help ... ok [INFO] [stdout] test state::tests::test_next_word_boundary_edges ... ok [INFO] [stdout] test state::tests::test_prev_word_boundary_edges ... ok [INFO] [stdout] test state::tests::test_pending_delete_mark_and_clear ... ok [INFO] [stdout] test state::tests::test_mode_effective_plain ... ok [INFO] [stdout] test state::tests::test_scroll_anchor_behavior_down_then_up ... ok [INFO] [stdout] test git::cli::tests::test_list_branches ... ok [INFO] [stdout] test git::cli::tests::test_fetch_remote_nonexistent ... ok [INFO] [stdout] test git::cli::tests::test_scan_repos_deduplicates_linked_worktree_paths ... ok [INFO] [stdout] test state::tests::test_scroll_reversing_direction_near_bottom_does_not_move_offset ... ok [INFO] [stdout] test state::tests::test_set_error_collapses_carriage_return_newlines ... ok [INFO] [stdout] test state::tests::test_scroll_up_from_bottom_keeps_offset_until_top_anchor_hit ... ok [INFO] [stdout] test state::tests::test_set_error_collapses_multiple_whitespace ... ok [INFO] [stdout] test state::tests::test_set_error_collapses_newlines_to_spaces ... ok [INFO] [stdout] test state::tests::test_setup_state_new ... ok [INFO] [stdout] test state::tests::test_setup_step_supports_modal ... ok [INFO] [stdout] test state::tests::test_reconcile_pending_deletes_removes_missing_worktree ... ok [INFO] [stdout] test state::tests::test_setup_step_supports_text_edit ... ok [INFO] [stdout] test state::tests::test_sort_remote_after_local ... ok [INFO] [stdout] test state::tests::test_sort_repos_empty ... ok [INFO] [stdout] test state::tests::test_sort_repos_no_current_repo ... ok [INFO] [stdout] test state::tests::test_sort_repos_ordering ... ok [INFO] [stdout] test state::tests::test_scroll_down_starts_before_last_viewport_row ... ok [INFO] [stdout] test state::tests::test_word_boundaries_unicode_whitespace ... ok [INFO] [stdout] test state::tests::test_worktree_dir_basic ... ok [INFO] [stdout] test state::tests::test_worktree_dir_in_kiosk_worktrees_subdir ... ok [INFO] [stdout] test state::tests::test_sort_repos_multiple_worktree_sessions ... ok [INFO] [stdout] test state::tests::test_sort_repos_prefers_current_with_symlinked_paths ... ok [INFO] [stdout] test state::tests::test_worktree_dir_slash_in_branch ... ok [INFO] [stdout] test tmux::cli::tests::test_create_session_commands_with_split_command_uses_split_window_command_arg ... ok [INFO] [stdout] test tmux::cli::tests::test_create_session_commands_without_split_command ... ok [INFO] [stdout] test state::tests::test_word_boundary_empty_and_spaces_only ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_basic ... ok [INFO] [stdout] test state::tests::test_worktree_dir_dedup ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_command_with_pipe ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_collision_detection ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_invalid_pid ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_complex_command ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_empty ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_single_field ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_deduplicates_linked_worktree_paths ... ok [INFO] [stdout] test tmux::cli::tests::test_parse_pane_line_too_few_fields ... ok [INFO] [stdout] test git::cli::tests::test_scan_repos_returns_empty_worktrees ... ok [INFO] [stdout] test git::cli::tests::test_create_branch_and_worktree ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_depth_does_not_recurse_into_repos ... ok [INFO] [stdout] test git::cli::tests::test_add_worktree ... ok [INFO] [stdout] test git::cli::tests::test_scan_repos_collision_detection ... ok [INFO] [stdout] test git::cli::tests::test_scan_repos_streaming_deduplicates_linked_worktree_paths ... ok [INFO] [stdout] test git::cli::tests::test_discover_repos_sorted ... ok [INFO] [stdout] test git::cli::tests::test_list_remotes_and_fetch_remote ... ok [INFO] [stdout] test state::tests::test_worktree_dir_bounded_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 309 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s [INFO] [stdout] [INFO] [stderr] Doc-tests kiosk_core [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" "8df0b33eaa930c219b0b643efa7ff74009a6341650ee1a83cba54fc533b9b2d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8df0b33eaa930c219b0b643efa7ff74009a6341650ee1a83cba54fc533b9b2d3", kill_on_drop: false }` [INFO] [stdout] 8df0b33eaa930c219b0b643efa7ff74009a6341650ee1a83cba54fc533b9b2d3