[INFO] cloning repository https://github.com/kstost/cokacmux
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kstost/cokacmux" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstost%2Fcokacmux", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstost%2Fcokacmux'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9f1ad54b60b36a7e6f354a5079ffa1842b4b0b15
[INFO] testing kstost/cokacmux against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkstost%2Fcokacmux" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kstost/cokacmux
[INFO] finished tweaking git repo https://github.com/kstost/cokacmux
[INFO] tweaked toml for git repo https://github.com/kstost/cokacmux written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kstost/cokacmux on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kstost/cokacmux already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.122
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.122
[INFO] [stderr]   Downloaded vte v0.15.0
[INFO] [stderr]   Downloaded shared_library v0.1.9
[INFO] [stderr]   Downloaded libredox v0.1.16
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.122
[INFO] [stderr]   Downloaded portable-pty v0.9.0
[INFO] [stderr]   Downloaded serial2 v0.2.37
[INFO] [stderr]   Downloaded uuid v1.23.1
[INFO] [stderr]   Downloaded log v0.4.30
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.122
[INFO] [stderr]   Downloaded js-sys v0.3.99
[INFO] [stderr]   Downloaded cc v1.2.62
[INFO] [stderr]   Downloaded rusqlite v0.32.1
[INFO] [stderr]   Downloaded typenum v1.20.0
[INFO] [stderr]   Downloaded chrono v0.4.44
[INFO] [stderr]   Downloaded unicode-width v0.2.2
[INFO] [stderr]   Downloaded ratatui v0.28.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5
[INFO] running `Command { std: "docker" "start" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling vte v0.15.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling vt100 v0.16.2 (/opt/rustwide/workdir/vendor/vt100-cokac)
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling serial2 v0.2.37
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling cokacmux v0.2.39 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `One` is never constructed
[INFO] [stdout]     --> src/bin/cokacmux.rs:2385:5
[INFO] [stdout]      |
[INFO] [stdout] 2383 | enum ProviderFilter {
[INFO] [stdout]      |      -------------- variant in this enum
[INFO] [stdout] 2384 |     All,
[INFO] [stdout] 2385 |     One(Provider),
[INFO] [stdout]      |     ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ProviderFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cycle` is never used
[INFO] [stdout]     --> src/bin/cokacmux.rs:2389:8
[INFO] [stdout]      |
[INFO] [stdout] 2388 | impl ProviderFilter {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] 2389 |     fn cycle(self) -> Self {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:9735:8
[INFO] [stdout]       |
[INFO] [stdout]  9598 | impl App {
[INFO] [stdout]       | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  9735 |     fn agent_sidebar_width(&self, total_width: u16) -> u16 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10462 |     fn take_latest_hidden_auxiliary_agent(&mut self, parent: &AgentKey) -> Option<AgentAuxPane> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11585 |     fn live_auxiliary_restore_candidate_for_active_agent(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11592 |     fn live_auxiliary_restore_candidate_for_active_agent_kind(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11832 |     fn restore_live_auxiliary_for_active_agent(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15797 |     fn live_agent_restore_candidate(&self) -> Option<SessionInfo> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18142 |     fn detach_agent(&mut self) {
[INFO] [stdout]       |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_codex_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21579:4
[INFO] [stdout]       |
[INFO] [stdout] 21579 | fn run_codex_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_claude_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21589:4
[INFO] [stdout]       |
[INFO] [stdout] 21589 | fn run_claude_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_opencode_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21598:4
[INFO] [stdout]       |
[INFO] [stdout] 21598 | fn run_opencode_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_pi_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21607:4
[INFO] [stdout]       |
[INFO] [stdout] 21607 | fn run_pi_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_gjc_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21616:4
[INFO] [stdout]       |
[INFO] [stdout] 21616 | fn run_gjc_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_codex_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21953:4
[INFO] [stdout]       |
[INFO] [stdout] 21953 | fn run_codex_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_claude_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21962:4
[INFO] [stdout]       |
[INFO] [stdout] 21962 | fn run_claude_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_opencode_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21970:4
[INFO] [stdout]       |
[INFO] [stdout] 21970 | fn run_opencode_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_pi_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21978:4
[INFO] [stdout]       |
[INFO] [stdout] 21978 | fn run_pi_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_gjc_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21986:4
[INFO] [stdout]       |
[INFO] [stdout] 21986 | fn run_gjc_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `claude_structured_output_error` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:22357:4
[INFO] [stdout]       |
[INFO] [stdout] 22357 | fn claude_structured_output_error(raw: &str) -> Option<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `agent_terminal_width` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:39184:4
[INFO] [stdout]       |
[INFO] [stdout] 39184 | fn agent_terminal_width(total_width: u16, configured_width: u16) -> u16 {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_text` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:44443:4
[INFO] [stdout]       |
[INFO] [stdout] 44443 | fn help_text(focus: FocusPane, width: usize, keybindings: &KeyBindings) -> String {
[INFO] [stdout]       |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling cokacmux v0.2.39 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `One` is never constructed
[INFO] [stdout]     --> src/bin/cokacmux.rs:2385:5
[INFO] [stdout]      |
[INFO] [stdout] 2383 | enum ProviderFilter {
[INFO] [stdout]      |      -------------- variant in this enum
[INFO] [stdout] 2384 |     All,
[INFO] [stdout] 2385 |     One(Provider),
[INFO] [stdout]      |     ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ProviderFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cycle` is never used
[INFO] [stdout]     --> src/bin/cokacmux.rs:2389:8
[INFO] [stdout]      |
[INFO] [stdout] 2388 | impl ProviderFilter {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] 2389 |     fn cycle(self) -> Self {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:9735:8
[INFO] [stdout]       |
[INFO] [stdout]  9598 | impl App {
[INFO] [stdout]       | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  9735 |     fn agent_sidebar_width(&self, total_width: u16) -> u16 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10462 |     fn take_latest_hidden_auxiliary_agent(&mut self, parent: &AgentKey) -> Option<AgentAuxPane> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11585 |     fn live_auxiliary_restore_candidate_for_active_agent(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11592 |     fn live_auxiliary_restore_candidate_for_active_agent_kind(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11832 |     fn restore_live_auxiliary_for_active_agent(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15797 |     fn live_agent_restore_candidate(&self) -> Option<SessionInfo> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18142 |     fn detach_agent(&mut self) {
[INFO] [stdout]       |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_codex_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21579:4
[INFO] [stdout]       |
[INFO] [stdout] 21579 | fn run_codex_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_claude_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21589:4
[INFO] [stdout]       |
[INFO] [stdout] 21589 | fn run_claude_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_opencode_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21598:4
[INFO] [stdout]       |
[INFO] [stdout] 21598 | fn run_opencode_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_pi_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21607:4
[INFO] [stdout]       |
[INFO] [stdout] 21607 | fn run_pi_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_gjc_ai_search` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21616:4
[INFO] [stdout]       |
[INFO] [stdout] 21616 | fn run_gjc_ai_search(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_codex_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21953:4
[INFO] [stdout]       |
[INFO] [stdout] 21953 | fn run_codex_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_claude_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21962:4
[INFO] [stdout]       |
[INFO] [stdout] 21962 | fn run_claude_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_opencode_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21970:4
[INFO] [stdout]       |
[INFO] [stdout] 21970 | fn run_opencode_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_pi_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21978:4
[INFO] [stdout]       |
[INFO] [stdout] 21978 | fn run_pi_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_gjc_ai_title` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:21986:4
[INFO] [stdout]       |
[INFO] [stdout] 21986 | fn run_gjc_ai_title(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `claude_structured_output_error` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:22357:4
[INFO] [stdout]       |
[INFO] [stdout] 22357 | fn claude_structured_output_error(raw: &str) -> Option<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `agent_terminal_width` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:39184:4
[INFO] [stdout]       |
[INFO] [stdout] 39184 | fn agent_terminal_width(total_width: u16, configured_width: u16) -> u16 {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_text` is never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:44443:4
[INFO] [stdout]       |
[INFO] [stdout] 44443 | fn help_text(focus: FocusPane, width: usize, keybindings: &KeyBindings) -> String {
[INFO] [stdout]       |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `One` is never constructed
[INFO] [stdout]     --> src/bin/cokacmux.rs:2385:5
[INFO] [stdout]      |
[INFO] [stdout] 2383 | enum ProviderFilter {
[INFO] [stdout]      |      -------------- variant in this enum
[INFO] [stdout] 2384 |     All,
[INFO] [stdout] 2385 |     One(Provider),
[INFO] [stdout]      |     ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ProviderFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cycle` is never used
[INFO] [stdout]     --> src/bin/cokacmux.rs:2389:8
[INFO] [stdout]      |
[INFO] [stdout] 2388 | impl ProviderFilter {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] 2389 |     fn cycle(self) -> Self {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `agent_sidebar_width`, `take_latest_hidden_auxiliary_agent`, `restore_live_auxiliary_for_active_agent`, and `detach_agent` are never used
[INFO] [stdout]      --> src/bin/cokacmux.rs:9735:8
[INFO] [stdout]       |
[INFO] [stdout]  9598 | impl App {
[INFO] [stdout]       | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  9735 |     fn agent_sidebar_width(&self, total_width: u16) -> u16 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10462 |     fn take_latest_hidden_auxiliary_agent(&mut self, parent: &AgentKey) -> Option<AgentAuxPane> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11832 |     fn restore_live_auxiliary_for_active_agent(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18142 |     fn detach_agent(&mut self) {
[INFO] [stdout]       |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 48.80s
[INFO] running `Command { std: "docker" "inspect" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: variant `One` is never constructed
[INFO] [stderr]     --> src/bin/cokacmux.rs:2385:5
[INFO] [stderr]      |
[INFO] [stderr] 2383 | enum ProviderFilter {
[INFO] [stderr]      |      -------------- variant in this enum
[INFO] [stderr] 2384 |     All,
[INFO] [stderr] 2385 |     One(Provider),
[INFO] [stderr]      |     ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `ProviderFilter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `cycle` is never used
[INFO] [stderr]     --> src/bin/cokacmux.rs:2389:8
[INFO] [stderr]      |
[INFO] [stderr] 2388 | impl ProviderFilter {
[INFO] [stderr]      | ------------------- method in this implementation
[INFO] [stderr] 2389 |     fn cycle(self) -> Self {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:9735:8
[INFO] [stderr]       |
[INFO] [stderr]  9598 | impl App {
[INFO] [stderr]       | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  9735 |     fn agent_sidebar_width(&self, total_width: u16) -> u16 {
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10462 |     fn take_latest_hidden_auxiliary_agent(&mut self, parent: &AgentKey) -> Option<AgentAuxPane> {
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11585 |     fn live_auxiliary_restore_candidate_for_active_agent(
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11592 |     fn live_auxiliary_restore_candidate_for_active_agent_kind(
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11832 |     fn restore_live_auxiliary_for_active_agent(
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15797 |     fn live_agent_restore_candidate(&self) -> Option<SessionInfo> {
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18142 |     fn detach_agent(&mut self) {
[INFO] [stderr]       |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_codex_ai_search` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21579:4
[INFO] [stderr]       |
[INFO] [stderr] 21579 | fn run_codex_ai_search(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_claude_ai_search` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21589:4
[INFO] [stderr]       |
[INFO] [stderr] 21589 | fn run_claude_ai_search(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_opencode_ai_search` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21598:4
[INFO] [stderr]       |
[INFO] [stderr] 21598 | fn run_opencode_ai_search(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_pi_ai_search` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21607:4
[INFO] [stderr]       |
[INFO] [stderr] 21607 | fn run_pi_ai_search(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_gjc_ai_search` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21616:4
[INFO] [stderr]       |
[INFO] [stderr] 21616 | fn run_gjc_ai_search(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_codex_ai_title` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21953:4
[INFO] [stderr]       |
[INFO] [stderr] 21953 | fn run_codex_ai_title(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_claude_ai_title` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21962:4
[INFO] [stderr]       |
[INFO] [stderr] 21962 | fn run_claude_ai_title(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_opencode_ai_title` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21970:4
[INFO] [stderr]       |
[INFO] [stderr] 21970 | fn run_opencode_ai_title(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_pi_ai_title` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21978:4
[INFO] [stderr]       |
[INFO] [stderr] 21978 | fn run_pi_ai_title(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_gjc_ai_title` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:21986:4
[INFO] [stderr]       |
[INFO] [stderr] 21986 | fn run_gjc_ai_title(
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `claude_structured_output_error` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:22357:4
[INFO] [stderr]       |
[INFO] [stderr] 22357 | fn claude_structured_output_error(raw: &str) -> Option<String> {
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `agent_terminal_width` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:39184:4
[INFO] [stderr]       |
[INFO] [stderr] 39184 | fn agent_terminal_width(total_width: u16, configured_width: u16) -> u16 {
[INFO] [stderr]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `help_text` is never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:44443:4
[INFO] [stderr]       |
[INFO] [stderr] 44443 | fn help_text(focus: FocusPane, width: usize, keybindings: &KeyBindings) -> String {
[INFO] [stderr]       |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cokacmux` (bin "cokacmux") generated 16 warnings
[INFO] [stderr] warning: methods `agent_sidebar_width`, `take_latest_hidden_auxiliary_agent`, `restore_live_auxiliary_for_active_agent`, and `detach_agent` are never used
[INFO] [stderr]      --> src/bin/cokacmux.rs:9735:8
[INFO] [stderr]       |
[INFO] [stderr]  9598 | impl App {
[INFO] [stderr]       | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  9735 |     fn agent_sidebar_width(&self, total_width: u16) -> u16 {
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10462 |     fn take_latest_hidden_auxiliary_agent(&mut self, parent: &AgentKey) -> Option<AgentAuxPane> {
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11832 |     fn restore_live_auxiliary_for_active_agent(
[INFO] [stderr]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18142 |     fn detach_agent(&mut self) {
[INFO] [stderr]       |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cokacmux` (bin "cokacmux" test) generated 3 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cokacmux-5aabbb46d38981d3)
[INFO] [stdout] 
[INFO] [stdout] running 83 tests
[INFO] [stdout] test ids::tests::uuid_unique ... ok
[INFO] [stdout] test providers::claude::sidecar::tests::no_match ... ok
[INFO] [stdout] test providers::claude::path::tests::matches_observed_encodings ... ok
[INFO] [stdout] test providers::claude::sidecar::tests::extracts_path ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_custom_title_for_discovery_as_fallback ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_custom_title_record_for_discovery ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_claude_cwd_and_ai_title_for_discovery ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_agent_name_record_for_discovery_as_fallback ... ok
[INFO] [stdout] test ids::tests::synth_stable ... ok
[INFO] [stdout] test ids::tests::opencode_native_ids_have_expected_prefixes_and_lengths ... ok
[INFO] [stdout] test providers::claude::from_universal::tests::parses_ai_title_as_session_title ... ok
[INFO] [stdout] test providers::claude::from_universal::tests::parses_custom_title_record_as_session_title ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_pi_session_info_title_over_first_user_fallback ... ok
[INFO] [stdout] test providers::claude::from_universal::tests::parses_custom_title_as_fallback ... ok
[INFO] [stdout] test providers::claude::from_universal::tests::parses_agent_name_record_as_title_fallback ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_pi_first_user_message_as_title_for_discovery ... ok
[INFO] [stdout] test context_convert::tests::opencode_wrapper_uses_native_ids ... ok
[INFO] [stdout] test context_convert::tests::wrapper_contains_exact_two_messages_and_ack_prompt ... ok
[INFO] [stdout] test providers::gjc::tests::xdg_data_agent_root_matches_gjc_dir_resolver_rule ... ok
[INFO] [stdout] test context_convert::tests::file_reference_wrapper_points_to_context_file_without_inlining_source ... ok
[INFO] [stdout] test session::clone_tree::tests::missing_link_endpoint_is_ignored ... ok
[INFO] [stdout] test session::clone::tests::claude_clone_preflights_sidecar_conflict_before_writing_file ... ok
[INFO] [stdout] test session::clone::tests::validation_failure_removes_installed_file_artifact_when_not_overwriting ... ok
[INFO] [stdout] test session::clone_tree::tests::missing_store_reads_as_empty_tree ... ok
[INFO] [stdout] test session::clone_tree::tests::tree_rows_include_matching_child_ancestors ... ok
[INFO] [stdout] test session::clone::tests::cross_provider_clone_rejects_non_native_target_session_id_before_install ... ok
[INFO] [stdout] test session::data::tests::cancelled_snapshot_copy_cleans_partial_data ... ok
[INFO] [stdout] test session::data::tests::cancelled_clone_working_dir_removes_reserved_target ... ok
[INFO] [stdout] test session::clone::tests::claude_clone_copies_native_jsonl_and_patches_identity_only ... ok
[INFO] [stdout] test session::clone::tests::cross_provider_clone_installs_two_message_context_wrapper ... ok
[INFO] [stdout] test session::clone_tree::tests::record_clone_is_idempotent_per_child ... ok
[INFO] [stdout] test session::clone::tests::claude_clone_then_remove_deletes_only_clone_artifacts ... ok
[INFO] [stdout] test session::data::tests::clone_target_cwd_allocates_non_overlapping_sibling ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_rejects_existing_empty_target_without_overwriting ... ok
[INFO] [stdout] test session::clone::tests::cross_provider_clone_file_reference_writes_context_file_and_installs_pointer ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_preserves_symlink_to_reserved_target_path ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_rejects_source_changes_during_copy ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_copies_to_dedicated_target ... ok
[INFO] [stdout] test session::clone_tree::tests::remove_clone_child_removes_child_link_only ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_follows_symlink_session_cwd_root ... ok
[INFO] [stdout] test session::data::tests::missing_snapshot_directory_is_treated_as_no_saved_data ... ok
[INFO] [stdout] test session::data::tests::failed_restore_removes_new_target_when_reserved_target_changes ... ok
[INFO] [stdout] test session::data::tests::clone_working_dir_reserves_target_before_copying ... ok
[INFO] [stdout] test session::data::tests::failed_snapshot_copy_cleans_partial_data ... ok
[INFO] [stdout] test session::data::tests::restore_backs_up_broken_symlink_target_entry ... ok
[INFO] [stdout] test session::data::tests::remove_snapshot_handles_readonly_snapshot_dirs ... ok
[INFO] [stdout] test session::data::tests::failed_restore_rolls_back_existing_target_directory ... ok
[INFO] [stdout] test session::data::tests::snapshot_file_stems_do_not_collapse_unsafe_session_ids ... ok
[INFO] [stdout] test session::data::tests::failed_restore_rolls_back_when_reserved_target_changes ... ok
[INFO] [stdout] test providers::discovery::tests::extracts_codex_titles_from_state_db ... ok
[INFO] [stdout] test session::data::tests::failed_restore_rolls_back_when_snapshot_changes_during_restore ... ok
[INFO] [stdout] test session::data::tests::remove_snapshot_handles_readonly_snapshot_files ... ok
[INFO] [stdout] test session::render::tests::render_minimal ... ok
[INFO] [stdout] test session::render::tests::sanitize_drops_other_control_chars_to_dot ... ok
[INFO] [stdout] test session::render::tests::sanitize_keeps_tabs_and_newlines ... ok
[INFO] [stdout] test session::render::tests::sanitize_strips_ansi_csi ... ok
[INFO] [stdout] test session::render::tests::sanitize_strips_osc_terminal_title ... ok
[INFO] [stdout] test session::search::tests::count_matches_counts_non_overlapping_hits ... ok
[INFO] [stdout] test session::render::tests::summary_formats_common_content_blocks ... ok
[INFO] [stdout] test session::data::tests::restore_refuses_missing_target_inside_snapshot_via_symlink_parent ... ok
[INFO] [stdout] test session::search::tests::snippet_uses_original_text_case ... ok
[INFO] [stdout] test session::title::tests::empty_title_hides_provider_title ... ok
[INFO] [stdout] test session::data::tests::snapshot_copy_can_cancel_during_large_file_chunk ... ok
[INFO] [stdout] test session::title::tests::overrides_session_titles_from_store ... ok
[INFO] [stdout] test session::data::tests::snapshot_copy_skips_data_root_when_source_contains_it ... ok
[INFO] [stdout] test universal::validate::tests::accepts_ordered_tool_results ... ok
[INFO] [stdout] test universal::validate::tests::duplicate_tool_uses_need_duplicate_results ... ok
[INFO] [stdout] test universal::validate::tests::flags_orphan_and_out_of_order_tool_results ... ok
[INFO] [stdout] test session::data::tests::snapshot_copy_follows_symlink_session_cwd_root ... ok
[INFO] [stdout] test session::clone::tests::codex_clone_copies_rollout_and_state_row_without_synthesizing_events ... ok
[INFO] [stdout] test session::title::tests::stores_title_in_cokacmux_titles_json ... ok
[INFO] [stdout] test session::data::tests::snapshot_for_clone_copies_and_restores_directory_with_backup ... ok
[INFO] [stdout] test session::title::tests::copy_override_preserves_empty_title_override ... ok
[INFO] [stdout] test session::title::tests::copy_override_copies_only_explicit_cokacmux_title ... ok
[INFO] [stdout] test session::clone::tests::codex_clone_then_remove_deletes_only_clone_artifacts_and_state_row ... ok
[INFO] [stdout] test session::title::tests::remove_override_deletes_only_matching_key ... ok
[INFO] [stdout] test session::remove::tests::remove_codex_deletes_state_row_from_rollout_home ... ok
[INFO] [stdout] test providers::opencode::write::tests::writes_session_message_seq_when_schema_requires_it ... ok
[INFO] [stdout] test providers::discovery::tests::unique_opencode_session_created_after_requires_single_match ... ok
[INFO] [stdout] test providers::opencode::clone::tests::row_clone_preserves_all_columns_and_remaps_ids ... ok
[INFO] [stdout] test providers::opencode::clone::tests::row_clone_with_cwd_override_rewrites_directory_and_path_cwd ... ok
[INFO] [stdout] test session::remove::tests::remove_opencode_deletes_session_message_rows ... ok
[INFO] [stdout] test session::clone::tests::opencode_clone_then_remove_deletes_only_clone_rows ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 83 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/cokacmux.rs (/opt/rustwide/target/debug/deps/cokacmux-d97f94ec630b08dc)
[INFO] [stdout] 
[INFO] [stdout] running 537 tests
[INFO] [stdout] test tests::agent_activity_uses_recent_screen_output_or_input_timestamps ... ok
[INFO] [stdout] test tests::agent_candidate_index_wraps_or_clamps ... ok
[INFO] [stdout] test tests::active_same_cwd_coding_agent_blocks_without_runtime_meta ... ok
[INFO] [stdout] test tests::agent_client_send_paste_queues_daemon_input_for_current_mode ... ok
[INFO] [stdout] test tests::agent_auxiliary_viewport_uses_right_framed_content_area ... ok
[INFO] [stdout] test tests::agent_client_scrolls_screen_history_when_parser_scrollback_is_empty ... ok
[INFO] [stdout] test tests::active_ctrl_k_removes_cwd_lock_without_meta ... ok
[INFO] [stdout] test tests::agent_daemon_identity_requires_current_app_and_matching_session ... ok
[INFO] [stdout] test tests::agent_ctrl_shift_k_opens_killall_confirm ... ok
[INFO] [stdout] test tests::active_parent_exit_releases_owned_auxiliaries ... ok
[INFO] [stdout] test tests::agent_launch_specs_match_provider_resume_commands ... ok
[INFO] [stdout] test tests::agent_launch_specs_use_configured_program_paths_when_present ... ok
[INFO] [stdout] test tests::agent_help_includes_sidebar_toggle ... ok
[INFO] [stdout] test tests::active_ctrl_k_shows_kill_pending_overlay_until_worker_result ... ok
[INFO] [stdout] test tests::agent_output_drain_is_bounded_but_processes_at_least_one_chunk ... ok
[INFO] [stdout] test tests::agent_meta_daemon_rejects_pid_start_tick_mismatch ... ok
[INFO] [stdout] test tests::agent_meta_state_distinguishes_live_attached_and_mine ... ok
[INFO] [stdout] test tests::agent_meta_child_rejects_pid_start_tick_mismatch ... ok
[INFO] [stdout] test tests::agent_screen_size_keeps_internal_pty_safe_for_narrow_panes ... ok
[INFO] [stdout] test tests::agent_main_escape_still_forwards_to_agent ... ok
[INFO] [stdout] test tests::agent_provider_choice_movement_skips_unavailable_options ... ok
[INFO] [stdout] test tests::agent_focus_cycle_skips_hidden_sidebar_without_right_pane ... ok
[INFO] [stdout] test tests::agent_sidebar_resize_clamps_to_visible_width ... ok
[INFO] [stdout] test tests::agent_sidebar_rendered_cursor_style_reflects_focus ... ok
[INFO] [stdout] test tests::agent_scroll_page_rows_match_visible_agent_area ... ok
[INFO] [stdout] test tests::agent_provider_choices_use_available_programs ... ok
[INFO] [stdout] test tests::agent_resize_right_shows_hidden_sidebar_one_step_from_zero ... ok
[INFO] [stdout] test tests::agent_main_shift_k_is_forwarded_instead_of_killall ... ok
[INFO] [stdout] test tests::agent_sidebar_escape_toggles_to_sessions_like_bracket_shortcut ... ok
[INFO] [stdout] test tests::agent_snapshot_replaces_existing_parser_state ... ok
[INFO] [stdout] test tests::agent_switch_candidates_exclude_visible_right_auxiliary_panel ... ok
[INFO] [stdout] test tests::agent_switchable_state_excludes_foreign_attached_sessions ... ok
[INFO] [stdout] test tests::agent_kill_key_accepts_ctrl_k_only ... ok
[INFO] [stdout] test tests::agent_sidebar_select_key_accepts_alt_or_ctrl_shift_up_down ... ok
[INFO] [stdout] test tests::agent_terminal_width_accounts_for_sidebar ... ok
[INFO] [stdout] test tests::ai_agent_timeout_error_includes_output_tail ... ok
[INFO] [stdout] test tests::agent_switch_requests_live_discovery_refresh ... ok
[INFO] [stdout] test tests::agent_self_exit_switches_to_next_live_agent ... ok
[INFO] [stdout] test tests::agent_focus_shortcuts_select_sidebar_main_and_right ... ok
[INFO] [stdout] test tests::agent_sidebar_inactive_cursor_matches_main_agent_inactive_title_bar ... ok
[INFO] [stdout] test tests::agent_launch_confirm_prompts_to_create_missing_cwd_before_starting_daemon ... ok
[INFO] [stdout] test tests::agent_self_exit_on_sessions_view_does_not_auto_switch ... ok
[INFO] [stdout] test tests::ai_agent_json_candidates_extract_values_without_domain_knowledge ... ok
[INFO] [stdout] test tests::ai_provider_default_is_unconfigured ... ok
[INFO] [stdout] test tests::ai_provider_gjc_normalizes_to_unconfigured ... ok
[INFO] [stdout] test tests::ai_provider_invalid_json_value_normalizes_to_unconfigured ... ok
[INFO] [stdout] test tests::ai_provider_loads_legacy_ai_title_settings_key ... ok
[INFO] [stdout] test tests::ai_provider_non_object_json_value_normalizes_to_unconfigured ... ok
[INFO] [stdout] test tests::ai_provider_prefers_new_key_when_legacy_key_is_also_present ... ok
[INFO] [stdout] test tests::ai_agent_process_error_reports_tail_instead_of_codex_banner ... ok
[INFO] [stdout] test tests::ai_provider_new_key_null_overrides_legacy_key ... ok
[INFO] [stdout] test tests::agent_viewport_uses_rendered_agent_area_for_pty_and_page_rows ... ok
[INFO] [stdout] test tests::agent_focus_cycle_skips_hidden_sidebar_with_right_pane ... ok
[INFO] [stdout] test tests::agent_switch_key_accepts_direct_switch_shortcuts ... ok
[INFO] [stdout] test tests::agent_scrollback_keys_accept_dedicated_navigation ... ok
[INFO] [stdout] test tests::agent_exit_event_updates_pending_overlay_to_finalizing ... ok
[INFO] [stdout] test tests::ai_search_empty_agent_results_stay_empty ... ok
[INFO] [stdout] test tests::ai_search_data_dir_rejects_invalid_file_path ... ok
[INFO] [stdout] test tests::ai_search_index_progress_is_throttled ... ok
[INFO] [stdout] test tests::ai_search_data_dir_rejects_symlink_path ... ok
[INFO] [stdout] test tests::ai_search_pending_overlay_uses_available_wide_viewport ... ok
[INFO] [stdout] test tests::ai_search_preview_cache_reuses_only_current_successful_files ... ok
[INFO] [stdout] test tests::ai_search_preview_filename_uses_title_when_available ... ok
[INFO] [stdout] test tests::ai_search_prompt_tells_agent_to_use_preview_metadata ... ok
[INFO] [stdout] test tests::ai_search_preview_loader_rejects_preview_directories ... ok
[INFO] [stdout] test tests::ai_search_preview_loader_rejects_preview_symlinks ... ok
[INFO] [stdout] test tests::ai_search_response_accepts_structural_noise_around_json ... ok
[INFO] [stdout] test tests::ai_search_response_accepts_fenced_json_block ... ok
[INFO] [stdout] test tests::ai_search_prompt_points_agent_to_searchdata_without_local_candidates ... ok
[INFO] [stdout] test tests::ai_search_progress_updates_matching_pending ... ok
[INFO] [stdout] test tests::ai_search_orphan_cleanup_removes_preview_files_not_in_current_sessions ... ok
[INFO] [stdout] test tests::ai_search_rejects_agent_results_for_unknown_sessions ... ok
[INFO] [stdout] test tests::ai_search_pending_locks_input_except_escape_cancel ... ok
[INFO] [stdout] test tests::ai_search_enter_without_agent_opens_settings_and_returns_to_prompt ... ok
[INFO] [stdout] test tests::ai_search_pending_escape_takes_priority_over_clone_data_task ... ok
[INFO] [stdout] test tests::ai_search_preview_loader_rewrites_stale_cache_files ... ok
[INFO] [stdout] test tests::ai_search_response_parses_results_from_json ... ok
[INFO] [stdout] test tests::ai_search_response_rejects_missing_required_result_fields ... ok
[INFO] [stdout] test tests::ai_search_response_skips_json_that_does_not_satisfy_contract ... ok
[INFO] [stdout] test tests::ai_search_response_rejects_multiline_reason ... ok
[INFO] [stdout] test tests::ai_search_response_uses_first_contract_valid_json_candidate ... ok
[INFO] [stdout] test tests::ai_search_response_rejects_unsupported_structured_wrappers ... ok
[INFO] [stdout] test tests::ai_title_prompt_uses_common_structured_output_system_prompt ... ok
[INFO] [stdout] test tests::attach_notfound_removes_only_when_no_live_meta_remains ... ok
[INFO] [stdout] test tests::ai_search_result_failure_opens_notice_overlay_and_preserves_prompt ... ok
[INFO] [stdout] test tests::ai_title_result_updates_matching_title_edit_draft ... ok
[INFO] [stdout] test tests::ai_title_result_failure_opens_notice_overlay_and_preserves_title_edit ... ok
[INFO] [stdout] test tests::attached_client_mine_requires_current_instance_id_when_checked ... ok
[INFO] [stdout] test tests::attach_stage_failure_requests_live_discovery_refresh ... ok
[INFO] [stdout] test tests::ai_search_results_drive_visible_session_order ... ok
[INFO] [stdout] test tests::ai_tasks_do_not_start_while_another_ai_task_is_pending ... ok
[INFO] [stdout] test tests::attach_progress_overlay_renders_auxiliary_attach_at_80x24 ... ok
[INFO] [stdout] test tests::attach_progress_overlay_renders_main_attach_at_80x24 ... ok
[INFO] [stdout] test tests::blank_agent_program_settings_fall_back_to_path_lookup_names ... ok
[INFO] [stdout] test tests::auxiliary_toggle_hides_and_restores_existing_cokacdir ... ok
[INFO] [stdout] test tests::bracketed_paste_mode_tracker_handles_split_sequences ... ok
[INFO] [stdout] test tests::auxiliary_ctrl_k_shows_kill_pending_overlay_until_worker_result ... ok
[INFO] [stdout] test tests::cached_backing_states_apply_to_all_providers ... ok
[INFO] [stdout] test tests::blank_vt100_screen_has_no_visible_content ... ok
[INFO] [stdout] test tests::bracketed_paste_mode_tracker_handles_combined_private_modes ... ok
[INFO] [stdout] test tests::attached_client_pid_must_be_cokacmux_client_when_checked ... ok
[INFO] [stdout] test tests::auxiliary_restore_matches_new_agent_parent_alias ... ok
[INFO] [stdout] test tests::cached_same_cwd_live_coding_agent_blocks_when_runtime_confirms_live ... ok
[INFO] [stdout] test tests::cached_same_cwd_idle_runtime_still_blocks_when_live_meta_is_verified ... ok
[INFO] [stdout] test tests::claude_child_scroll_uses_fullscreen_scroll_keys ... ok
[INFO] [stdout] test tests::cancelled_search_result_is_ignored ... ok
[INFO] [stdout] test tests::claude_new_agent_backing_session_requires_written_session_file ... ok
[INFO] [stdout] test tests::claude_structured_output_error_reports_result_subtype ... ok
[INFO] [stdout] test tests::cleanup_orphan_agent_pty_logs_requires_live_agent_daemon_meta ... ok
[INFO] [stdout] test tests::cli_command_terminal_meta_restores_terminal_kind ... ok
[INFO] [stdout] test tests::cli_command_terminal_source_round_trips ... ok
[INFO] [stdout] test tests::cli_rejects_check_with_subcommand ... ok
[INFO] [stdout] test tests::cli_help_keeps_interactive_key_reference ... ok
[INFO] [stdout] test tests::cli_parses_existing_commands_with_clap ... ok
[INFO] [stdout] test tests::cli_command_terminal_invalid_metadata_stays_terminal ... ok
[INFO] [stdout] test tests::cli_command_terminal_appears_in_agent_sidebar_candidates ... ok
[INFO] [stdout] test tests::cli_start_requires_command_separator ... ok
[INFO] [stdout] test tests::cli_start_validation_rejects_unsafe_inputs ... ok
[INFO] [stdout] test tests::clone_options_cancel_choice_closes_dialog ... ok
[INFO] [stdout] test tests::clone_data_task_locks_input_except_esc_cancel ... ok
[INFO] [stdout] test tests::auxiliary_focus_resizes_right_panel ... ok
[INFO] [stdout] test tests::auxiliary_toggle_hides_and_restores_existing_terminal ... ok
[INFO] [stdout] test tests::clone_options_tab_changes_target_provider ... ok
[INFO] [stdout] test tests::clone_options_disabled_folder_data_stays_open ... ok
[INFO] [stdout] test tests::clone_options_context_mode_toggles_for_cross_provider ... ok
[INFO] [stdout] test tests::clone_key_prompts_for_folder_data_when_cwd_exists ... ok
[INFO] [stdout] test tests::clone_key_prompts_for_session_only_when_cwd_is_missing ... ok
[INFO] [stdout] test tests::clone_cancelled_before_session_creation_reports_no_cloned_session_removed ... ok
[INFO] [stdout] test tests::ai_title_transcript_uses_summary_for_large_sessions ... ok
[INFO] [stdout] test tests::clone_options_context_mode_is_ignored_for_native_copy ... ok
[INFO] [stdout] test tests::clone_report_builds_removable_session_info ... ok
[INFO] [stdout] test tests::codex_transcript_overlay_assumption_ignores_ctrl_t ... ok
[INFO] [stdout] test tests::codex_launch_args_install_scroll_keymap_overrides ... ok
[INFO] [stdout] test tests::cokacdir_dist_filename_matches_supported_platforms ... ok
[INFO] [stdout] test tests::cokacdir_activity_ignores_idle_redraw_output ... ok
[INFO] [stdout] test tests::codex_child_scroll_uses_child_keymap_without_ctrl_t_toggle ... ok
[INFO] [stdout] test tests::cokacdir_launch_spec_uses_configured_runnable_program ... ok
[INFO] [stdout] test tests::cokacmux_dark_theme_colors_are_indexed ... ok
[INFO] [stdout] test tests::cokacdir_installed_file_requires_execute_permission ... ok
[INFO] [stdout] test tests::confirm_modal_wraps_without_using_screen_percent_height ... ok
[INFO] [stdout] test tests::confirm_modal_uses_compact_prompt_sized_area ... ok
[INFO] [stdout] test tests::codex_rollout_path_requires_matching_session_meta ... ok
[INFO] [stdout] test tests::ctrl_3_is_supported_and_ctrl_5_binding_is_rejected ... ok
[INFO] [stdout] test tests::comma_opens_settings_from_sessions ... ok
[INFO] [stdout] test tests::cokacdir_active_agent_disables_agent_kill_shortcut ... ok
[INFO] [stdout] test tests::cokacdir_agent_ctrl_shift_k_still_opens_killall_confirm ... ok
[INFO] [stdout] test tests::ctrl_bracket_restore_continues_from_inflight_startup_discovery ... ok
[INFO] [stdout] test tests::configured_agent_program_paths_expand_home_prefix ... ok
[INFO] [stdout] test tests::cokacdir_active_agent_disables_shift_modified_shortcuts ... ok
[INFO] [stdout] test tests::create_agent_launch_cwd_creates_missing_folder ... ok
[INFO] [stdout] test tests::cokacdir_configured_missing_program_reports_error ... ok
[INFO] [stdout] test tests::ctrl_bracket_restore_waits_for_slow_startup_discovery_result ... ok
[INFO] [stdout] test tests::ctrl_bracket_restore_requests_live_discovery_without_active_agent ... ok
[INFO] [stdout] test tests::ctrl_bracket_restore_does_not_wait_for_queued_normal_refresh_after_startup_discovery ... ok
[INFO] [stdout] test tests::ctrl_t_does_not_open_settings_from_sessions ... ok
[INFO] [stdout] test tests::cwd_lock_guard_drop_removes_own_lock ... ok
[INFO] [stdout] test tests::cokacdir_q_shows_exit_pending_overlay ... ok
[INFO] [stdout] test tests::custom_agent_scroll_page_bindings_are_not_migrated ... ok
[INFO] [stdout] test tests::current_generated_agent_scroll_page_bindings_add_windows_page_fallback ... ok
[INFO] [stdout] test tests::cwd_lock_rejects_invalid_provider_even_when_pid_is_live ... ok
[INFO] [stdout] test tests::ctrl_f_opens_search_choice_without_live_filtering ... ok
[INFO] [stdout] test tests::cwd_meta_conflict_rejects_unknown_identity_without_reachable_socket ... ok
[INFO] [stdout] test tests::ctrl_q_quits_from_agent_key_handler ... ok
[INFO] [stdout] test tests::cwd_meta_conflict_uses_reachable_socket_when_identity_is_unknown ... ok
[INFO] [stdout] test tests::ctrl_bracket_without_active_agent_does_not_attach_selected_session ... ok
[INFO] [stdout] test tests::cokacdir_start_failure_keeps_notice_dialog_open ... ok
[INFO] [stdout] test tests::cwd_lock_guard_drop_keeps_replaced_lock ... ok
[INFO] [stdout] test tests::cwd_lock_rejects_pid_start_tick_mismatch ... ok
[INFO] [stdout] test tests::custom_new_session_cwd_cursor_keys_are_used_by_handler ... ok
[INFO] [stdout] test tests::daemon_identity_event_reconstructs_meta_snapshot ... ok
[INFO] [stdout] test tests::daemon_connection_drops_output_while_resync_is_pending ... ok
[INFO] [stdout] test tests::daemon_ready_line_rejects_mismatched_key ... ok
[INFO] [stdout] test tests::daemon_ready_line_requires_matching_key ... ok
[INFO] [stdout] test tests::ctrl_f_cokacdir_panel_attach_runs_cokacdir_prechecks ... ok
[INFO] [stdout] test tests::cwd_restore_lock_blocks_same_folder_coding_agent_conflict ... ok
[INFO] [stdout] test tests::cwd_restore_lock_blocks_agent_daemon_start ... ok
[INFO] [stdout] test tests::daemon_start_refuses_to_replace_matching_stale_child ... ok
[INFO] [stdout] test tests::daemon_start_lock_replaces_dead_owner ... ok
[INFO] [stdout] test tests::cwd_lock_treats_zombie_daemon_pid_as_dead ... ok
[INFO] [stdout] test tests::data_task_status_uses_spinner_and_label ... ok
[INFO] [stdout] test tests::debug_log_file_for_routes_stall_events_to_stall_log ... ok
[INFO] [stdout] test tests::delete_selection_stays_on_row_below_removed_item ... ok
[INFO] [stdout] test tests::default_shell_program_uses_bash_outside_windows ... ok
[INFO] [stdout] test tests::discard_keeps_partial_front_and_control_frames ... ok
[INFO] [stdout] test tests::display_cwd_str_hides_windows_extended_prefix ... ok
[INFO] [stdout] test tests::delete_confirm_default_enter_cancels_without_removing_file ... ok
[INFO] [stdout] test tests::delete_key_opens_session_delete_confirm ... ok
[INFO] [stdout] test tests::e_on_live_selected_session_switches_without_launch_selector ... ok
[INFO] [stdout] test tests::deleted_keybinding_file_is_recreated_by_watcher_check ... ok
[INFO] [stdout] test tests::default_move_bindings_do_not_use_hjkl ... ok
[INFO] [stdout] test tests::e_on_foreign_attached_selected_session_does_not_open_launch_selector ... ok
[INFO] [stdout] test tests::e_on_stale_same_cwd_new_agent_does_not_block_launch_selector ... ok
[INFO] [stdout] test tests::custom_session_launch_key_is_used_by_handler ... ok
[INFO] [stdout] test tests::e_on_same_cwd_live_shell_does_not_block_coding_agent_launch ... ok
[INFO] [stdout] test tests::delete_confirm_prompt_sanitizes_session_id_controls ... ok
[INFO] [stdout] test tests::daemon_ready_tcp_listener_reads_delayed_ready_line ... ok
[INFO] [stdout] test tests::e_on_live_selected_missing_cwd_does_not_prompt_create_folder ... ok
[INFO] [stdout] test tests::esc_clears_ai_search_results_to_full_list ... ok
[INFO] [stdout] test tests::discovery_strike_prune_survives_stale_resurrection ... ok
[INFO] [stdout] test tests::existing_agent_launch_cwd_validation_rejects_file ... ok
[INFO] [stdout] test tests::existing_agent_launch_cwd_validation_rejects_missing_folder ... ok
[INFO] [stdout] test tests::e_on_stale_same_cwd_provider_session_does_not_block_launch_selector ... ok
[INFO] [stdout] test tests::esc_clears_text_search_results_to_full_list ... ok
[INFO] [stdout] test tests::esc_quits_from_preview_when_full_list_has_no_active_search ... ok
[INFO] [stdout] test tests::flush_outbound_frames_resumes_partial_frames_across_wouldblock ... ok
[INFO] [stdout] test tests::exited_active_same_cwd_coding_agent_does_not_block ... ok
[INFO] [stdout] test tests::extract_ai_title_response_prefers_structured_title ... ok
[INFO] [stdout] test tests::expand_home_path_accepts_backslash_separator ... ok
[INFO] [stdout] test tests::delete_confirm_uses_stored_target_even_if_selection_changes ... ok
[INFO] [stdout] test tests::fresh_agent_launch_specs_start_without_resume_session_args ... ok
[INFO] [stdout] test tests::fresh_claude_launch_spec_pins_session_id_from_synthetic_key ... ok
[INFO] [stdout] test tests::esc_quits_when_full_list_has_no_active_search ... ok
[INFO] [stdout] test tests::force_quit_is_allowed_while_data_task_runs ... ok
[INFO] [stdout] test tests::fresh_gjc_launch_spec_preallocates_session_id_from_synthetic_key ... ok
[INFO] [stdout] test tests::grayscale_color_maps_ansi_and_rgb_colors_to_gray_ramp ... ok
[INFO] [stdout] test tests::ctrl_q_quits_from_session_input_modes ... ok
[INFO] [stdout] test tests::generated_agent_focus_auxiliary_empty_binding_is_restored_to_ctrl_3 ... ok
[INFO] [stdout] test tests::focused_auxiliary_agent_receives_forwarded_input ... ok
[INFO] [stdout] test tests::hidden_auxiliary_self_exit_removes_cached_panel ... ok
[INFO] [stdout] test tests::e_opens_agent_launch_mode_selector ... ok
[INFO] [stdout] test tests::f_no_longer_cycles_provider_filter_and_enter_launches_agent ... ok
[INFO] [stdout] test tests::hidden_auxiliary_keeps_processing_output_until_restored ... ok
[INFO] [stdout] test tests::inactive_agent_pane_vt100_render_grayscales_cell_colors ... ok
[INFO] [stdout] test tests::input_viewport_returns_text_and_real_cursor_column ... ok
[INFO] [stdout] test tests::inactive_agent_client_pane_grayscales_pty_output ... ok
[INFO] [stdout] test tests::keybinding_json_overrides_defaults_and_can_disable_actions ... ok
[INFO] [stdout] test tests::killall_config_cleanup_reports_missing_agents_and_debug ... ok
[INFO] [stdout] test tests::killall_config_cleanup_removes_only_agents_and_debug ... ok
[INFO] [stdout] test tests::killall_config_cleanup_preserves_agents_when_requested ... ok
[INFO] [stdout] test tests::kill_policy_removes_persistent_pty_log ... ok
[INFO] [stdout] test tests::input_modals_render_on_narrow_viewports ... ok
[INFO] [stdout] test tests::global_quit_key_accepts_ctrl_q_only ... ok
[INFO] [stdout] test tests::extract_ai_title_response_uses_first_contract_valid_json_candidate ... ok
[INFO] [stdout] test tests::keybinding_file_change_reloads_via_watcher_check ... ok
[INFO] [stdout] test tests::killall_preserves_unverified_current_process_meta ... ok
[INFO] [stdout] test tests::killall_confirm_requires_explicit_kill_choice ... ok
[INFO] [stdout] test tests::killall_does_not_terminate_unverified_live_pid ... ok
[INFO] [stdout] test tests::killall_preserves_child_from_reused_daemon_pid_meta ... ok
[INFO] [stdout] test tests::killall_keeps_stale_meta_child_when_start_tick_mismatches ... ok
[INFO] [stdout] test tests::killall_result_with_unverified_runtime_requests_discovery_instead_of_clearing ... ok
[INFO] [stdout] test tests::keybinding_reload_failure_keeps_previous_bindings ... ok
[INFO] [stdout] test tests::legacy_generated_agent_scroll_page_bindings_are_migrated ... ok
[INFO] [stdout] test tests::killall_keeps_stale_meta_child_without_start_token ... ok
[INFO] [stdout] test tests::killall_preserves_stale_meta_with_reachable_socket ... ok
[INFO] [stdout] test tests::killall_key_accepts_session_shift_k_without_shadowing_ctrl_k ... ok
[INFO] [stdout] test tests::legacy_generated_modal_move_bindings_drop_hjkl ... ok
[INFO] [stdout] test tests::legacy_generated_session_killall_binding_gains_shift_k_alias ... ok
[INFO] [stdout] test tests::legacy_generated_session_preview_binding_is_migrated_to_enter_launch ... ok
[INFO] [stdout] test tests::legacy_generated_ai_settings_binding_uses_comma_only ... ok
[INFO] [stdout] test tests::legacy_generated_toggle_focus_binding_drops_esc ... ok
[INFO] [stdout] test tests::killall_result_clears_live_runtime_state ... ok
[INFO] [stdout] test tests::legacy_preview_toggle_binding_does_not_block_enter_launch ... ok
[INFO] [stdout] test tests::legacy_snapshot_output_uses_buffered_output_path ... ok
[INFO] [stdout] test tests::killall_removes_stale_agent_runtime_files ... ok
[INFO] [stdout] test tests::legacy_generated_session_move_bindings_drop_j_k ... ok
[INFO] [stdout] test tests::legacy_generated_search_bindings_are_migrated_to_search_chooser ... ok
[INFO] [stdout] test tests::killall_terminates_child_from_stale_daemon_meta ... ok
[INFO] [stdout] test tests::killall_pending_overlay_is_centered_modal ... ok
[INFO] [stdout] test tests::daemon_start_lock_waits_for_live_owner_release ... ok
[INFO] [stdout] test tests::linux_process_stat_group_parser_extracts_state_and_pgid ... ok
[INFO] [stdout] test tests::killing_parent_agent_terminates_visible_hidden_and_persisted_auxiliaries ... ok
[INFO] [stdout] test tests::legacy_restore_cwd_lock_rejects_pid_started_after_lock ... ok
[INFO] [stdout] test tests::list_columns_cap_session_and_spend_extra_width_on_title_and_cwd ... ok
[INFO] [stdout] test tests::list_columns_expand_variable_fields_with_available_width ... ok
[INFO] [stdout] test tests::list_columns_fill_visible_table_width ... ok
[INFO] [stdout] test tests::list_columns_show_title_before_age_at_medium_width ... ok
[INFO] [stdout] test tests::list_header_includes_agent_state_column ... ok
[INFO] [stdout] test tests::list_selection_movement_clamps_at_edges ... ok
[INFO] [stdout] test tests::live_shell_info_refresh_updates_cached_shell_cwd_from_meta ... ok
[INFO] [stdout] test tests::live_auxiliary_restore_candidate_does_not_adopt_same_cwd_standalone_tool ... ok
[INFO] [stdout] test tests::live_shell_discovery_result_preserves_verified_runtime_after_strike_limit ... ok
[INFO] [stdout] test tests::live_restore_and_switch_candidates_exclude_pending_right_auxiliary_panel ... ok
[INFO] [stdout] test tests::live_shell_merge_drops_previous_idle_runtime_entry ... ok
[INFO] [stdout] test tests::live_shell_discovery_result_removes_missing_cached_shell ... ok
[INFO] [stdout] test tests::live_shell_discovery_result_preserves_missing_non_idle_shell ... ok
[INFO] [stdout] test tests::live_shell_info_refresh_keeps_cached_info_on_meta_key_mismatch ... ok
[INFO] [stdout] test tests::live_shell_info_refresh_skips_provider_sessions ... ok
[INFO] [stdout] test tests::live_shell_merge_restores_previous_non_idle_runtime_entry ... ok
[INFO] [stdout] test tests::live_status_labels_name_plain_pty_tools ... ok
[INFO] [stdout] test tests::live_visible_selection_skips_plain_pty_tools ... ok
[INFO] [stdout] test tests::ctrl_n_opens_new_session_dialog_from_selected_session ... ok
[INFO] [stdout] test tests::macos_kern_procargs2_parser_preserves_argv_boundaries ... ok
[INFO] [stdout] test tests::main_event_drain_is_bounded_by_count_and_time ... ok
[INFO] [stdout] test tests::macos_process_start_token_combines_seconds_and_microseconds ... ok
[INFO] [stdout] test tests::macos_lstart_parser_accepts_ps_lstart_output_shape ... ok
[INFO] [stdout] test tests::live_restore_and_switch_candidates_exclude_hidden_right_auxiliary_panel ... ok
[INFO] [stdout] test tests::main_agent_attach_can_restore_live_auxiliary_after_restart ... ok
[INFO] [stdout] test tests::macos_process_status_detects_zombies ... ok
[INFO] [stdout] test tests::manual_session_refresh_sets_visible_spinner_state ... ok
[INFO] [stdout] test tests::modal_area_clamps_to_tiny_viewport ... ok
[INFO] [stdout] test tests::missing_cwd_create_confirm_cancel_does_not_create_folder ... ok
[INFO] [stdout] test tests::modal_area_wraps_lines_and_keeps_margin_when_space_allows ... ok
[INFO] [stdout] test tests::modal_help_line_matches_status_help_format ... ok
[INFO] [stdout] test tests::modified_navigation_keys_encode_xterm_modifier_sequences ... ok
[INFO] [stdout] test tests::new_agent_state_is_not_inferred_for_stored_session_by_cwd ... ok
[INFO] [stdout] test tests::new_run_pty_log_open_truncates_existing_history ... ok
[INFO] [stdout] test tests::new_agent_session_uuid_requires_prefixed_uuid ... ok
[INFO] [stdout] test tests::narrow_preview_does_not_request_expensive_wrap ... ok
[INFO] [stdout] test tests::new_session_choice_focus_styles_only_value_text ... ok
[INFO] [stdout] test tests::new_session_completion_focus_does_not_fill_indent_or_padding ... ok
[INFO] [stdout] test tests::main_agent_attach_restores_hidden_auxiliary_for_new_agent_when_key_changes ... ok
[INFO] [stdout] test tests::main_agent_attach_restores_hidden_auxiliary_for_returned_agent ... ok
[INFO] [stdout] test tests::missing_keybinding_file_is_created_with_defaults ... ok
[INFO] [stdout] test tests::main_focus_blocks_resize_when_both_side_panels_are_open ... ok
[INFO] [stdout] test tests::main_focus_resizes_only_open_side_panel ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_aligns_when_input_is_horizontally_scrolled ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_aligns_to_current_path_segment ... ok
[INFO] [stdout] test tests::new_session_cwd_common_completion_preserves_suffix_separator ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_aligns_after_wide_path_text ... ok
[INFO] [stdout] test tests::new_session_completion_does_not_append_scroll_count_to_candidate ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_uses_cursor_and_preserves_suffix ... ok
[INFO] [stdout] test tests::new_session_attach_requests_focus_main_when_ready ... ok
[INFO] [stdout] test tests::main_agent_attach_keeps_user_hidden_auxiliary_hidden_for_returned_agent ... ok
[INFO] [stdout] test tests::error_status_opens_notice_dialog ... ok
[INFO] [stdout] test tests::new_session_completion_overlay_starts_below_folder_without_resizing_frame ... ok
[INFO] [stdout] test tests::new_session_kind_movement_includes_cokacdir ... ok
[INFO] [stdout] test tests::new_session_enter_shows_prepare_spinner_before_attach_result ... ok
[INFO] [stdout] test tests::new_session_empty_folder_keeps_dialog_open ... ok
[INFO] [stdout] test tests::new_session_cwd_tab_without_suggestions_falls_back_to_field_movement ... ok
[INFO] [stdout] test tests::new_session_cwd_field_keeps_plain_jklh_as_text ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_modal_renders_at_80x24 ... ok
[INFO] [stdout] test tests::new_session_launch_overlay_renders_at_80x24 ... ok
[INFO] [stdout] test tests::new_session_cwd_completion_selects_and_esc_closes_before_cancel ... ok
[INFO] [stdout] test tests::new_session_path_suggestions_include_symlinked_directories ... ok
[INFO] [stdout] test tests::normalize_launch_cwd_creates_missing_directory ... ok
[INFO] [stdout] test tests::new_session_text_input_focus_does_not_fill_value ... ok
[INFO] [stdout] test tests::new_session_path_suggestions_prioritize_prefix_and_hide_dot_entries ... ok
[INFO] [stdout] test tests::notice_dialog_keeps_focus_for_other_keys ... ok
[INFO] [stdout] test tests::new_session_modal_does_not_reserve_completion_rows_between_folder_and_preview ... ok
[INFO] [stdout] test tests::new_session_root_cwd_completion_aligns_to_root_separator ... ok
[INFO] [stdout] test tests::notice_dialog_renders_centered_ok_button ... ok
[INFO] [stdout] test tests::new_session_modal_frame_ignores_folder_input_width ... ok
[INFO] [stdout] test tests::new_session_cwd_tab_completion_prefers_prefix_candidates ... ok
[INFO] [stdout] test tests::opencode_ai_agent_payload_from_events_prefers_final_answer_text ... ok
[INFO] [stdout] test tests::notice_dialog_tiny_viewport_still_renders_ok_button ... ok
[INFO] [stdout] test tests::opencode_ai_agent_payload_from_events_reports_invalid_json ... ok
[INFO] [stdout] test tests::opencode_ai_agent_session_ids_from_events_collects_unique_ids ... ok
[INFO] [stdout] test tests::notice_dialog_dismisses_on_enter_and_esc ... ok
[INFO] [stdout] test tests::opencode_child_scroll_uses_page_keys ... ok
[INFO] [stdout] test tests::parser_snapshot_does_not_duplicate_visible_screen_into_scrollback ... ok
[INFO] [stdout] test tests::notice_dialog_long_message_keeps_ok_button_visible ... ok
[INFO] [stdout] test tests::opencode_unix_default_install_candidates_include_home_install ... ok
[INFO] [stdout] test tests::p_no_longer_cycles_provider_filter ... ok
[INFO] [stdout] test tests::parser_snapshot_rehydrates_scrollback_lines ... ok
[INFO] [stdout] test tests::parser_snapshot_history_fallback_does_not_duplicate_current_frame ... ok
[INFO] [stdout] test tests::parser_snapshot_uses_screen_history_when_vt100_scrollback_is_empty ... ok
[INFO] [stdout] test tests::pane_resize_keys_accept_alt_or_ctrl_shift_left_right ... ok
[INFO] [stdout] test tests::paste_text_to_agent_bytes_wraps_bracketed_paste_mode ... ok
[INFO] [stdout] test tests::paste_text_to_agent_bytes_converts_plain_newlines_to_enter ... ok
[INFO] [stdout] test tests::new_session_modal_frame_is_stable_between_type_and_folder_focus ... ok
[INFO] [stdout] test tests::persisted_auxiliary_parent_match_does_not_alias_stored_sessions_by_cwd ... ok
[INFO] [stdout] test tests::new_session_modal_frame_is_stable_across_folder_completion_lists ... ok
[INFO] [stdout] test tests::persisted_auxiliary_release_preserves_possible_live_runtime ... ok
[INFO] [stdout] test tests::pending_filter_modal_shows_search_progress ... ok
[INFO] [stdout] test tests::persisted_auxiliary_release_without_live_runtime_does_not_create_live_sidebar_entry ... ok
[INFO] [stdout] test tests::persisted_auxiliary_restore_prefers_latest_recorded_right_panel ... ok
[INFO] [stdout] test tests::prepare_agent_session_does_not_modify_existing_codex_rollout ... ok
[INFO] [stdout] test tests::persistent_pty_log_replays_into_scrollback ... ok
[INFO] [stdout] test tests::new_session_modal_width_is_fixed_across_kind_fields_completion_and_help ... ok
[INFO] [stdout] test tests::preview_scrollbar_reaches_bottom_at_preview_bottom ... ok
[INFO] [stdout] test tests::preview_scrollbar_wrap_width_stays_stable_across_draws ... ok
[INFO] [stdout] test tests::preview_scroll_accounts_for_wrapped_lines ... ok
[INFO] [stdout] test tests::preview_summary_does_not_treat_file_modes_as_patch_without_patch_context ... ok
[INFO] [stdout] test tests::prepare_stage_failure_keeps_runtime_refresh_non_discovering ... ok
[INFO] [stdout] test tests::persisted_right_auxiliary_is_excluded_after_restart_but_restorable_for_parent ... ok
[INFO] [stdout] test tests::preview_summary_style_state_cache_tracks_context_before_each_line ... ok
[INFO] [stdout] test tests::preview_summary_keeps_structured_bullets_neutral ... ok
[INFO] [stdout] test tests::preview_summary_does_not_treat_body_urls_as_session_fields ... ok
[INFO] [stdout] test tests::preview_summary_styles_codex_text_phase_labels ... ok
[INFO] [stdout] test tests::preview_summary_styles_field_values_by_semantics ... ok
[INFO] [stdout] test tests::preview_summary_tool_result_error_status_must_be_terminal_detail ... ok
[INFO] [stdout] test tests::preview_worker_wakes_main_loop_when_result_is_ready ... ok
[INFO] [stdout] test tests::preview_summary_styles_patch_lines_only_in_patch_context ... ok
[INFO] [stdout] test tests::process_start_token_match_distinguishes_unknown_from_mismatch ... ok
[INFO] [stdout] test tests::previous_generated_agent_scroll_page_bindings_are_migrated ... ok
[INFO] [stdout] test tests::preview_summary_styles_detail_statuses_and_ids ... ok
[INFO] [stdout] test tests::daemon_connection_discard_cycle_preserves_framing_and_accounting ... ok
[INFO] [stdout] test tests::previous_generated_ai_settings_binding_drops_ctrl_t ... ok
[INFO] [stdout] test tests::opencode_ai_title_sends_large_prompt_over_stdin ... ok
[INFO] [stdout] test tests::ps_process_group_parser_excludes_zombies ... ok
[INFO] [stdout] test tests::quit_is_blocked_while_data_task_runs ... ok
[INFO] [stdout] test tests::quit_key_cancels_pending_filter_search ... ok
[INFO] [stdout] test tests::prompt_command_completed_child_kills_descendant_holding_output_pipe ... ok
[INFO] [stdout] test tests::persisted_auxiliary_registry_normalize_releases_older_entries_for_same_parent_and_kind ... ok
[INFO] [stdout] test tests::persisted_auxiliary_restore_candidate_uses_registry_before_live_discovery ... ok
[INFO] [stdout] test tests::queued_discovery_refresh_is_preserved_after_pending_result ... ok
[INFO] [stdout] test tests::persisted_auxiliary_registry_keeps_one_panel_per_kind_for_parent ... ok
[INFO] [stdout] test tests::real_ai_search_uses_configured_agent_and_real_sessions ... ignored, requires REAL_AI_SEARCH=1 and a configured local AI agent
[INFO] [stdout] test tests::preview_renders_scrollbar_when_content_overflows ... ok
[INFO] [stdout] test tests::opencode_ai_title_fails_when_session_cleanup_fails ... ok
[INFO] [stdout] test tests::repeat_key_events_are_actionable_for_held_navigation_shortcuts ... ok
[INFO] [stdout] test tests::restore_candidate_can_use_live_shell_without_visible_session ... ok
[INFO] [stdout] test tests::replacing_main_agent_hides_auxiliary_panel ... ok
[INFO] [stdout] test tests::restore_data_task_locks_regular_input ... ok
[INFO] [stdout] test tests::replacing_active_agent_keeps_previous_new_agent_in_sidebar_candidates ... ok
[INFO] [stdout] test tests::low_value_confirmation_status_does_not_open_notice_dialog ... ok
[INFO] [stdout] test tests::reused_pid_agent_meta_is_cleaned_and_treated_as_idle ... ok
[INFO] [stdout] test tests::reused_pid_agent_meta_preserves_matching_child ... ok
[INFO] [stdout] test tests::restore_visible_selection_keeps_matching_session_after_refresh ... ok
[INFO] [stdout] test tests::restore_data_task_modal_renders_at_80x24 ... ok
[INFO] [stdout] test tests::rendered_agent_meta_records_daemon_start_token ... ok
[INFO] [stdout] test tests::restore_candidate_prefers_selected_live_session ... ok
[INFO] [stdout] test tests::runtime_discovery_keeps_provider_backed_daemon_meta ... ok
[INFO] [stdout] test tests::runtime_discovery_skips_dead_daemon_meta ... ok
[INFO] [stdout] test tests::restore_data_confirm_default_enter_skips_restore_without_creating_folder ... ok
[INFO] [stdout] test tests::runtime_discovery_recovers_missing_meta_from_daemon_identity ... ok
[INFO] [stdout] test tests::runtime_discovery_recovers_corrupt_meta_from_daemon_identity ... ok
[INFO] [stdout] test tests::runtime_discovery_skips_non_daemon_current_process_meta ... ok
[INFO] [stdout] test tests::runtime_refresh_keeps_persisted_auxiliary_when_live_parent_state_is_missing ... ok
[INFO] [stdout] test tests::runtime_refresh_keeps_persisted_auxiliary_for_parent_not_yet_discovered ... ok
[INFO] [stdout] test tests::runtime_refresh_without_discovery_preserves_cached_live_shell ... ok
[INFO] [stdout] test tests::runtime_refresh_request_keeps_live_discovery_off_runtime_worker ... ok
[INFO] [stdout] test tests::runtime_refresh_syncs_active_terminal_cwd_into_sidebar_candidate ... ok
[INFO] [stdout] test tests::runtime_refresh_keeps_persisted_auxiliary_when_parent_is_foreign_attached ... ok
[INFO] [stdout] test tests::safe_parser_process_handles_wide_char_after_shrink_resize ... ok
[INFO] [stdout] test tests::runtime_state_recovers_reused_pid_meta_from_daemon_identity ... ok
[INFO] [stdout] test tests::screen_history_captures_multiple_fullscreen_frames_in_one_chunk ... ok
[INFO] [stdout] test tests::runtime_state_recovers_stale_meta_from_daemon_identity ... ok
[INFO] [stdout] test tests::screen_history_records_only_scrolled_off_lines_for_moving_viewport ... ok
[INFO] [stdout] test tests::screen_history_replaces_in_place_viewport_updates ... ok
[INFO] [stdout] test tests::sanitize_ai_title_response_keeps_first_clean_title_line ... ok
[INFO] [stdout] test tests::screen_history_page_scroll_uses_full_frame_height ... ok
[INFO] [stdout] test tests::search_cancel_preserves_existing_applied_filter ... ok
[INFO] [stdout] test tests::search_choice_can_open_ai_search_prompt ... ok
[INFO] [stdout] test tests::screen_toggle_key_rejects_ctrl_3_and_ctrl_5_aliases ... ok
[INFO] [stdout] test tests::search_filter_can_match_full_session_result_keys ... ok
[INFO] [stdout] test tests::runtime_refresh_pending_overlay_renders_deferred_launch_at_80x24 ... ok
[INFO] [stdout] test tests::selected_backing_session_restores_synthetic_new_agent ... ok
[INFO] [stdout] test tests::search_result_applies_pending_query_and_closes_dialog ... ok
[INFO] [stdout] test tests::search_progress_updates_matching_pending_search ... ok
[INFO] [stdout] test tests::restore_cwd_lock_ignores_live_non_cokacmux_pid ... ok
[INFO] [stdout] test tests::search_modals_show_shortcut_help_before_and_after_typing ... ok
[INFO] [stdout] test tests::session_cwd_eq_normalizes_windows_extended_prefix ... ok
[INFO] [stdout] test tests::session_id_display_label_limits_visible_width ... ok
[INFO] [stdout] test tests::session_ctrl_shift_k_opens_killall_confirm_with_cancel_default ... ok
[INFO] [stdout] test tests::session_id_display_part_uses_last_dash_segment ... ok
[INFO] [stdout] test tests::ai_title_agent_runners_accept_fake_provider_clis ... ok
[INFO] [stdout] test tests::session_kill_key_matches_agent_kill_key ... ok
[INFO] [stdout] test tests::session_item_move_defaults_ignore_j_k ... ok
[INFO] [stdout] test tests::session_ctrl_k_shows_kill_pending_overlay_until_worker_result ... ok
[INFO] [stdout] test tests::session_refresh_overlay_renders_manual_refresh_at_80x24 ... ok
[INFO] [stdout] test tests::session_mutating_actions_are_blocked_while_data_task_runs ... ok
[INFO] [stdout] test tests::sessions_list_scrollbar_reaches_bottom_at_list_bottom ... ok
[INFO] [stdout] test tests::sessions_list_renders_scrollbar_when_rows_overflow ... ok
[INFO] [stdout] test tests::same_error_status_can_open_notice_again_after_dismiss ... ok
[INFO] [stdout] test tests::restore_data_confirm_restore_blocks_if_same_cwd_lock_became_live ... ok
[INFO] [stdout] test tests::sessions_pane_resize_clamps_to_visible_width ... ok
[INFO] [stdout] test tests::session_toggle_key_rejects_ctrl_3_and_ctrl_5_aliases ... ok
[INFO] [stdout] test tests::routine_attach_success_status_does_not_open_notice_dialog ... ok
[INFO] [stdout] test tests::sessions_pane_width_uses_saved_columns_or_fallback_percent ... ok
[INFO] [stdout] test tests::settings_ai_removed_gjc_shortcut_does_not_select_provider ... ok
[INFO] [stdout] test tests::settings_default_serializes_agent_program_placeholders ... ok
[INFO] [stdout] test tests::settings_default_session_view_is_tree ... ok
[INFO] [stdout] test tests::settings_item_move_defaults_ignore_j_k ... ok
[INFO] [stdout] test tests::live_pty_output_round_trips_through_scrollback_log_and_snapshot ... ok
[INFO] [stdout] test tests::sessions_sidebar_select_key_accepts_alt_or_ctrl_shift_up_down ... ok
[INFO] [stdout] test tests::settings_normalize_pane_width_and_preserve_unknown_fields ... ok
[INFO] [stdout] test tests::settings_path_edit_enter_then_enter_saves ... ok
[INFO] [stdout] test tests::settings_general_omits_width_reset_rows ... ok
[INFO] [stdout] test tests::sidebar_order_is_first_seen_and_survives_state_flicker ... ok
[INFO] [stdout] test tests::settings_save_persists_selected_ai_provider ... ok
[INFO] [stdout] test tests::skip_permissions_launch_specs_add_provider_specific_bypass ... ok
[INFO] [stdout] test tests::snapshot_frame_scrollback_compaction_collapses_same_anchor_frames ... ok
[INFO] [stdout] test tests::snapshot_frame_scrollback_compaction_preserves_moving_viewport_lines ... ok
[INFO] [stdout] test tests::snapshot_visible_suffix_trimmer_removes_current_page_duplicates ... ok
[INFO] [stdout] test tests::settings_path_edit_esc_discards_draft_change ... ok
[INFO] [stdout] test tests::stale_agent_meta_is_cleaned_and_treated_as_idle ... ok
[INFO] [stdout] test tests::snapshot_backing_states_apply_cached_aliases_for_all_providers ... ok
[INFO] [stdout] test tests::stale_agent_runtime_sweep_keeps_reachable_orphan_socket ... ok
[INFO] [stdout] test tests::settings_modal_marks_unsaved_current_and_read_only_states ... ok
[INFO] [stdout] test tests::stale_agent_runtime_sweep_keeps_unreadable_meta_with_reachable_socket ... ok
[INFO] [stdout] test tests::stale_agent_runtime_sweep_keeps_readable_stale_meta_with_reachable_socket ... ok
[INFO] [stdout] test tests::stale_attached_client_meta_is_listed_live ... ok
[INFO] [stdout] test tests::stale_cwd_lock_sweep_preserves_lock_with_reachable_daemon_socket ... ok
[INFO] [stdout] test tests::stale_cwd_lock_sweep_removes_dead_and_invalid_locks ... ok
[INFO] [stdout] test tests::stale_agent_runtime_sweep_preserves_matching_child ... ok
[INFO] [stdout] test tests::stale_live_auxiliary_restore_attach_is_released_when_parent_is_gone ... ok
[INFO] [stdout] test tests::stale_agent_runtime_sweep_removes_generated_files_when_idle ... ok
[INFO] [stdout] test tests::stale_runtime_refresh_does_not_clear_newer_live_discovery ... ok
[INFO] [stdout] test tests::stale_live_auxiliary_restore_attach_preserves_live_daemon ... ok
[INFO] [stdout] test tests::startup_runtime_refresh_keeps_persisted_auxiliary_before_live_discovery ... ok
[INFO] [stdout] test tests::ai_search_agent_runners_accept_fake_provider_clis ... ok
[INFO] [stdout] test tests::startup_spinner_frame_rotates_by_tick ... ok
[INFO] [stdout] test tests::status_help_updates_stale_session_labels ... ok
[INFO] [stdout] test tests::settings_ai_space_selects_focused_provider_row ... ok
[INFO] [stdout] test tests::session_shift_k_opens_killall_confirm_with_cancel_default ... ok
[INFO] [stdout] test tests::session_ctrl_k_removes_cwd_lock_without_meta ... ok
[INFO] [stdout] test tests::switching_auxiliary_kind_hides_previous_kind_and_restores_hidden_target ... ok
[INFO] [stdout] test tests::sessions_footer_is_help_only_and_status_uses_notice_dialog ... ok
[INFO] [stdout] test tests::superseded_auxiliary_attach_is_hidden_when_main_switch_is_queued ... ok
[INFO] [stdout] test tests::status_help_line_fits_terminal_widths ... ok
[INFO] [stdout] test tests::start_guard_finds_matching_daemon_from_os_process_table ... ok
[INFO] [stdout] test tests::terminal_response_detects_split_cursor_position_report ... ok
[INFO] [stdout] test tests::terminal_response_answers_cursor_position_report ... ok
[INFO] [stdout] test tests::terminal_pasted_exit_without_newline_tracks_until_enter ... ok
[INFO] [stdout] test tests::terminate_agent_daemon_keeps_mismatched_cwd_lock ... ok
[INFO] [stdout] test tests::terminal_response_answers_device_status_report ... ok
[INFO] [stdout] test tests::terminal_session_scroll_uses_parent_scrollback ... ok
[INFO] [stdout] test tests::terminate_agent_daemon_for_info_removes_cwd_lock_without_meta ... ok
[INFO] [stdout] test tests::text_search_progress_is_throttled ... ok
[INFO] [stdout] test tests::terminate_agent_daemon_removes_matching_cwd_lock ... ok
[INFO] [stdout] test tests::title_ctrl_t_without_agent_opens_settings_and_returns_to_title_edit ... ok
[INFO] [stdout] test tests::title_ctrl_t_with_agent_starts_ai_title_generation ... ok
[INFO] [stdout] test tests::terminate_agent_child_process_kills_separate_process_group ... ok
[INFO] [stdout] test tests::title_edit_key_uses_selected_session_title ... ok
[INFO] [stdout] test tests::title_edit_mode_moves_cursor_and_edits_at_cursor ... ok
[INFO] [stdout] test tests::title_edit_pending_display_removes_cursor_marker ... ok
[INFO] [stdout] test tests::tree_session_label_shortens_only_session_id ... ok
[INFO] [stdout] test tests::title_edit_pauses_editing_while_ai_title_is_running ... ok
[INFO] [stdout] test tests::truncate_width_respects_display_width ... ok
[INFO] [stdout] test tests::tree_view_filter_keeps_parent_context_for_matching_child ... ok
[INFO] [stdout] test tests::truncate_width_sanitizes_terminal_controls ... ok
[INFO] [stdout] test tests::title_edit_mode_accepts_text_and_cancel ... ok
[INFO] [stdout] test tests::terminate_agent_daemon_keeps_stale_child_without_start_token ... ok
[INFO] [stdout] test tests::terminate_process_group_falls_back_to_direct_pid_kill ... ok
[INFO] [stdout] test tests::terminal_exit_command_shows_exit_pending_overlay ... ok
[INFO] [stdout] test tests::ui_stall_latency_threshold_starts_at_two_seconds ... ok
[INFO] [stdout] test tests::unknown_daemon_identity_can_be_verified_by_daemon_start_token ... ok
[INFO] [stdout] test tests::terminate_agent_daemon_kills_child_from_stale_meta ... ok
[INFO] [stdout] test tests::user_hidden_persisted_auxiliary_is_not_auto_restore_candidate ... ok
[INFO] [stdout] test tests::windows_access_denied_process_probe_is_possible_live ... ok
[INFO] [stdout] test tests::vt100_rgb_colors_are_quantized_to_indexed_colors ... ok
[INFO] [stdout] test tests::wrap_preview_line_count_matches_wrapped_lines ... ok
[INFO] [stdout] test tests::v_toggles_tree_view_and_preserves_selected_session ... ok
[INFO] [stdout] test tests::unconnected_current_process_is_not_verified_agent_daemon ... ok
[INFO] [stdout] test tests::windows_agent_tcp_marker_requires_localhost_nonzero_port ... ok
[INFO] [stdout] test tests::wrap_preview_lines_respects_display_width ... ok
[INFO] [stdout] test tests::verified_termination_skips_start_token_mismatch ... ok
[INFO] [stdout] test tests::settings_modal_height_and_help_row_are_fixed_across_sections ... ok
[INFO] [stdout] test tests::settings_agents_status_uses_status_column_not_brackets ... ok
[INFO] [stdout] test tests::reader_end_defers_large_pending_output_and_preserves_tail ... ok
[INFO] [stdout] test tests::terminal_event_defers_large_pending_output_and_preserves_tail ... ok
[INFO] [stdout] test tests::prompt_command_timeout_kills_descendant_holding_output_pipe ... ok
[INFO] [stdout] test tests::prompt_command_cancel_does_not_block_on_large_stdin_write ... ok
[INFO] [stdout] test tests::prompt_command_timeout_does_not_block_on_large_stdin_write ... ok
[INFO] [stdout] test tests::spawn_setup_failure_cleanup_terminates_started_pty_child ... ok
[INFO] [stderr]      Running tests/live_acceptance.rs (/opt/rustwide/target/debug/deps/live_acceptance-41a16c99d46927c5)
[INFO] [stdout] test tests::live_pty_fullscreen_redraws_scroll_through_screen_history ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 536 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.21s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test live_claude_install_and_resume_path ... ignored
[INFO] [stdout] test live_codex_install_with_threads_index ... ignored
[INFO] [stdout] test live_opencode_install_and_list ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/live_readonly.rs (/opt/rustwide/target/debug/deps/live_readonly-0ac9d612906eff02)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/pivot.rs (/opt/rustwide/target/debug/deps/pivot-1bb0fa9f20adaef5)
[INFO] [stdout] test live_recent_sessions_install_as_context_wrappers_in_all_target_native_layouts ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test codex_response_item_compaction_variants_are_flagged ... ok
[INFO] [stdout] test codex_raw_response_item_event_unwraps_semantic_item ... ok
[INFO] [stdout] test codex_event_and_response_item_duplicate_images_are_deduped ... ok
[INFO] [stdout] test codex_response_item_then_event_duplicate_images_are_deduped ... ok
[INFO] [stdout] test codex_response_item_image_generation_call_is_portable_image_content ... ok
[INFO] [stdout] test codex_failed_tool_outputs_are_marked_as_errors ... ok
[INFO] [stdout] test codex_response_item_input_image_is_preserved_without_event_msg ... ok
[INFO] [stdout] test claude_to_codex_preserves_text ... ok
[INFO] [stdout] test codex_user_image_write_emits_input_image_content ... ok
[INFO] [stdout] test codex_observed_rollout_events_are_represented ... ok
[INFO] [stdout] test codex_input_image_detail_roundtrips_to_codex ... ok
[INFO] [stdout] test claude_to_codex_emits_resume_compatible_jsonl ... ok
[INFO] [stdout] test gjc_to_codex_preserves_text ... ok
[INFO] [stdout] test codex_source_declared_event_msg_variants_are_not_dropped ... ok
[INFO] [stdout] test codex_to_claude_emits_resume_compatible_jsonl ... ok
[INFO] [stdout] test codex_to_claude_preserves_text ... ok
[INFO] [stdout] test pi_to_codex_preserves_text ... ok
[INFO] [stdout] test codex_to_opencode_preserves_equal_timestamp_tool_order ... ok
[INFO] [stdout] test codex_event_image_url_keeps_image_mime_for_opencode_roundtrip ... ok
[INFO] [stdout] test three_provider_pivot_preserves_text ... ok
[INFO] [stdout] test codex_image_generation_end_is_portable_image_content ... ok
[INFO] [stdout] test opencode_live_step_parts_to_codex_preserves_text ... ok
[INFO] [stdout] test opencode_completed_tool_parts_to_claude_preserve_tool_results ... ok
[INFO] [stdout] test rich_cross_provider_wrappers_install_into_native_live_layouts ... ok
[INFO] [stderr]      Running tests/provider_layout.rs (/opt/rustwide/target/debug/deps/provider_layout-f6b4fb3039be3d78)
[INFO] [stdout] test all_configured_cross_provider_conversions_wrap_source_context ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test codex_install_against_live_state_5_clone ... ok
[INFO] [stdout] test codex_install_into_tempdir ... ok
[INFO] [stdout] test context_wrapper_install_into_pi_tempdir_validates_native_layout ... ok
[INFO] [stdout] test claude_install_into_tempdir ... ok
[INFO] [stdout] test context_wrapper_install_into_gjc_tempdir_validates_native_layout ... ok
[INFO] [stdout] test codex_context_wrapper_install_can_skip_index_validation_when_index_update_is_disabled ... ok
[INFO] [stdout] test codex_install_validation_failure_removes_rollout_when_required_index_is_missing ... ok
[INFO] [stdout] test gjc_install_into_tempdir ... ok
[INFO] [stdout] test codex_install_validates_explicit_state_5_path_outside_codex_home ... ok
[INFO] [stdout] test codex_install_updates_threads_table ... ok
[INFO] [stdout] test context_wrapper_install_into_codex_tempdir_indexes_and_validates_native_layout ... ok
[INFO] [stdout] test codex_failed_install_removes_explicit_state_5_override_row ... ok
[INFO] [stdout] test pi_install_into_tempdir ... ok
[INFO] [stdout] test context_wrapper_install_into_claude_tempdir_validates_native_layout ... ok
[INFO] [stdout] test context_wrapper_install_into_opencode_tempdir_uses_native_ids_and_validates ... ok
[INFO] [stdout] test opencode_install_does_not_rewrite_existing_global_project_worktree ... ok
[INFO] [stdout] test opencode_install_global_fallback_tracks_session_cwd ... ok
[INFO] [stdout] test opencode_install_into_tempdir ... ok
[INFO] [stdout] test opencode_install_uses_existing_project_for_session_cwd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/roundtrip.rs (/opt/rustwide/target/debug/deps/roundtrip-cc593b435c7b2cf7)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test gjc_model_change_entry_sets_session_model_from_combined_model_id ... ok
[INFO] [stdout] test claude_tool_result_content_array_roundtrips_without_text_only_loss ... ok
[INFO] [stdout] test claude_read_captures_cli_version_into_origin ... ok
[INFO] [stdout] test gjc_text_content_extracted ... ok
[INFO] [stdout] test gjc_same_provider_roundtrip_preserves_header_title ... ok
[INFO] [stdout] test claude_attachment_preserves_typed_payload ... ok
[INFO] [stdout] test claude_same_provider_roundtrip_is_bit_identical ... ok
[INFO] [stdout] test claude_text_content_extracted ... ok
[INFO] [stdout] test codex_same_provider_roundtrip_is_bit_identical ... ok
[INFO] [stdout] test codex_native_tool_search_web_search_and_local_shell_roundtrip_shapes ... ok
[INFO] [stdout] test codex_token_count_extracted_to_usage_total ... ok
[INFO] [stdout] test codex_structured_tool_output_roundtrips_without_stringifying ... ok
[INFO] [stdout] test codex_read_captures_cli_version_into_origin ... ok
[INFO] [stdout] test codex_custom_tool_call_shape_roundtrips_when_source_derived ... ok
[INFO] [stdout] test codex_to_opencode_preserves_source_text_phase_metadata ... ok
[INFO] [stdout] test opencode_writer_defaults_cli_required_session_fields ... ok
[INFO] [stdout] test opencode_read_captures_version_into_origin_cli_version ... ok
[INFO] [stdout] test codex_to_opencode_preserves_native_shaped_openai_item_ids ... ok
[INFO] [stdout] test pi_model_change_entry_sets_session_model ... ok
[INFO] [stdout] test pi_same_provider_roundtrip_is_bit_identical ... ok
[INFO] [stdout] test pi_session_info_title_overrides_first_user_fallback ... ok
[INFO] [stdout] test pi_text_content_extracted ... ok
[INFO] [stdout] test opencode_writer_emits_cli_compatible_message_data ... ok
[INFO] [stdout] test opencode_v2_tool_result_prefers_content_over_empty_structured ... ok
[INFO] [stdout] test opencode_v2_user_files_are_semantic_file_blocks ... ok
[INFO] [stdout] test opencode_v2_session_messages_parse_without_legacy_rows ... ok
[INFO] [stdout] test opencode_writer_omits_empty_assistant_text_metadata ... ok
[INFO] [stdout] test opencode_agent_column_survives_roundtrip ... ok
[INFO] [stdout] test opencode_session_message_events_survive_roundtrip ... ok
[INFO] [stdout] test opencode_writer_fuses_tool_results_into_replayable_tool_part ... ok
[INFO] [stdout] test opencode_writer_preserves_encrypted_reasoning_metadata ... ok
[INFO] [stdout] test opencode_file_parts_use_native_url_shape_for_images ... ok
[INFO] [stdout] test opencode_session_row_extended_fields_survive_roundtrip ... ok
[INFO] [stdout] test opencode_roundtrip_preserves_message_text ... ok
[INFO] [stdout] test opencode_native_step_parts_are_not_duplicated_on_write ... ok
[INFO] [stdout] test opencode_legacy_control_parts_keep_native_shape_on_write ... ok
[INFO] [stderr]      Running tests/session.rs (/opt/rustwide/target/debug/deps/session-d87a5b3e957dc92a)
[INFO] [stdout] test opencode_all_v2_session_message_types_are_represented ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test live_clone_rewrites_cwd_inside_file ... ignored
[INFO] [stdout] test live_list_all_finds_sessions ... ignored
[INFO] [stdout] test live_search_smoke ... ignored
[INFO] [stdout] test search_snippet_centers_around_match ... ok
[INFO] [stdout] test render_full_does_not_truncate ... ok
[INFO] [stdout] test render_summary_includes_messages_and_meta ... ok
[INFO] [stdout] test render_summary_truncates_long_blocks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cokacmux
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 30) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5", kill_on_drop: false }`
[INFO] [stdout] 9e139ea9d28386bd44bd153c05b5246189b0bc62974457996888060f04fd66f5
