[INFO] cloning repository https://github.com/hndrewaall/claude-watch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hndrewaall/claude-watch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhndrewaall%2Fclaude-watch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhndrewaall%2Fclaude-watch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d3f2c32787f34c29b78f2a81f1857fafaca088bf
[INFO] testing hndrewaall/claude-watch against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhndrewaall%2Fclaude-watch" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/hndrewaall/claude-watch
[INFO] finished tweaking git repo https://github.com/hndrewaall/claude-watch
[INFO] tweaked toml for git repo https://github.com/hndrewaall/claude-watch written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hndrewaall/claude-watch on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hndrewaall/claude-watch 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 383943a73147685cf351c3c64f485fd4411b89543ed6d020fafd7fa54e8083de
[INFO] running `Command { std: "docker" "start" "-a" "383943a73147685cf351c3c64f485fd4411b89543ed6d020fafd7fa54e8083de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "383943a73147685cf351c3c64f485fd4411b89543ed6d020fafd7fa54e8083de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "383943a73147685cf351c3c64f485fd4411b89543ed6d020fafd7fa54e8083de", kill_on_drop: false }`
[INFO] [stdout] 383943a73147685cf351c3c64f485fd4411b89543ed6d020fafd7fa54e8083de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b80e526406c5affee6104e3a3c11a0e87e007d5569f39b5b57733e1da7ed05e
[INFO] running `Command { std: "docker" "start" "-a" "9b80e526406c5affee6104e3a3c11a0e87e007d5569f39b5b57733e1da7ed05e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling claude-watch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "9b80e526406c5affee6104e3a3c11a0e87e007d5569f39b5b57733e1da7ed05e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b80e526406c5affee6104e3a3c11a0e87e007d5569f39b5b57733e1da7ed05e", kill_on_drop: false }`
[INFO] [stdout] 9b80e526406c5affee6104e3a3c11a0e87e007d5569f39b5b57733e1da7ed05e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9f0d4737bd026376dc23e4d5738731d6c72652e511aa8d258a9144b1eb1cfa5
[INFO] running `Command { std: "docker" "start" "-a" "c9f0d4737bd026376dc23e4d5738731d6c72652e511aa8d258a9144b1eb1cfa5", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling claude-watch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "c9f0d4737bd026376dc23e4d5738731d6c72652e511aa8d258a9144b1eb1cfa5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9f0d4737bd026376dc23e4d5738731d6c72652e511aa8d258a9144b1eb1cfa5", kill_on_drop: false }`
[INFO] [stdout] c9f0d4737bd026376dc23e4d5738731d6c72652e511aa8d258a9144b1eb1cfa5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a98b87187b68574c9bdeb9139d2474f198334acada493e27b677cf6a7608b13e
[INFO] running `Command { std: "docker" "start" "-a" "a98b87187b68574c9bdeb9139d2474f198334acada493e27b677cf6a7608b13e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/claude_watch-4aa9dd66144172f6)
[INFO] [stdout] 
[INFO] [stdout] running 379 tests
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_at_threshold ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_fresh ... ok
[INFO] [stdout] test active_agents::tests::active_agents_serializes_to_expected_json_shape ... ok
[INFO] [stdout] test active_agents::tests::active_agents_empty_serializes_to_empty_arrays ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_none ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_future ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_stale ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_missing_dir ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_extra_whitespace ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_marker_no_qid ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_basic ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_first_match_wins ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_all_watchers ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_empty_input ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_excludes_own_commands ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_empty_dir ... ok
[INFO] [stdout] test active_agents::tests::atomic_write_creates_parent_dir ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_parses_queue_id_and_alive ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_sorts_ascending ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_excludes_watchers ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_terminator_punctuation ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_short_form ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_no_marker ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_empty_state ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_sorts_alphabetically ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_all_dead ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_filters_dead_panes ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_double_quotes ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_corrupt ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_no_eval ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_empty ... ok
[INFO] [stdout] test agent::tests::test_format_list_no_agents ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_no_bash ... ok
[INFO] [stdout] test agent::tests::test_format_list_with_agents ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_single_quotes ... ok
[INFO] [stdout] test agent::tests::test_is_own_command ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_watchmen ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_torrent_wait ... ok
[INFO] [stdout] test agent::tests::test_is_not_watcher ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_unquoted ... ok
[INFO] [stdout] test agent::tests::test_match_agent_to_pid_basic ... ok
[INFO] [stdout] test agent::tests::test_match_agent_to_pid_no_match ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_signal_wait ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_context_watch ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_basic ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_empty ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_whitespace_only ... ok
[INFO] [stdout] test agent::tests::test_watcher_patterns_comprehensive ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_config ... ok
[INFO] [stdout] test config::tests::test_parse_missing_section ... ok
[INFO] [stdout] test config::tests::test_hybrid_config_override ... ok
[INFO] [stdout] test config::tests::test_parse_minimal_values ... ok
[INFO] [stdout] test config::tests::test_parse_config_suppression_defaults ... ok
[INFO] [stdout] test config::tests::test_parse_config_suppression_overrides ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_auto_update_section ... ok
[INFO] [stdout] test config::tests::test_tmux_config_partial_override ... ok
[INFO] [stdout] test active_agents::tests::atomic_write_writes_and_replaces ... ok
[INFO] [stdout] test config::tests::test_post_escape_settle_ms_default_when_tmux_section_missing ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_handles_minimal_alert ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_has_required_fields ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_handles_watcher_down ... ok
[INFO] [stdout] test config::tests::test_parse_valid_config ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_killed ... ok
[INFO] [stdout] test config::tests::test_tmux_config_defaults_when_omitted ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_natural_exit ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_with_queue_id_includes_field ... ok
[INFO] [stdout] test config::tests::test_post_escape_settle_ms_explicit_override ... ok
[INFO] [stdout] test config::tests::test_tmux_config_empty_section ... ok
[INFO] [stdout] test event_bus::tests::emit_workload_done_writes_file_with_correct_shape ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_failure_exit ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_append ... ok
[INFO] [stdout] test proc_util::tests::test_is_service_output_no_file ... ok
[INFO] [stdout] test event_bus::tests::severity_maps_to_priority ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_rdwr ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_no_flags_line ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_rdonly ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_wronly ... ok
[INFO] [stdout] test event_bus::tests::emit_writes_a_file_in_temp_queue_dir ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_empty ... ok
[INFO] [stdout] test reminders::tests::from_str_canonical_forms ... ok
[INFO] [stdout] test respawn::tests::active_subagent_blocks_respawn_even_when_threshold_met ... ok
[INFO] [stdout] test respawn::tests::agent_guard_runs_before_threshold_check ... ok
[INFO] [stdout] test respawn::tests::config_defaults_match_spec ... ok
[INFO] [stdout] test reminders::tests::all_fire_counts_covers_all_types ... ok
[INFO] [stdout] test respawn::tests::cooldown_blocks_re_fire ... ok
[INFO] [stdout] test respawn::tests::cooldown_expires_allows_re_fire ... ok
[INFO] [stdout] test reminders::tests::marker_roundtrip_preserves_context ... ok
[INFO] [stdout] test respawn::tests::duplicate_signal_does_not_count_twice ... ok
[INFO] [stdout] test respawn::tests::count_active_subagents_no_claude_pid_returns_zero ... ok
[INFO] [stdout] test respawn::tests::hash_differs_for_different_input ... ok
[INFO] [stdout] test respawn::tests::hash_is_deterministic_for_same_input ... ok
[INFO] [stdout] test respawn::tests::higher_threshold_requires_more_signals ... ok
[INFO] [stdout] test respawn::tests::many_active_subagents_block_respawn ... ok
[INFO] [stdout] test reminders::tests::read_marker_missing_file_is_default ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_below_threshold_does_not_fire ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_change_resets_timer ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_fires_after_threshold ... ok
[INFO] [stdout] test respawn::tests::signals_outside_window_are_pruned ... ok
[INFO] [stdout] test reminders::tests::record_fire_increments_counter ... ok
[INFO] [stdout] test respawn::tests::signals_required_is_two_by_default ... ok
[INFO] [stdout] test respawn::tests::single_signal_does_not_trigger_respawn ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_first_observation_does_not_fire ... ok
[INFO] [stdout] test respawn::tests::zero_subagents_does_not_change_existing_behavior ... ok
[INFO] [stdout] test respawn::tests::three_signals_trigger_respawn_when_required_two ... ok
[INFO] [stdout] test respawn::tests::two_distinct_signals_trigger_respawn ... ok
[INFO] [stdout] test session_event::tests::test_fmt_duration ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_basic ... ok
[INFO] [stdout] test respawn::tests::signal_names_are_stable_strings ... ok
[INFO] [stdout] test reminders::tests::should_defer_to_hook_respects_grace_window ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_empty ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_no_compactions ... ok
[INFO] [stdout] test session_event::tests::test_format_history_basic ... ok
[INFO] [stdout] test session_event::tests::test_format_history_empty ... ok
[INFO] [stdout] test session_event::tests::test_format_number ... ok
[INFO] [stdout] test session_event::tests::test_format_stats_empty ... ok
[INFO] [stdout] test session_event::tests::test_format_stats_basic ... ok
[INFO] [stdout] test reminders::tests::seconds_since_fire_after_record ... ok
[INFO] [stdout] test session_event::tests::test_parse_duration_secs ... ok
[INFO] [stdout] test session_event::tests::test_read_completed_tasks_from_str_all ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_empty ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_basic ... ok
[INFO] [stdout] test session_event::tests::test_read_completed_tasks_from_str ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_skips_corrupt ... ok
[INFO] [stdout] test status::tests::test_extract_version_no_match ... ok
[INFO] [stdout] test session_event::tests::test_valid_events_constant ... ok
[INFO] [stdout] test reminders::tests::should_defer_false_for_stale_marker ... ok
[INFO] [stdout] test status::tests::test_extract_version_simple ... ok
[INFO] [stdout] test session_event::tests::test_session_event_serialization ... ok
[INFO] [stdout] test session_event::tests::test_session_event_serialization_skip_none ... ok
[INFO] [stdout] test status::tests::test_extract_version_three_part ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_bashes_found ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_empty_capture ... ok
[INFO] [stdout] test status::tests::test_extract_version_empty ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_has_content_but_nothing_parsed ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_status_bar_visible_no_counts ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_tokens_found ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_basic ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_truncates_long_lines ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_skips_blank_lines ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_fewer_lines_than_max ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_accept_edits_icon_alone ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_bashes ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_background_tasks ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_compact_zero ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_extreme_wrap_incident_2026_04_18 ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_diag_full_bar_returns_true ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_diag_no_status_bar_visible ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_empty ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_full ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_idle_no_counts ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_large_tokens ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_missing_fields ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_only_last_10_lines ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_does_not_overshadow_inline_bar ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_active_shell_singular ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_with_shells_and_agents_section_2026_04_27 ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_active_shells ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_thinking_token_pushed_above_window ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells_realistic ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells_wrapped_permissi ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_single_chevron_not_enough ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_background_task ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_bash ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_realistic ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_m_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_shell ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_does_not_match_prose ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_k_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_down_arrow ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_no_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_tokens_no_commas ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_truncated_ellipsis ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_wrapped_with_compact ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_wrapped_narrow_pane ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_basic ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_config_missing_file ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_disabled ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_complete ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_empty ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_comments_and_blanks ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_empty ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_minimal_fields ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_agent ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_still_working ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_empty_brackets ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_no_brackets ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_standard ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_with_hyphens ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_single_field_rejected ... ok
[INFO] [stdout] test task_watch::tests::test_find_tasks_dir_in_nonexistent ... ok
[INFO] [stdout] test task_watch::tests::test_has_output_no_file ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_agent_id_only ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_agent_slug ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_empty ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_user_only ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_invalid_json ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_long_text ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_invalid_min_count ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_short_text ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_empty_object ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_malformed_json ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_missing_file ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_multiple_workloads ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_root_is_array ... ok
[INFO] [stdout] test tmux::tests::test_activity_bullets_with_prompt_and_completion_is_idle ... ok
[INFO] [stdout] test tmux::tests::test_activity_display ... ok
[INFO] [stdout] test task_watch::tests::test_is_agent_output_no_file ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_default ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_single_workload ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_empty_env_falls_back_to_default ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_takes_priority_over_spinner ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_takes_priority_over_thinking ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_when_only_completion_no_thinking_content ... ok
[INFO] [stdout] test tmux::tests::test_activity_bullets_with_prompt_no_completion_is_writing ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_when_content_has_middle_dot_and_ellipsis ... ok
[INFO] [stdout] test tmux::tests::test_activity_only_checks_last_15_lines ... ok
[INFO] [stdout] test tmux::tests::test_activity_stale_thinking_with_completion_is_idle ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_standard ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_273b_flowing ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_takes_priority_over_spinner ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_273b_with_separator_and_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_honking ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_new_format_with_bullet_prefix ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_pondering ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_within_last_15 ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_env_override ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_bash ... ok
[INFO] [stdout] test tmux::tests::test_activity_unknown_empty ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_indented_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_read ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_empty_input ... ok
[INFO] [stdout] test tmux::tests::test_activity_unknown ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_isolated_overloaded_word ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_429_with_retrying_in ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_multiple_bullets_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_overloaded_keyword_alone ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_overload_with_retrying_in ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_resolved_no_banner ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_attempt_marker_with_5xx ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_no_indicators ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_percent_in_status_bar_not_shell ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_shell_prompt_overrides_tokens ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_arrow_prompt ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_shell_prompt_bira ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_bira_dollar_prompt ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_status_bar ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_background_stopped ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_goodbye ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_only_background_stopped ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_various_spinners ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_basic ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_none ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_wrapped ... ok
[INFO] [stdout] test tmux::tests::test_feedback_prompt_dismiss_only ... ok
[INFO] [stdout] test tmux::tests::test_feedback_prompt_detected ... ok
[INFO] [stdout] test tmux::tests::test_foreground_busy_with_spinner ... ok
[INFO] [stdout] test tmux::tests::test_foreground_not_busy_no_spinner ... ok
[INFO] [stdout] test tmux::tests::test_foreground_not_busy_with_prompt ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_detected ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_not_present ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_only_checks_last_15_lines ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_not_present ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_unwrapped_dashes ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_within_last_15 ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_colored_ansi_capture ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_wrapped_bare_token ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_substring_inserted_does_not_match_in_tail ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_word_in_chat_does_not_false_positive ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_completion_lines ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_status_bar_wrap ... ok
[INFO] [stdout] test tmux::tests::test_no_feedback_prompt ... ok
[INFO] [stdout] test tmux::tests::test_no_shell_prompt ... ok
[INFO] [stdout] test tmux::tests::test_no_exit_teardown_goodbye_in_content ... ok
[INFO] [stdout] test tmux::tests::test_no_exit_teardown_normal_output ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_without_error_marker ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_429_without_reject ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_old_history_only ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_normal_thinking ... ok
[INFO] [stdout] test tmux::tests::test_reauth_browser_didnt_open ... ok
[INFO] [stdout] test tmux::tests::test_reauth_login_url ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_401_text_with_tui ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_agents_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_api_error_401_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_authentication_error_json_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_background_tasks_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_conversation_about_401 ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_api_error_without_429 ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_bypass_permissions_banner_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_post_escape_settle_ms_get_set_roundtrip ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_conversation_about_auth ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_empty ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_invalid_credentials_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_normal_tui ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_shells_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_startup ... ok
[INFO] [stdout] test tmux::tests::test_reauth_oauth_url ... ok
[INFO] [stdout] test tmux::tests::test_reauth_paste_code ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_arrow ... ok
[INFO] [stdout] test tmux::tests::test_reauth_session_expired ... ok
[INFO] [stdout] test tmux::tests::test_reauth_still_detected_when_tui_gone ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_dollar ... ok
[INFO] [stdout] test tmux::tests::test_wedged_context_limit_alt_phrasing ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_percent ... ok
[INFO] [stdout] test tmux::tests::test_wedged_context_limit_banner ... ok
[INFO] [stdout] test tmux::tests::test_wedged_empty_input ... ok
[INFO] [stdout] test tmux::tests::test_wedged_rate_limit_repeated ... ok
[INFO] [stdout] test tmux::tests::test_wedged_rate_limit_429 ... ok
[INFO] [stdout] test tmux::tests::test_wedged_only_checks_recent_lines ... ok
[INFO] [stdout] test tmux::tests::test_wedged_reason_display ... ok
[INFO] [stdout] test watcher::tests::test_any_unhealthy_includes_duplicate ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_neither_falls_back_to_one ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_nonzero ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_takes_precedence ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_zero ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigint ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigkill ... ok
[INFO] [stdout] test watcher::tests::test_format_list_basic ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigterm ... ok
[INFO] [stdout] test watcher::tests::test_format_status_disabled ... ok
[INFO] [stdout] test watcher::tests::test_format_status_down_only_suggests_watcher_ctl_run ... ok
[INFO] [stdout] test watcher::tests::test_format_status_down_takes_precedence_over_duplicate ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_both ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_pollers ... ok
[INFO] [stdout] test watcher::tests::test_format_list_empty ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_supervisors_only ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_suggests_watcher_restart ... ok
[INFO] [stdout] test watcher::tests::test_format_status_mixed_down_and_duplicate_prefers_watcher_restart ... ok
[INFO] [stdout] test watcher::tests::test_format_status_healthy_no_recovery_footer ... ok
[INFO] [stdout] test watcher::tests::test_format_status_all_ok ... ok
[INFO] [stdout] test watcher::tests::test_is_supervisor_comm_self ... ok
[INFO] [stdout] test watcher::tests::test_format_status_machine_greppable ... ok
[INFO] [stdout] test watcher::tests::test_format_status_some_down ... ok
[INFO] [stdout] test watcher::tests::test_protected_watchers_includes_memory_remind ... ok
[INFO] [stdout] test watcher::tests::test_is_supervisor_comm_nonexistent_pid ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_disable ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_not_found ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_preserves_comments ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_normal_output ... ok
[INFO] [stdout] test tmux::tests::test_reauth_auth_required ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_tool_output_and_markdown ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_enable ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_minimal_fields ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_positive_cases ... ok
[INFO] [stdout] test watcher::tests::test_watcher_toggle_enable_is_config_only ... ok
[INFO] [stdout] test workload::tests::auto_create_calls_queue_add_with_workload_scope ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_on_malformed_json ... ok
[INFO] [stdout] test workload::tests::auto_create_calls_register_after_add ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_on_queue_add_failure ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_when_session_task_missing ... ok
[INFO] [stdout] test watcher::tests::test_watcher_toggle_enable_does_not_spawn_process ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_queue_abandon_on_failure ... ok
[INFO] [stdout] test workload::tests::cmd_wait_with_force_flag_proceeds_to_state_lookup ... ok
[INFO] [stdout] test workload::tests::cmd_wait_without_force_flag_exits_with_code_2 ... ok
[INFO] [stdout] test workload::tests::auto_create_register_failure_still_returns_qid ... ok
[INFO] [stdout] test workload::tests::shell_quote_plain ... ok
[INFO] [stdout] test workload::tests::shell_quote_with_apostrophe ... ok
[INFO] [stdout] test workload::tests::state_loads_legacy_entry_without_queue_id_field ... ok
[INFO] [stdout] test workload::tests::state_loads_missing_file_as_empty ... ok
[INFO] [stdout] test workload::tests::state_roundtrip ... ok
[INFO] [stdout] test workload::tests::state_roundtrip_with_queue_id ... ok
[INFO] [stdout] test workload::tests::wrapper_script_contains_heartbeat_sidecar ... ok
[INFO] [stdout] test workload::tests::wrapper_script_contains_timestamp_prefix_paths ... ok
[INFO] [stdout] test workload::tests::wrapper_script_heartbeat_disabled_via_env ... ok
[INFO] [stdout] test workload::tests::wrapper_script_no_queue_id_omits_arg ... ok
[INFO] [stdout] test workload::tests::wrapper_script_no_unprefixed_tee_exec ... ok
[INFO] [stdout] test workload::tests::wrapper_script_preserves_headers_and_emit_done ... ok
[INFO] [stdout] 2026-05-11T11:46:59+00:00 === workload: rt ===
[INFO] [stdout] 2026-05-11T11:46:59+00:00 Started: 2026-05-11T11:46:59+00:00
[INFO] [stdout] 2026-05-11T11:46:59+00:00 Command: echo first; echo second
[INFO] [stdout] 2026-05-11T11:46:59+00:00 ---
[INFO] [stdout] 2026-05-11T11:46:59+00:00 first
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_queue_abandon_on_kill ... ok
[INFO] [stdout] 2026-05-11T11:46:59+00:00 second
[INFO] [stdout] 2026-05-11T11:46:59+00:00 
[INFO] [stdout] 2026-05-11T11:46:59+00:00 === DONE (exit 0) at 2026-05-11T11:46:59+00:00 ===
[INFO] [stdout] 2026-05-11T11:46:59+00:00 === workload: rh ===
[INFO] [stdout] 2026-05-11T11:46:59+00:00 Started: 2026-05-11T11:46:59+00:00
[INFO] [stdout] 2026-05-11T11:46:59+00:00 Command: echo running; sleep 1
[INFO] [stdout] 2026-05-11T11:46:59+00:00 ---
[INFO] [stdout] 2026-05-11T11:46:59+00:00 running
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_session_task_queue_done_on_clean_exit ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_killed_marker ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_queue_transition_skipped_by_env ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_with_queue_id_carries_qid_in_event ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_writes_event_file ... ok
[INFO] [stdout] test workload::tests::wrapper_script_runtime_emits_iso8601_prefixes ... ok
[INFO] [stdout] 2026-05-11T11:47:00+00:00 
[INFO] [stdout] 2026-05-11T11:47:00+00:00 === DONE (exit 0) at 2026-05-11T11:47:00+00:00 ===
[INFO] [stdout] test workload::tests::run_session_task_with_timeout_kills_runaway_child ... ok
[INFO] [stdout] test workload::tests::wrapper_script_runtime_pets_and_reaps_heartbeat ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 379 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/claude_watch-97d654e7578e2e7a)
[INFO] [stdout] 
[INFO] [stdout] running 597 tests
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_at_threshold ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_fresh ... ok
[INFO] [stdout] test active_agents::tests::active_agents_empty_serializes_to_empty_arrays ... ok
[INFO] [stdout] test active_agents::tests::active_agents_serializes_to_expected_json_shape ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_stale ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_future ... ok
[INFO] [stdout] test active_agents::tests::agent_alive_from_mtime_none ... ok
[INFO] [stdout] test active_agents::tests::atomic_write_writes_and_replaces ... ok
[INFO] [stdout] test active_agents::tests::atomic_write_creates_parent_dir ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_first_match_wins ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_marker_no_qid ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_no_marker ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_short_form ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_terminator_punctuation ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_all_watchers ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_empty_input ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_excludes_watchers ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_excludes_own_commands ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_empty_state ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_filters_dead_panes ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_all_dead ... ok
[INFO] [stdout] test active_agents::tests::running_workload_labels_sorts_alphabetically ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_basic ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_double_quotes ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_no_eval ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_single_quotes ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_corrupt ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_empty ... ok
[INFO] [stdout] test agent::tests::test_extract_last_bash_cmd_from_str_no_bash ... ok
[INFO] [stdout] test agent::tests::test_extract_eval_command_unquoted ... ok
[INFO] [stdout] test agent::tests::test_format_list_no_agents ... ok
[INFO] [stdout] test agent::tests::test_format_list_with_agents ... ok
[INFO] [stdout] test active_agents::tests::filter_subagent_pids_sorts_ascending ... ok
[INFO] [stdout] test agent::tests::test_is_not_watcher ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_missing_dir ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_signal_wait ... ok
[INFO] [stdout] test agent::tests::test_is_own_command ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_context_watch ... ok
[INFO] [stdout] test active_agents::tests::extract_queue_id_extra_whitespace ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_torrent_wait ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_basic ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_empty ... ok
[INFO] [stdout] test agent::tests::test_is_watcher_watchmen ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_empty_dir ... ok
[INFO] [stdout] test agent::tests::test_parse_ps_output_whitespace_only ... ok
[INFO] [stdout] test agent::tests::test_match_agent_to_pid_basic ... ok
[INFO] [stdout] test alert::tests::notify_alert_struct_compiles ... ok
[INFO] [stdout] test agent::tests::test_match_agent_to_pid_no_match ... ok
[INFO] [stdout] test active_agents::tests::collect_agent_records_parses_queue_id_and_alive ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_config ... ok
[INFO] [stdout] test agent::tests::test_watcher_patterns_comprehensive ... ok
[INFO] [stdout] test config::tests::test_parse_config_suppression_overrides ... ok
[INFO] [stdout] test config::tests::test_parse_config_suppression_defaults ... ok
[INFO] [stdout] test config::tests::test_hybrid_config_override ... ok
[INFO] [stdout] test config::tests::test_parse_missing_section ... ok
[INFO] [stdout] test config::tests::test_post_escape_settle_ms_explicit_override ... ok
[INFO] [stdout] test config::tests::test_parse_minimal_values ... ok
[INFO] [stdout] test config::tests::test_tmux_config_defaults_when_omitted ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_handles_watcher_down ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_handles_minimal_alert ... ok
[INFO] [stdout] test event_bus::tests::build_event_json_has_required_fields ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_killed ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_natural_exit ... ok
[INFO] [stdout] test config::tests::test_parse_valid_config ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_with_queue_id_includes_field ... ok
[INFO] [stdout] test event_bus::tests::severity_maps_to_priority ... ok
[INFO] [stdout] test event_bus::tests::emit_workload_done_writes_file_with_correct_shape ... ok
[INFO] [stdout] test event_bus::tests::emit_writes_a_file_in_temp_queue_dir ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_auto_update_section ... ok
[INFO] [stdout] test event_bus::tests::build_workload_done_failure_exit ... ok
[INFO] [stdout] test hook_fire::tests::noop_shape ... ok
[INFO] [stdout] test hook_fire::tests::reminder_response_additional_context_events ... ok
[INFO] [stdout] test config::tests::test_post_escape_settle_ms_default_when_tmux_section_missing ... ok
[INFO] [stdout] test config::tests::test_tmux_config_empty_section ... ok
[INFO] [stdout] test hook_fire::tests::stop_event_reminder_matches_bug_report_fix ... ok
[INFO] [stdout] test config::tests::test_tmux_config_partial_override ... ok
[INFO] [stdout] test logging::tests::test_log_event_flattened_fields ... ok
[INFO] [stdout] test logging::tests::test_log_event_serialization ... ok
[INFO] [stdout] test logging::tests::test_write_jsonl_log_creates_file ... ok
[INFO] [stdout] test logging::tests::test_write_legacy_log_creates_file ... ok
[INFO] [stdout] test metrics::tests::build_metrics_includes_fallback_counters ... ok
[INFO] [stdout] test metrics::tests::build_metrics_includes_per_interrupt_kind_counters ... ok
[INFO] [stdout] test metrics::tests::build_metrics_minimal ... ok
[INFO] [stdout] test metrics::tests::build_metrics_per_interrupt_defaults_to_zero ... ok
[INFO] [stdout] test metrics::tests::build_metrics_watcher_health ... ok
[INFO] [stdout] test metrics::tests::down_metrics_format ... ok
[INFO] [stdout] test metrics::tests::parse_iso_empty_is_zero ... ok
[INFO] [stdout] test metrics::tests::parse_iso_garbage_is_zero ... ok
[INFO] [stdout] test metrics::tests::parse_iso_rfc3339 ... ok
[INFO] [stdout] test hook_fire::tests::block_with_context_additional_context_event ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_at_consecutive_threshold_suppresses ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_below_consecutive_threshold_does_not_suppress ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_first_detection_stamps_first_seen ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_max_stuck_secs_lifts_suppression ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_max_stuck_secs_zero_disables_cap ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_not_retrying_clears_state ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_preserves_first_seen_across_cycles ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_resolution_then_re_entry ... ok
[INFO] [stdout] test policy::tests::test_api_retry_eval_saturating_consecutive ... ok
[INFO] [stdout] test policy::tests::test_auto_respawn_default_off ... ok
[INFO] [stdout] test policy::tests::test_check_auto_respawn_aborts_when_no_claude_via_mock ... ok
[INFO] [stdout] test policy::tests::test_check_auto_respawn_cooldown_blocks_re_fire ... ok
[INFO] [stdout] test hook_fire::tests::event_classification ... ok
[INFO] [stdout] test hook_fire::tests::block_with_context_system_message_event ... ok
[INFO] [stdout] test hook_fire::tests::block_with_context_stop_event_uses_system_message ... ok
[INFO] [stdout] test metrics::tests::write_and_read_prom ... ok
[INFO] [stdout] test policy::tests::test_collect_no_signals_when_clean_state ... ok
[INFO] [stdout] test policy::tests::test_collect_heartbeat_stuck_emits_signal ... ok
[INFO] [stdout] test policy::tests::test_check_auto_respawn_is_noop_when_disabled ... ok
[INFO] [stdout] test policy::tests::test_check_auto_respawn_records_but_does_not_fire_below_threshold ... ok
[INFO] [stdout] test policy::tests::test_collect_multiple_signals_combine ... ok
[INFO] [stdout] test policy::tests::test_collect_watcher_signal_requires_recent_inject ... ok
[INFO] [stdout] test policy::tests::test_collect_wedged_signal_requires_recent_clear_and_climbing ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_does_not_block_percent_fallback ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_present_but_safe_falls_through_to_percent ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_remaining_at_boundary ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_wins_over_margin ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_zero ... ok
[INFO] [stdout] test hook_fire::tests::reminder_response_system_message_events ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_fallback_token_percent_triggers ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_margin_fires_even_when_compact_remaining_present ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_margin_overrides_percent ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_margin_safe ... ok
[INFO] [stdout] test logging::tests::test_log_event_empty_fields ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_remaining_safe ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_compact_remaining_triggers ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_fallback_token_percent_safe ... ok
[INFO] [stdout] test policy::tests::test_dead_process_invalid_timestamp_treated_as_idle ... ok
[INFO] [stdout] test metrics::tests::build_metrics_includes_reminder_fire_labels ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_margin_triggers ... ok
[INFO] [stdout] test policy::tests::test_context_threshold_neither_compact_nor_margin_fires ... ok
[INFO] [stdout] test policy::tests::test_dead_process_not_suppressed_when_disabled ... ok
[INFO] [stdout] test policy::tests::test_dead_process_not_suppressed_when_no_history ... ok
[INFO] [stdout] test policy::tests::test_dead_process_suppressed_when_actively_turning ... ok
[INFO] [stdout] test policy::tests::test_dead_process_suppressed_when_recent_activity_in_window ... ok
[INFO] [stdout] test policy::tests::test_elapsed_since_invalid ... ok
[INFO] [stdout] test policy::tests::test_dead_process_uses_wider_default_window_than_watcher_down ... ok
[INFO] [stdout] test policy::tests::test_elapsed_since_valid ... ok
[INFO] [stdout] test policy::tests::test_collect_watcher_signal_ignores_stale_inject ... ok
[INFO] [stdout] test policy::tests::test_filter_consumer_for_event_emit_consumer_absent_returns_unchanged ... ok
[INFO] [stdout] test policy::tests::test_collect_thinking_signal_requires_two_interrupts ... ok
[INFO] [stdout] test policy::tests::test_default_watcher_inject_cooldown_is_aggressive ... ok
[INFO] [stdout] test policy::tests::test_filter_consumer_for_event_emit_consumer_among_others_filtered_out ... ok
[INFO] [stdout] test policy::tests::test_default_state_has_clean_suppression_counters ... ok
[INFO] [stdout] test policy::tests::test_dead_process_not_suppressed_when_idle_outside_window ... ok
[INFO] [stdout] test policy::tests::test_filter_consumer_for_event_emit_custom_consumer_name ... ok
[INFO] [stdout] test policy::tests::test_filter_consumer_for_event_emit_empty_returns_none ... ok
[INFO] [stdout] test policy::tests::test_filter_consumer_for_event_emit_only_consumer_returns_none ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_not_suppressed_when_disabled ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_not_suppressed_when_idle_outside_window ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_suppressed_when_recent_activity_in_window ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_window_zero_still_honors_live_bashes ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_invalid_timestamp_treated_as_idle ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_window_zero_idle_does_not_suppress ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_suppressed_when_actively_turning ... ok
[INFO] [stdout] test policy::tests::test_fresh_clear_not_suppressed_when_no_history ... ok
[INFO] [stdout] test policy::tests::test_global_cooldown_disabled_when_zero ... ok
[INFO] [stdout] test policy::tests::test_global_cooldown_expired_after_window ... ok
[INFO] [stdout] test policy::tests::test_global_cooldown_inactive_when_no_prior_interrupt ... ok
[INFO] [stdout] test policy::tests::test_inject_active_session_marks_alive ... ok
[INFO] [stdout] test policy::tests::test_inject_loop_prevention_never_alive_recent ... ok
[INFO] [stdout] test policy::tests::test_inject_loop_prevention_expired_never_alive ... ok
[INFO] [stdout] test policy::tests::test_inject_loop_prevention_was_alive_then_died ... ok
[INFO] [stdout] test policy::tests::test_inject_loop_prevention_no_timestamp ... ok
[INFO] [stdout] test policy::tests::test_interrupt_counter_independent_of_backoff_index ... ok
[INFO] [stdout] test policy::tests::test_global_cooldown_active_within_window ... ok
[INFO] [stdout] test policy::tests::test_inject_pane_change_resets_both_flags ... ok
[INFO] [stdout] test policy::tests::test_global_cooldown_ignores_malformed_timestamp ... ok
[INFO] [stdout] test policy::tests::test_external_clear_path_records_timestamp ... ok
[INFO] [stdout] test policy::tests::test_external_clear_path_skipped_during_boot ... ok
[INFO] [stdout] test policy::tests::test_interrupt_counter_saturating_increment_does_not_panic_at_u64_max ... ok
[INFO] [stdout] test policy::tests::test_interrupt_counters_independent_per_kind ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_invalid_timestamp_treated_as_idle ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_recent_activity_in_window ... ok
[INFO] [stdout] test policy::tests::test_interrupt_counter_saturating_increment_accumulates ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_stale_activity_outside_window ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_when_bashes_nonzero ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_no_history_idle ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_window_zero_still_honors_live_bashes ... ok
[INFO] [stdout] test policy::tests::test_read_watcher_pid_empty_file ... ok
[INFO] [stdout] test policy::tests::test_main_loop_actively_turning_window_zero_idle_returns_false ... ok
[INFO] [stdout] test policy::tests::test_is_api_retry_suppressing_disabled ... ok
[INFO] [stdout] test policy::tests::test_is_api_retry_suppressing_below_threshold ... ok
[INFO] [stdout] test policy::tests::test_is_api_retry_suppressing_no_episode ... ok
[INFO] [stdout] test policy::tests::test_is_api_retry_suppressing_active_episode ... ok
[INFO] [stdout] test policy::tests::test_is_api_retry_suppressing_max_stuck_lifts ... ok
[INFO] [stdout] test policy::tests::test_read_watcher_pid_garbage ... ok
[INFO] [stdout] test policy::tests::test_read_watcher_pid_missing_file ... ok
[INFO] [stdout] test policy::tests::test_read_watcher_pid_valid ... ok
[INFO] [stdout] test policy::tests::test_record_suppression_does_not_touch_last_interrupt_at ... ok
[INFO] [stdout] test policy::tests::test_record_suppression_does_not_touch_last_watcher_inject ... ok
[INFO] [stdout] test policy::tests::test_read_watcher_pid_trims_whitespace ... ok
[INFO] [stdout] test policy::tests::test_record_suppression_first_call_stamps_timestamp ... ok
[INFO] [stdout] test policy::tests::test_record_suppression_saturates_at_u32_max ... ok
[INFO] [stdout] test policy::tests::test_record_suppression_subsequent_calls_preserve_timestamp ... ok
[INFO] [stdout] test policy::tests::test_reset_suppression_clears_both_fields ... ok
[INFO] [stdout] test policy::tests::test_record_then_reset_returns_to_pristine_state ... ok
[INFO] [stdout] test policy::tests::test_reset_low_tokens_clears_triggered_flag ... ok
[INFO] [stdout] test policy::tests::test_reset_suppression_idempotent_when_already_clear ... ok
[INFO] [stdout] test policy::tests::test_reset_at_exact_fresh_threshold_does_not_reset ... ok
[INFO] [stdout] test policy::tests::test_reset_idempotent_when_flag_already_clear ... ok
[INFO] [stdout] test policy::tests::test_reset_just_below_threshold_resets ... ok
[INFO] [stdout] test policy::tests::test_reset_high_tokens_leaves_flag_set ... ok
[INFO] [stdout] test policy::tests::test_self_heal_no_trigger_at_zero ... ok
[INFO] [stdout] test policy::tests::test_self_heal_triggers_at_threshold_with_tokens ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_consecutive_cap_zero_disables_consecutive_check ... ok
[INFO] [stdout] test policy::tests::test_self_heal_no_trigger_when_retry_still_zero ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_fires_on_consecutive_cap ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_fires_on_window_exceeded ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_fires_on_consecutive_cap_overshoot ... ok
[INFO] [stdout] test policy::tests::test_self_heal_no_trigger_below_threshold ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_invalid_first_suppression_at_treated_as_no_window_data ... ok
[INFO] [stdout] test policy::tests::test_self_heal_triggers_at_threshold_with_bashes ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_returns_none_below_both_limits ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_returns_none_when_counter_zero ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_window_zero_disables_window_check ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_caps_at_max ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_different_base ... ok
[INFO] [stdout] test policy::tests::test_should_escalate_consecutive_cap_takes_precedence_over_window ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_first_interrupt ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_multiplier_3 ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_multiplier_overflow_safety ... ok
[INFO] [stdout] test policy::tests::test_reset_zero_tokens_clears_triggered_flag ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_multiplier_2_matches_legacy ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_at_event_threshold_emits ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_consumer_watcher_falls_through_to_inject_at_threshold ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_overflow_safety ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_grace_expired_at_inject_threshold_falls_through_to_inject ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_grace_expired_below_inject_threshold_does_nothing ... ok
[INFO] [stdout] test policy::tests::test_thinking_backoff_sequence ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_grace_zero_disables_quiet_path_after_first_emit ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_misconfig_event_threshold_above_inject_threshold ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_above_event_threshold_emits ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_consumer_watcher_skips_event_below_inject_threshold ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_below_event_threshold_does_nothing ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_re_emit_suppressed_when_grace_active_and_count_grew ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_recovery_clears_event_emitted_at_externally ... ok
[INFO] [stdout] test policy::tests::test_watcher_action_within_grace_window_suppresses ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_due_after_cooldown ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_due_cooldown_zero_always_due ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_due_malformed_timestamp_fails_open ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_due_never_injected ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_due_within_cooldown ... ok
[INFO] [stdout] test policy::tests::test_self_heal_triggers_above_threshold ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_count_below_min ... ok
[INFO] [stdout] test policy::tests::test_watcher_inject_ignores_global_cooldown ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_count_meets_min_no_pidfile ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_min_count_zero ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_pidfile_alive ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_count_below_min_with_pidfile ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_pidfile_dead_orphan ... ok
[INFO] [stdout] test policy::tests::test_watcher_is_down_pidfile_dead_with_higher_count ... ok
[INFO] [stdout] test policy::tests::test_watcher_state_recovery_clears_event_emitted_at ... ok
[INFO] [stdout] test proc_util::tests::test_is_service_output_no_file ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_empty ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_no_flags_line ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_rdonly ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_rdwr ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_append ... ok
[INFO] [stdout] test reminders::tests::from_str_canonical_forms ... ok
[INFO] [stdout] test proc_util::tests::test_parse_fdinfo_writable_wronly ... ok
[INFO] [stdout] test reminders::tests::all_fire_counts_covers_all_types ... ok
[INFO] [stdout] test reminders::tests::marker_roundtrip_preserves_context ... ok
[INFO] [stdout] test reminders::tests::read_marker_missing_file_is_default ... ok
[INFO] [stdout] test respawn::tests::active_subagent_blocks_respawn_even_when_threshold_met ... ok
[INFO] [stdout] test respawn::tests::config_defaults_match_spec ... ok
[INFO] [stdout] test respawn::tests::agent_guard_runs_before_threshold_check ... ok
[INFO] [stdout] test respawn::tests::cooldown_expires_allows_re_fire ... ok
[INFO] [stdout] test respawn::tests::cooldown_blocks_re_fire ... ok
[INFO] [stdout] test respawn::tests::hash_is_deterministic_for_same_input ... ok
[INFO] [stdout] test respawn::tests::count_active_subagents_no_claude_pid_returns_zero ... ok
[INFO] [stdout] test respawn::tests::higher_threshold_requires_more_signals ... ok
[INFO] [stdout] test respawn::tests::duplicate_signal_does_not_count_twice ... ok
[INFO] [stdout] test respawn::tests::many_active_subagents_block_respawn ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_change_resets_timer ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_below_threshold_does_not_fire ... ok
[INFO] [stdout] test reminders::tests::record_fire_increments_counter ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_fires_after_threshold ... ok
[INFO] [stdout] test reminders::tests::should_defer_false_for_stale_marker ... ok
[INFO] [stdout] test respawn::tests::hash_differs_for_different_input ... ok
[INFO] [stdout] test respawn::tests::pane_unchanged_first_observation_does_not_fire ... ok
[INFO] [stdout] test respawn::tests::signal_names_are_stable_strings ... ok
[INFO] [stdout] test respawn::tests::signals_required_is_two_by_default ... ok
[INFO] [stdout] test respawn::tests::signals_outside_window_are_pruned ... ok
[INFO] [stdout] test reminders::tests::seconds_since_fire_after_record ... ok
[INFO] [stdout] test respawn::tests::three_signals_trigger_respawn_when_required_two ... ok
[INFO] [stdout] test respawn::tests::single_signal_does_not_trigger_respawn ... ok
[INFO] [stdout] test session_event::tests::test_fmt_duration ... ok
[INFO] [stdout] test respawn::tests::two_distinct_signals_trigger_respawn ... ok
[INFO] [stdout] test reminders::tests::should_defer_to_hook_respects_grace_window ... ok
[INFO] [stdout] test respawn::tests::zero_subagents_does_not_change_existing_behavior ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_empty ... ok
[INFO] [stdout] test session_event::tests::test_format_history_empty ... ok
[INFO] [stdout] test session_event::tests::test_format_history_basic ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_no_compactions ... ok
[INFO] [stdout] test session_event::tests::test_format_number ... ok
[INFO] [stdout] test session_event::tests::test_format_stats_basic ... ok
[INFO] [stdout] test session_event::tests::test_read_completed_tasks_from_str_all ... ok
[INFO] [stdout] test session_event::tests::test_format_compaction_stats_basic ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_basic ... ok
[INFO] [stdout] test session_event::tests::test_format_stats_empty ... ok
[INFO] [stdout] test session_event::tests::test_read_completed_tasks_from_str ... ok
[INFO] [stdout] test session_event::tests::test_parse_duration_secs ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_skips_corrupt ... ok
[INFO] [stdout] test session_event::tests::test_session_event_serialization_skip_none ... ok
[INFO] [stdout] test session_event::tests::test_valid_events_constant ... ok
[INFO] [stdout] test session_event::tests::test_read_events_from_str_empty ... ok
[INFO] [stdout] test state::tests::test_default_state ... ok
[INFO] [stdout] test state::tests::test_api_retry_suppressions_total_default_to_zero ... ok
[INFO] [stdout] test state::tests::test_hybrid_fallback_counters_roundtrip ... ok
[INFO] [stdout] test session_event::tests::test_session_event_serialization ... ok
[INFO] [stdout] test state::tests::test_api_retry_state_transient_reset_on_load ... ok
[INFO] [stdout] test state::tests::test_load_state_missing_file ... ok
[INFO] [stdout] test state::tests::test_interrupt_counters_default_to_zero_on_missing_fields ... ok
[INFO] [stdout] test state::tests::test_serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test status::tests::test_extract_version_empty ... ok
[INFO] [stdout] test state::tests::test_interrupt_counters_roundtrip ... ok
[INFO] [stdout] test status::tests::test_extract_version_no_match ... ok
[INFO] [stdout] test state::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test state::tests::test_load_state_invalid_json ... ok
[INFO] [stdout] test state::tests::test_interrupt_counters_preserved_across_load ... ok
[INFO] [stdout] test state::tests::test_suppression_counters_cleared_on_load ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_bashes_found ... ok
[INFO] [stdout] test status::tests::test_extract_version_simple ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_has_content_but_nothing_parsed ... ok
[INFO] [stdout] test status::tests::test_extract_version_three_part ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_tokens_found ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_empty_capture ... ok
[INFO] [stdout] test status::tests::test_is_parse_miss_status_bar_visible_no_counts ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_fewer_lines_than_max ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_basic ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_skips_blank_lines ... ok
[INFO] [stdout] test status::tests::test_parse_miss_tail_truncates_long_lines ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_diag_full_bar_returns_true ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_compact_zero ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_accept_edits_icon_alone ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_background_tasks ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_bashes ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_diag_no_status_bar_visible ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_empty ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_extreme_wrap_incident_2026_04_18 ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_large_tokens ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_missing_fields ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_full ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_does_not_overshadow_inline_bar ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_active_shells ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_active_shell_singular ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_only_last_10_lines ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_idle_no_counts ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells_wrapped_permissi ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_background_task ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_with_shells_and_agents_section_2026_04_27 ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_bash ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_shells_realistic ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_realistic ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_single_chevron_not_enough ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_overlay_thinking_token_pushed_above_window ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_does_not_match_prose ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_k_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_singular_shell ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_m_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_no_suffix ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_thinking_indicator_down_arrow ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_tokens_no_commas ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_truncated_ellipsis ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_wrapped_narrow_pane ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_basic ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_comments_and_blanks ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_config_missing_file ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_disabled ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_empty ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_invalid_min_count ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_minimal_fields ... ok
[INFO] [stdout] test status::tests::test_parse_status_bar_wrapped_with_compact ... ok
[INFO] [stdout] test status::tests::test_parse_watchers_single_field_rejected ... ok
[INFO] [stdout] test task_filters::tests::format_line_assistant_text ... ok
[INFO] [stdout] test task_filters::tests::format_line_bash_tool_truncates_long_cmd ... ok
[INFO] [stdout] test task_filters::tests::format_line_bash_tool_with_description ... ok
[INFO] [stdout] test task_filters::tests::format_line_empty_returns_none ... ok
[INFO] [stdout] test task_filters::tests::format_line_invalid_json_returns_none ... ok
[INFO] [stdout] test task_filters::tests::format_line_progress_bash ... ok
[INFO] [stdout] test task_filters::tests::format_line_read_tool ... ok
[INFO] [stdout] test task_filters::tests::format_line_user_prompt_shown_only_once ... ok
[INFO] [stdout] test task_filters::tests::wrap_text_breaks_long_line ... ok
[INFO] [stdout] test task_filters::tests::wrap_text_preserves_newlines ... ok
[INFO] [stdout] test task_filters::tests::wrap_text_short ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_complete ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_empty ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_still_working ... ok
[INFO] [stdout] test task_watch::tests::test_agent_conversation_complete_from_str_user_only ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_agent ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_empty_brackets ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_with_hyphens ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_no_brackets ... ok
[INFO] [stdout] test task_watch::tests::test_find_tasks_dir_in_nonexistent ... ok
[INFO] [stdout] test task_watch::tests::test_has_output_no_file ... ok
[INFO] [stdout] test task_watch::tests::test_extract_task_id_from_pane_cmd_standard ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_agent_id_only ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_agent_slug ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_empty ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_long_text ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_short_text ... ok
[INFO] [stdout] test task_watch::tests::test_infer_label_from_content_invalid_json ... ok
[INFO] [stdout] test task_watch::tests::test_is_agent_output_no_file ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_empty_object ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_missing_file ... ok
[INFO] [stdout] test tests::format_status_human_compact_only_when_present ... ok
[INFO] [stdout] test tests::format_status_human_includes_all_runtime_counts ... ok
[INFO] [stdout] test tests::format_status_human_omits_pane_when_empty ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_multiple_workloads ... ok
[INFO] [stdout] test tests::format_status_human_separates_versions ... ok
[INFO] [stdout] test tests::format_status_human_service_active_inactive ... ok
[INFO] [stdout] test tests::format_status_human_running_vs_installed_mismatch ... ok
[INFO] [stdout] test tests::format_status_human_tokens_pct_calculation ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_root_is_array ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_malformed_json ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_empty_env_falls_back_to_default ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_env_override ... ok
[INFO] [stdout] test task_watch::tests::test_workload_state_path_default ... ok
[INFO] [stdout] test task_watch::tests::test_load_workload_pane_ids_single_workload ... ok
[INFO] [stdout] test tests::format_status_human_two_section_headers ... ok
[INFO] [stdout] test tests::status_json_value_preserves_pre_refactor_keys ... ok
[INFO] [stdout] test tests::format_status_human_unhealthy_watchers_visible_in_count ... ok
[INFO] [stdout] test tests::status_json_value_omits_pane_when_empty ... ok
[INFO] [stdout] test tests::status_json_value_adds_new_count_keys ... ok
[INFO] [stdout] test tests::status_json_value_omits_daemon_active_when_unknown ... ok
[INFO] [stdout] test tmux::tests::test_activity_bullets_with_prompt_and_completion_is_idle ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle ... ok
[INFO] [stdout] test tests::format_status_human_versions_match_no_warning ... ok
[INFO] [stdout] test tmux::tests::test_activity_display ... ok
[INFO] [stdout] test tmux::tests::test_activity_bullets_with_prompt_no_completion_is_writing ... ok
[INFO] [stdout] test tmux::tests::test_activity_stale_thinking_with_completion_is_idle ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_takes_priority_over_spinner ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_when_content_has_middle_dot_and_ellipsis ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_when_only_completion_no_thinking_content ... ok
[INFO] [stdout] test tmux::tests::test_activity_idle_takes_priority_over_thinking ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_honking ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_273b_with_separator_and_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_new_format_with_bullet_prefix ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_read ... ok
[INFO] [stdout] test tmux::tests::test_activity_only_checks_last_15_lines ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_pondering ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_standard ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_273b_flowing ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_takes_priority_over_spinner ... ok
[INFO] [stdout] test tmux::tests::test_activity_unknown ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_indented_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_multiple_bullets_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_activity_unknown_empty ... ok
[INFO] [stdout] test tmux::tests::test_activity_thinking_within_last_15 ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_bash ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_attempt_marker_with_5xx ... ok
[INFO] [stdout] test tmux::tests::test_activity_writing_no_prompt ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_429_with_retrying_in ... ok
[INFO] [stdout] test tmux::tests::test_activity_tool_running_various_spinners ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_isolated_overloaded_word ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_overload_with_retrying_in ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_empty_input ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_percent_in_status_bar_not_shell ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_shell_prompt_overrides_tokens ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_arrow_prompt ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_no_indicators ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_overloaded_keyword_alone ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_bira_dollar_prompt ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_shell_prompt_bira ... ok
[INFO] [stdout] test tmux::tests::test_claude_running_with_status_bar ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_goodbye ... ok
[INFO] [stdout] test tmux::tests::test_api_retry_resolved_no_banner ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_only_background_stopped ... ok
[INFO] [stdout] test tmux::tests::test_exit_teardown_background_stopped ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_basic ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_wrapped ... ok
[INFO] [stdout] test tmux::tests::test_foreground_busy_with_spinner ... ok
[INFO] [stdout] test tmux::tests::test_feedback_prompt_detected ... ok
[INFO] [stdout] test tmux::tests::test_extract_login_url_none ... ok
[INFO] [stdout] test tmux::tests::test_foreground_not_busy_no_spinner ... ok
[INFO] [stdout] test tmux::tests::test_feedback_prompt_dismiss_only ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_not_present ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_only_checks_last_15_lines ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_within_last_15 ... ok
[INFO] [stdout] test tmux::tests::test_foreground_not_busy_with_prompt ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_colored_ansi_capture ... ok
[INFO] [stdout] test tmux::tests::test_idle_prompt_detected ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_not_present ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_substring_inserted_does_not_match_in_tail ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_unwrapped_dashes ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_word_in_chat_does_not_false_positive ... ok
[INFO] [stdout] test tmux::tests::test_insert_mode_wrapped_bare_token ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_completion_lines ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_tool_output_and_markdown ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_negative_status_bar_wrap ... ok
[INFO] [stdout] test tmux::tests::test_no_exit_teardown_goodbye_in_content ... ok
[INFO] [stdout] test tmux::tests::test_no_exit_teardown_normal_output ... ok
[INFO] [stdout] test tmux::tests::test_no_feedback_prompt ... ok
[INFO] [stdout] test tmux::tests::test_no_shell_prompt ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_429_without_reject ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_normal_thinking ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_api_error_without_429 ... ok
[INFO] [stdout] test tmux::tests::test_post_escape_settle_ms_get_set_roundtrip ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_without_error_marker ... ok
[INFO] [stdout] test tmux::tests::test_reauth_auth_required ... ok
[INFO] [stdout] test tmux::tests::test_not_wedged_normal_output ... ok
[INFO] [stdout] test tmux::tests::test_reauth_browser_didnt_open ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_agents_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_background_tasks_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_api_error_401_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_conversation_about_auth ... ok
[INFO] [stdout] test tmux::tests::test_reauth_login_url ... ok
[INFO] [stdout] test tmux::tests::test_not_api_retry_old_history_only ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_401_text_with_tui ... ok
[INFO] [stdout] test tmux::tests::test_is_active_thinking_positive_cases ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_bypass_permissions_banner_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_empty ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_authentication_error_json_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_conversation_about_401 ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_invalid_credentials_in_conversation ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_normal_tui ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_shells_counter_with_auth_text ... ok
[INFO] [stdout] test tmux::tests::test_reauth_not_detected_startup ... ok
[INFO] [stdout] test tmux::tests::test_reauth_oauth_url ... ok
[INFO] [stdout] test tmux::tests::test_reauth_paste_code ... ok
[INFO] [stdout] test tmux::tests::test_reauth_session_expired ... ok
[INFO] [stdout] test tmux::tests::test_reauth_still_detected_when_tui_gone ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_arrow ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_dollar ... ok
[INFO] [stdout] test tmux::tests::test_wedged_context_limit_alt_phrasing ... ok
[INFO] [stdout] test tmux::tests::test_shell_prompt_percent ... ok
[INFO] [stdout] test tmux::tests::test_wedged_context_limit_banner ... ok
[INFO] [stdout] test tmux::tests::test_wedged_empty_input ... ok
[INFO] [stdout] test tmux::tests::test_wedged_only_checks_recent_lines ... ok
[INFO] [stdout] test tmux::tests::test_wedged_rate_limit_429 ... ok
[INFO] [stdout] test tmux::tests::test_wedged_rate_limit_repeated ... ok
[INFO] [stdout] test tmux::tests::test_wedged_reason_display ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_neither_falls_back_to_one ... ok
[INFO] [stdout] test watcher::tests::test_any_unhealthy_includes_duplicate ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_nonzero ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_takes_precedence ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_normal_zero ... ok
[INFO] [stdout] test watcher::tests::test_format_list_basic ... ok
[INFO] [stdout] test watcher::tests::test_format_list_empty ... ok
[INFO] [stdout] test watcher::tests::test_format_status_disabled ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_both ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigint ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigkill ... ok
[INFO] [stdout] test watcher::tests::test_exit_code_from_status_sigterm ... ok
[INFO] [stdout] test watcher::tests::test_format_status_all_ok ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_pollers ... ok
[INFO] [stdout] test watcher::tests::test_format_status_down_only_suggests_watcher_ctl_run ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_suggests_watcher_restart ... ok
[INFO] [stdout] test watcher::tests::test_format_status_down_takes_precedence_over_duplicate ... ok
[INFO] [stdout] test watcher::tests::test_format_status_duplicate_supervisors_only ... ok
[INFO] [stdout] test watcher::tests::test_format_status_healthy_no_recovery_footer ... ok
[INFO] [stdout] test watcher::tests::test_format_status_machine_greppable ... ok
[INFO] [stdout] test watcher::tests::test_format_status_mixed_down_and_duplicate_prefers_watcher_restart ... ok
[INFO] [stdout] test watcher::tests::test_is_supervisor_comm_nonexistent_pid ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_disable ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_minimal_fields ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_not_found ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_enable ... ok
[INFO] [stdout] test watcher::tests::test_format_status_some_down ... ok
[INFO] [stdout] test watcher::tests::test_is_supervisor_comm_self ... ok
[INFO] [stdout] test watcher::tests::test_protected_watchers_includes_memory_remind ... ok
[INFO] [stdout] test watcher::tests::test_rewrite_config_preserves_comments ... ok
[INFO] [stdout] test watcher::tests::test_watcher_toggle_enable_is_config_only ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_on_malformed_json ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_on_queue_add_failure ... ok
[INFO] [stdout] test workload::tests::auto_create_calls_queue_add_with_workload_scope ... ok
[INFO] [stdout] test watcher::tests::test_watcher_toggle_enable_does_not_spawn_process ... ok
[INFO] [stdout] test workload::tests::auto_create_calls_register_after_add ... ok
[INFO] [stdout] test workload::tests::auto_create_register_failure_still_returns_qid ... ok
[INFO] [stdout] test workload::tests::auto_create_returns_err_when_session_task_missing ... ok
[INFO] [stdout] test workload::tests::cmd_wait_with_force_flag_proceeds_to_state_lookup ... ok
[INFO] [stdout] test workload::tests::cmd_wait_without_force_flag_exits_with_code_2 ... ok
[INFO] [stdout] test workload::tests::run_session_task_with_timeout_kills_runaway_child ... ok
[INFO] [stdout] test workload::tests::shell_quote_plain ... ok
[INFO] [stdout] test workload::tests::shell_quote_with_apostrophe ... ok
[INFO] [stdout] test workload::tests::state_loads_legacy_entry_without_queue_id_field ... ok
[INFO] [stdout] test workload::tests::state_loads_missing_file_as_empty ... ok
[INFO] [stdout] test workload::tests::state_roundtrip ... ok
[INFO] [stdout] test workload::tests::state_roundtrip_with_queue_id ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_queue_abandon_on_kill ... ok
[INFO] [stdout] test workload::tests::wrapper_script_contains_heartbeat_sidecar ... ok
[INFO] [stdout] test workload::tests::wrapper_script_heartbeat_disabled_via_env ... ok
[INFO] [stdout] test workload::tests::wrapper_script_no_queue_id_omits_arg ... ok
[INFO] [stdout] test workload::tests::wrapper_script_contains_timestamp_prefix_paths ... ok
[INFO] [stdout] test workload::tests::wrapper_script_no_unprefixed_tee_exec ... ok
[INFO] [stdout] test workload::tests::wrapper_script_preserves_headers_and_emit_done ... ok
[INFO] [stdout] 2026-05-11T11:47:04+00:00 === workload: rt ===
[INFO] [stdout] 2026-05-11T11:47:04+00:00 Started: 2026-05-11T11:47:04+00:00
[INFO] [stdout] 2026-05-11T11:47:04+00:00 Command: echo first; echo second
[INFO] [stdout] 2026-05-11T11:47:04+00:00 === workload: rh ===
[INFO] [stdout] 2026-05-11T11:47:04+00:00 ---
[INFO] [stdout] 2026-05-11T11:47:04+00:00 Started: 2026-05-11T11:47:04+00:00
[INFO] [stdout] 2026-05-11T11:47:04+00:00 Command: echo running; sleep 1
[INFO] [stdout] 2026-05-11T11:47:04+00:00 first
[INFO] [stdout] 2026-05-11T11:47:05+00:00 second
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_session_task_queue_done_on_clean_exit ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_killed_marker ... ok
[INFO] [stdout] test workload::tests::cmd_emit_done_queue_transition_skipped_by_env ... ok
[INFO] [stdout] 2026-05-11T11:47:05+00:00 
[INFO] [stdout] 2026-05-11T11:47:05+00:00 === DONE (exit 0) at 2026-05-11T11:47:04+00:00 ===
[INFO] [stdout] test workload::tests::cmd_emit_done_with_queue_id_carries_qid_in_event ... ok
[INFO] [stdout] 2026-05-11T11:47:05+00:00 ---
[INFO] [stdout] test workload::tests::cmd_emit_done_writes_event_file ... ok
[INFO] [stdout] 2026-05-11T11:47:05+00:00 running
[INFO] [stdout] test workload::tests::cmd_emit_done_calls_queue_abandon_on_failure ... ok
[INFO] [stdout] test workload::tests::wrapper_script_runtime_emits_iso8601_prefixes ... ok
[INFO] [stdout] 2026-05-11T11:47:06+00:00 
[INFO] [stdout] 2026-05-11T11:47:06+00:00 === DONE (exit 0) at 2026-05-11T11:47:06+00:00 ===
[INFO] [stderr]      Running tests/e2e_dead_process.rs (/opt/rustwide/target/debug/deps/e2e_dead_process-18917433d7d2fe22)
[INFO] [stdout] test workload::tests::wrapper_script_runtime_pets_and_reaps_heartbeat ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 597 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.22s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test transient_zero_tokens_no_restart ... FAILED
[INFO] [stdout] test healthy_process_not_flagged_as_dead ... FAILED
[INFO] [stdout] test dead_process_detected_and_restart_triggered ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- transient_zero_tokens_no_restart stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'transient_zero_tokens_no_restart' (1114) panicked at tests/common/mod.rs:313:14:
[INFO] [stdout] create tmux session: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x574df80558ba - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x574df80558ba - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x574df806a22a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x574df806a22a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x574df805a1c2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x574df805a1c2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x574df803282f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x574df803282f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x574df804d099 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x574df7fe7f4c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x574df7fe7f4c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x574df804d252 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x574df804d252 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x574df80328e8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x574df802a059 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x574df803368d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x574df806a9bc - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x574df806a732 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x574df7f9e95e - <core[35159d6ffb30e017]::result::Result<std[ec419fa8110287d5]::process::ExitStatus, std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x574df7fa0e42 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::create_tmux_session
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:313:14
[INFO] [stdout]   22:     0x574df7fa2302 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::new
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:243:17
[INFO] [stdout]   23:     0x574df7fa8b77 - e2e_dead_process[499620268f75762d]::transient_zero_tokens_no_restart
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:106:15
[INFO] [stdout]   24:     0x574df7fa88c7 - e2e_dead_process[499620268f75762d]::transient_zero_tokens_no_restart::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:105:38
[INFO] [stdout]   25:     0x574df7fa61d6 - <e2e_dead_process[499620268f75762d]::transient_zero_tokens_no_restart::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x574df7fdb22b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x574df7fdb22b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   28:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   29:     0x574df7fe8a1b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x574df7fe8a1b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   34:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   35:     0x574df7fe33f4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   36:     0x574df7fe33f4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x574df7feb622 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x574df7feb622 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x574df7feb622 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x574df8054caf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   45:     0x574df8054caf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   46:     0x774cdbfd6aa4 - <unknown>
[INFO] [stdout]   47:     0x774cdc063a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- healthy_process_not_flagged_as_dead stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'healthy_process_not_flagged_as_dead' (1113) panicked at tests/common/mod.rs:313:14:
[INFO] [stdout] create tmux session: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x574df80558ba - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x574df80558ba - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x574df806a22a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x574df806a22a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x574df805a1c2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x574df805a1c2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x574df803282f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x574df803282f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x574df804d099 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x574df7fe7f4c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x574df7fe7f4c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x574df804d252 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x574df804d252 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x574df80328e8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x574df802a059 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x574df803368d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x574df806a9bc - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x574df806a732 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x574df7f9e95e - <core[35159d6ffb30e017]::result::Result<std[ec419fa8110287d5]::process::ExitStatus, std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x574df7fa0e42 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::create_tmux_session
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:313:14
[INFO] [stdout]   22:     0x574df7fa2302 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::new
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:243:17
[INFO] [stdout]   23:     0x574df7fa8f8d - e2e_dead_process[499620268f75762d]::healthy_process_not_flagged_as_dead
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:71:15
[INFO] [stdout]   24:     0x574df7fa88f7 - e2e_dead_process[499620268f75762d]::healthy_process_not_flagged_as_dead::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:70:41
[INFO] [stdout]   25:     0x574df7fa6216 - <e2e_dead_process[499620268f75762d]::healthy_process_not_flagged_as_dead::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x574df7fdb22b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x574df7fdb22b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   28:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   29:     0x574df7fe8a1b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x574df7fe8a1b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   34:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   35:     0x574df7fe33f4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   36:     0x574df7fe33f4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x574df7feb622 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x574df7feb622 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x574df7feb622 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x574df8054caf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   45:     0x574df8054caf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   46:     0x774cdbfd6aa4 - <unknown>
[INFO] [stdout]   47:     0x774cdc063a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- dead_process_detected_and_restart_triggered stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'dead_process_detected_and_restart_triggered' (1112) panicked at tests/common/mod.rs:313:14:
[INFO] [stdout] create tmux session: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x574df80558ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x574df80558ba - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x574df80558ba - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x574df806a22a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x574df806a22a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x574df805a1c2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x574df805a1c2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x574df803282f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x574df803282f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x574df804d099 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x574df7fe7f4c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x574df7fe7f4c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x574df804d252 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x574df804d252 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x574df80328e8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x574df802a059 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x574df803368d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x574df806a9bc - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x574df806a732 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x574df7f9e95e - <core[35159d6ffb30e017]::result::Result<std[ec419fa8110287d5]::process::ExitStatus, std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x574df7fa0e42 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::create_tmux_session
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:313:14
[INFO] [stdout]   22:     0x574df7fa2302 - <e2e_dead_process[499620268f75762d]::common::TestEnv>::new
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:243:17
[INFO] [stdout]   23:     0x574df7fa93fa - e2e_dead_process[499620268f75762d]::dead_process_detected_and_restart_triggered
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:16:15
[INFO] [stdout]   24:     0x574df7fa8927 - e2e_dead_process[499620268f75762d]::dead_process_detected_and_restart_triggered::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_dead_process.rs:15:49
[INFO] [stdout]   25:     0x574df7fa6256 - <e2e_dead_process[499620268f75762d]::dead_process_detected_and_restart_triggered::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x574df7fdb22b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x574df7fdb22b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   28:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   29:     0x574df7fe8a1b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x574df7fe8a1b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x574df7fe8a1b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   34:     0x574df7fe8a1b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   35:     0x574df7fe33f4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   36:     0x574df7fe33f4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x574df7feb622 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x574df7feb622 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x574df7feb622 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x574df7feb622 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x574df7feb622 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x574df8054caf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   45:     0x574df8054caf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   46:     0x774cdbfd6aa4 - <unknown>
[INFO] [stdout]   47:     0x774cdc063a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     dead_process_detected_and_restart_triggered
[INFO] [stdout]     healthy_process_not_flagged_as_dead
[INFO] [stdout]     transient_zero_tokens_no_restart
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e_dead_process`
[INFO] running `Command { std: "docker" "inspect" "a98b87187b68574c9bdeb9139d2474f198334acada493e27b677cf6a7608b13e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a98b87187b68574c9bdeb9139d2474f198334acada493e27b677cf6a7608b13e", kill_on_drop: false }`
[INFO] [stdout] a98b87187b68574c9bdeb9139d2474f198334acada493e27b677cf6a7608b13e
