[INFO] cloning repository https://github.com/laird/agents-ui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/laird/agents-ui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaird%2Fagents-ui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaird%2Fagents-ui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 231088c21f89435b5232865d25cee2f1550928a9
[INFO] testing laird/agents-ui against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaird%2Fagents-ui" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/laird/agents-ui
[INFO] finished tweaking git repo https://github.com/laird/agents-ui
[INFO] tweaked toml for git repo https://github.com/laird/agents-ui written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/laird/agents-ui on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/laird/agents-ui already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9965654c9c52f86dddf426a58ef719364a0dd16103faab698d33aeffe68e8b81
[INFO] running `Command { std: "docker" "start" "-a" "9965654c9c52f86dddf426a58ef719364a0dd16103faab698d33aeffe68e8b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9965654c9c52f86dddf426a58ef719364a0dd16103faab698d33aeffe68e8b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9965654c9c52f86dddf426a58ef719364a0dd16103faab698d33aeffe68e8b81", kill_on_drop: false }`
[INFO] [stdout] 9965654c9c52f86dddf426a58ef719364a0dd16103faab698d33aeffe68e8b81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5d0f0380f1511b62d6389860611c852111be45faa71c5108d47ff7d84d7a758
[INFO] running `Command { std: "docker" "start" "-a" "d5d0f0380f1511b62d6389860611c852111be45faa71c5108d47ff7d84d7a758", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ansi-to-tui v8.0.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling agents-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::project_management::ProjectManagementClient`
[INFO] [stdout]  --> src/github.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::project_management::ProjectManagementClient;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::text_input::TextInput`
[INFO] [stdout]  --> src/ui/agent_view.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::text_input::TextInput;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `patch`
[INFO] [stdout]  --> src/web/server.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     routing::{delete, get, patch, post},
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/app.rs:3121:21
[INFO] [stdout]      |
[INFO] [stdout] 2841 |                     KeyCode::Char('/') => {
[INFO] [stdout]      |                     ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3121 |                     KeyCode::Char('/') => {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]     --> src/app.rs:4572:13
[INFO] [stdout]      |
[INFO] [stdout] 4572 |         let output = if let Some(swarm) = self.swarms.get(swarm_idx) {
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `codex_agent_needs_relaunch`, `restart_codex_supervisor`, and `restart_agent_runtime` are never used
[INFO] [stdout]    --> src/adapter/claude.rs:804:14
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl ClaudeAdapter {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 804 |     async fn codex_agent_needs_relaunch(&self, agent: &AgentInfo, pane_content: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 825 |     async fn restart_codex_supervisor(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     async fn restart_agent_runtime(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_ansi_simple` is never used
[INFO] [stdout]     --> src/adapter/claude.rs:1880:4
[INFO] [stdout]      |
[INFO] [stdout] 1880 | fn strip_ansi_simple(s: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pane_runtime_hint` is never used
[INFO] [stdout]     --> src/adapter/claude.rs:1897:4
[INFO] [stdout]      |
[INFO] [stdout] 1897 | fn pane_runtime_hint(content: &str) -> Option<AgentType> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pane_has_runtime_mismatch` is never used
[INFO] [stdout]     --> src/adapter/claude.rs:1916:4
[INFO] [stdout]      |
[INFO] [stdout] 1916 | fn pane_has_runtime_mismatch(expected: &AgentType, content: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dispatch_issue_from_list` is never used
[INFO] [stdout]     --> src/app.rs:4351:14
[INFO] [stdout]      |
[INFO] [stdout]  492 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4351 |     async fn dispatch_issue_from_list(&mut self, swarm_idx: usize) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_issues` is never used
[INFO] [stdout]    --> src/model/issue.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub async fn fetch_issues(repo_path: &Path) -> anyhow::Result<Vec<GitHubIssue>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_open_issues` is never used
[INFO] [stdout]   --> src/project_management.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl ProjectManagementClient {
[INFO] [stdout]    | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn list_open_issues(&self, json_fields: &str, limit: usize) -> ProjectCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render`, `next`, `previous`, and `selected` are never used
[INFO] [stdout]    --> src/ui/issue_list.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl IssueListView {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn render(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn next(&mut self, len: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn previous(&mut self, len: usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn selected(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hostname_right_span_with` is never used
[INFO] [stdout]    --> src/ui/theme.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn hostname_right_span_with(hn: &str, left_len: usize, width: usize) -> ratatui::text::Span<'static> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.21s
[INFO] running `Command { std: "docker" "inspect" "d5d0f0380f1511b62d6389860611c852111be45faa71c5108d47ff7d84d7a758", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5d0f0380f1511b62d6389860611c852111be45faa71c5108d47ff7d84d7a758", kill_on_drop: false }`
[INFO] [stdout] d5d0f0380f1511b62d6389860611c852111be45faa71c5108d47ff7d84d7a758
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9883117beb20d926b88b3a31ee60a2b3d428a5cefafba12f26d3846cd2192ceb
[INFO] running `Command { std: "docker" "start" "-a" "9883117beb20d926b88b3a31ee60a2b3d428a5cefafba12f26d3846cd2192ceb", kill_on_drop: false }`
[INFO] [stderr]    Compiling agents-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::project_management::ProjectManagementClient`
[INFO] [stdout]  --> src/github.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::project_management::ProjectManagementClient;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::text_input::TextInput`
[INFO] [stdout]  --> src/ui/agent_view.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::text_input::TextInput;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `patch`
[INFO] [stdout]  --> src/web/server.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     routing::{delete, get, patch, post},
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/app.rs:3121:21
[INFO] [stdout]      |
[INFO] [stdout] 2841 |                     KeyCode::Char('/') => {
[INFO] [stdout]      |                     ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 3121 |                     KeyCode::Char('/') => {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]     --> src/app.rs:4572:13
[INFO] [stdout]      |
[INFO] [stdout] 4572 |         let output = if let Some(swarm) = self.swarms.get(swarm_idx) {
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `codex_agent_needs_relaunch`, `restart_codex_supervisor`, and `restart_agent_runtime` are never used
[INFO] [stdout]    --> src/adapter/claude.rs:804:14
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl ClaudeAdapter {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 804 |     async fn codex_agent_needs_relaunch(&self, agent: &AgentInfo, pane_content: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 825 |     async fn restart_codex_supervisor(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     async fn restart_agent_runtime(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codex_monitor_once_prompt` is never used
[INFO] [stdout]     --> src/adapter/claude.rs:1863:4
[INFO] [stdout]      |
[INFO] [stdout] 1863 | fn codex_monitor_once_prompt() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dispatch_issue_from_list` is never used
[INFO] [stdout]     --> src/app.rs:4351:14
[INFO] [stdout]      |
[INFO] [stdout]  492 | impl App {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4351 |     async fn dispatch_issue_from_list(&mut self, swarm_idx: usize) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_issues` is never used
[INFO] [stdout]    --> src/model/issue.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub async fn fetch_issues(repo_path: &Path) -> anyhow::Result<Vec<GitHubIssue>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render` is never used
[INFO] [stdout]   --> src/ui/issue_list.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl IssueListView {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn render(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.65s
[INFO] running `Command { std: "docker" "inspect" "9883117beb20d926b88b3a31ee60a2b3d428a5cefafba12f26d3846cd2192ceb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9883117beb20d926b88b3a31ee60a2b3d428a5cefafba12f26d3846cd2192ceb", kill_on_drop: false }`
[INFO] [stdout] 9883117beb20d926b88b3a31ee60a2b3d428a5cefafba12f26d3846cd2192ceb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 35266786585c211a233ef0886acdb64a560cf422d23ab0f485163209b6daa85a
[INFO] running `Command { std: "docker" "start" "-a" "35266786585c211a233ef0886acdb64a560cf422d23ab0f485163209b6daa85a", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::project_management::ProjectManagementClient`
[INFO] [stderr]  --> src/github.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::project_management::ProjectManagementClient;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::text_input::TextInput`
[INFO] [stderr]  --> src/ui/agent_view.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::text_input::TextInput;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `patch`
[INFO] [stderr]  --> src/web/server.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 |     routing::{delete, get, patch, post},
[INFO] [stderr]   |                            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/app.rs:3121:21
[INFO] [stderr]      |
[INFO] [stderr] 2841 |                     KeyCode::Char('/') => {
[INFO] [stderr]      |                     ------------------ matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 3121 |                     KeyCode::Char('/') => {
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]     --> src/app.rs:4572:13
[INFO] [stderr]      |
[INFO] [stderr] 4572 |         let output = if let Some(swarm) = self.swarms.get(swarm_idx) {
[INFO] [stderr]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `codex_agent_needs_relaunch`, `restart_codex_supervisor`, and `restart_agent_runtime` are never used
[INFO] [stderr]    --> src/adapter/claude.rs:804:14
[INFO] [stderr]     |
[INFO] [stderr]  19 | impl ClaudeAdapter {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 804 |     async fn codex_agent_needs_relaunch(&self, agent: &AgentInfo, pane_content: &str) -> bool {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 825 |     async fn restart_codex_supervisor(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 834 |     async fn restart_agent_runtime(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `codex_monitor_once_prompt` is never used
[INFO] [stderr]     --> src/adapter/claude.rs:1863:4
[INFO] [stderr]      |
[INFO] [stderr] 1863 | fn codex_monitor_once_prompt() -> String {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `dispatch_issue_from_list` is never used
[INFO] [stderr]     --> src/app.rs:4351:14
[INFO] [stderr]      |
[INFO] [stderr]  492 | impl App {
[INFO] [stderr]      | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 4351 |     async fn dispatch_issue_from_list(&mut self, swarm_idx: usize) {
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fetch_issues` is never used
[INFO] [stderr]    --> src/model/issue.rs:312:14
[INFO] [stderr]     |
[INFO] [stderr] 312 | pub async fn fetch_issues(repo_path: &Path) -> anyhow::Result<Vec<GitHubIssue>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `render` is never used
[INFO] [stderr]   --> src/ui/issue_list.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl IssueListView {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn render(
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `agents-tui` (bin "agents-tui" test) generated 10 warnings (run `cargo fix --bin "agents-tui" -p agents-tui --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agents_tui-267a5e5d9074ab1e)
[INFO] [stdout] 
[INFO] [stdout] running 492 tests
[INFO] [stdout] test adapter::claude::tests::branch_issue_number_is_extracted ... ok
[INFO] [stdout] test adapter::claude::tests::agent_busy_detected ... ok
[INFO] [stdout] test adapter::claude::tests::agent_idle_detected ... ok
[INFO] [stdout] test adapter::claude::tests::detects_bash_prompt ... ok
[INFO] [stdout] test adapter::claude::tests::detects_feedback_prompt_full ... ok
[INFO] [stdout] test adapter::claude::tests::detects_feedback_prompt_partial ... ok
[INFO] [stdout] test adapter::claude::tests::branch_without_issue_number_is_ignored ... ok
[INFO] [stdout] test adapter::claude::tests::detects_runtime_hints_from_pane_content ... ok
[INFO] [stdout] test adapter::claude::tests::detects_runtime_mismatch_for_expected_runtime ... ok
[INFO] [stdout] test adapter::claude::tests::detects_zsh_prompt ... ok
[INFO] [stdout] test adapter::claude::tests::empty_not_bare_shell ... ok
[INFO] [stdout] test adapter::claude::tests::empty_pane_is_unknown ... ok
[INFO] [stdout] test adapter::claude::tests::generic_worker_ongoing_uses_fix_not_loop ... ok
[INFO] [stdout] test adapter::claude::tests::no_false_positive_feedback ... ok
[INFO] [stdout] test adapter::claude::tests::normal_output_not_bare_shell ... ok
[INFO] [stdout] test adapter::claude::tests::queued_command_at_prompt_is_busy ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_bootstrap_worker_no_issue_returns_fix_loop ... ok
[INFO] [stdout] test adapter::claude::tests::shell_prompt_needs_launch ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_bootstrap_manager_returns_monitor_loop ... ok
[INFO] [stdout] test adapter::claude::tests::not_bare_shell_with_claude_indicators ... ok
[INFO] [stdout] test adapter::claude::tests::worker_dispatch_matches_issue ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_ongoing_manager_returns_monitor_workers ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_launch_command_returns_expected_invocation ... ok
[INFO] [stdout] test adapter::claude::tests::unknown_content_returns_unknown ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_bootstrap_worker_with_issue_returns_fix_issue ... ok
[INFO] [stdout] test adapter::claude::tests::session_name_helpers_cover_runtime_scoping ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_ongoing_worker_no_issue_returns_fix ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_ongoing_worker_with_issue_returns_fix_issue ... ok
[INFO] [stdout] test adapter::claude::tests::teardown_targets_shutdown_manager_before_workers ... ok
[INFO] [stdout] test adapter::supervisor::tests::claude_start_manager_loop_uses_bootstrap_not_wrapper ... ok
[INFO] [stdout] test adapter::claude::tests::generic_worker_bootstrap_uses_fix_loop ... ok
[INFO] [stdout] test adapter::supervisor::tests::codex_bootstrap_manager_returns_monitor_command ... ok
[INFO] [stdout] test adapter::claude::tests::manager_ongoing_uses_monitor_not_loop ... ok
[INFO] [stdout] test adapter::supervisor::tests::droid_bootstrap_worker_no_issue_returns_fix_loop ... ok
[INFO] [stdout] test adapter::supervisor::tests::droid_ongoing_worker_with_issue ... ok
[INFO] [stdout] test adapter::supervisor::tests::gemini_ongoing_manager_returns_monitor_workers ... ok
[INFO] [stdout] test adapter::supervisor::tests::codex_bootstrap_worker_with_issue_contains_issue_number ... ok
[INFO] [stdout] test adapter::supervisor::tests::shell_quote_empty_string ... ok
[INFO] [stdout] test adapter::supervisor::tests::shell_quote_simple_string ... ok
[INFO] [stdout] test app::tests::codex_runtime_gate_requires_skill_with_repo_wrappers ... ok
[INFO] [stdout] test app::tests::extract_error_message_bare_prefix ... ok
[INFO] [stdout] test app::tests::collect_recent_log_error_candidates_dedupes_and_counts ... ok
[INFO] [stdout] test adapter::supervisor::tests::gemini_bootstrap_manager_returns_monitor_loop ... ok
[INFO] [stdout] test adapter::supervisor::tests::gemini_bootstrap_worker_with_issue ... ok
[INFO] [stdout] test adapter::supervisor::tests::shell_quote_escapes_single_quotes ... ok
[INFO] [stdout] test app::tests::extract_error_message_with_prefix_context ... ok
[INFO] [stdout] test app::tests::extract_error_message_no_error_returns_none ... ok
[INFO] [stdout] test app::tests::extract_error_message_trims_whitespace ... ok
[INFO] [stdout] test app::tests::gh_issue_command_mutates_only_for_write_actions ... ok
[INFO] [stdout] test app::tests::extract_issue_from_text_handles_punctuation_and_bounds ... ok
[INFO] [stdout] test app::tests::key_event_to_tmux_maps_control_and_special_keys ... ok
[INFO] [stdout] test app::tests::infer_status_from_pane_detects_issue_and_idle_prompt ... ok
[INFO] [stdout] test app::tests::infer_status_from_pane_detects_fix_loop_idle_markers ... ok
[INFO] [stdout] test app::tests::lcp_common_prefix ... ok
[INFO] [stdout] test app::tests::lcp_empty_input ... ok
[INFO] [stdout] test app::tests::lcp_identical_strings ... ok
[INFO] [stdout] test app::tests::lcp_different_lengths ... ok
[INFO] [stdout] test app::tests::lcp_no_common_prefix ... ok
[INFO] [stdout] test app::tests::lcp_single_string ... ok
[INFO] [stdout] test app::tests::lcp_one_empty_string ... ok
[INFO] [stdout] test app::tests::log_error_fingerprint_different_inputs_differ ... ok
[INFO] [stdout] test app::tests::log_error_fingerprint_is_16_hex_chars ... ok
[INFO] [stdout] test app::tests::merge_agent_status_allows_issue_fill_from_pane_with_status_file ... ok
[INFO] [stdout] test app::tests::merge_agent_status_allows_shell_override_for_stale_working_status_file ... ok
[INFO] [stdout] test app::tests::log_error_fingerprint_is_deterministic ... ok
[INFO] [stdout] test app::tests::merge_agent_status_allows_idle_override_for_stale_working_status_file ... ok
[INFO] [stdout] test app::tests::normalize_whitespace_collapses_mixed_whitespace ... ok
[INFO] [stdout] test app::tests::merge_agent_status_prefers_status_file_for_idle_worker ... ok
[INFO] [stdout] test app::tests::normalize_whitespace_collapses_spaces ... ok
[INFO] [stdout] test app::tests::merge_agent_status_preserves_issue_without_status_file ... ok
[INFO] [stdout] test app::tests::installer_candidates_cover_repo_relative_and_agents_dir_locations ... ok
[INFO] [stdout] test app::tests::enter_agent_view_clears_overlays ... ok
[INFO] [stdout] test app::tests::normalize_whitespace_empty_stays_empty ... ok
[INFO] [stdout] test app::tests::normalize_whitespace_trims_leading_trailing ... ok
[INFO] [stdout] test app::tests::parse_direct_gh_command_handles_unclosed_quotes_without_crashing ... ok
[INFO] [stdout] test app::tests::parse_direct_gh_command_extracts_repo_scoped_args ... ok
[INFO] [stdout] test app::tests::parse_direct_gh_command_ignores_non_gh_commands ... ok
[INFO] [stdout] test app::tests::parse_direct_gh_command_preserves_quoted_arguments ... ok
[INFO] [stdout] test app::tests::report_log_errors_command_matches_primary_and_alias ... ok
[INFO] [stdout] test app::tests::runtime_navigation_cycles_through_supported_runtimes ... ok
[INFO] [stdout] test app::tests::truncate_chars_handles_unicode ... ok
[INFO] [stdout] test app::tests::question_mark_does_not_open_shortcuts_viewer_in_agent_view ... ok
[INFO] [stdout] test app::tests::s_key_does_not_open_switch_agent_when_manager_focused ... ok
[INFO] [stdout] test app::tests::truncate_chars_exact_length_unchanged ... ok
[INFO] [stdout] test app::tests::truncate_chars_short_string_unchanged ... ok
[INFO] [stdout] test config::keybindings::tests::default_bindings_cover_all_actions ... ok
[INFO] [stdout] test app::tests::s_key_opens_switch_agent_when_workers_focused ... ok
[INFO] [stdout] test app::tests::truncate_chars_over_limit_gets_ellipsis ... ok
[INFO] [stdout] test config::keybindings::tests::display_returns_correct_strings ... ok
[INFO] [stdout] test config::keybindings::tests::help_entries_contains_all_actions ... ok
[INFO] [stdout] test config::keybindings::tests::keybind_ctrl_has_ctrl_modifier ... ok
[INFO] [stdout] test adapter::claude::tests::launches_manager_and_worker_loops_for_all_runtimes ... ok
[INFO] [stdout] test app::tests::selected_agent_type_for_new_swarm_uses_dialog_choice_for_all_runtimes ... ok
[INFO] [stdout] test config::keybindings::tests::display_returns_unbound_for_missing_action ... ok
[INFO] [stdout] test config::keybindings::tests::keybind_display_formats_correctly ... ok
[INFO] [stdout] test config::keybindings::tests::keybind_display_no_modifiers_is_just_key ... ok
[INFO] [stdout] test config::keybindings::tests::keybind_new_has_no_modifiers ... ok
[INFO] [stdout] test config::persistence::tests::list_saved_swarms_empty_when_dir_missing ... ok
[INFO] [stdout] test config::keybindings::tests::keybind_display_multiple_modifiers_ordered ... ok
[INFO] [stdout] test config::persistence::tests::load_swarm_state_returns_none_for_missing_project ... ok
[INFO] [stdout] test config::persistence::tests::find_repo_root_from_file_path ... ok
[INFO] [stdout] test app::tests::codex_user_assets_require_skill_and_binary ... ok
[INFO] [stdout] test config::persistence::tests::list_saved_swarms_returns_saved_names ... ok
[INFO] [stdout] test config::persistence::tests::find_repo_root_returns_none_when_no_git_dir ... ok
[INFO] [stdout] test config::persistence::tests::finds_repo_root_from_nested_path ... ok
[INFO] [stdout] test config::keybindings::tests::toml_round_trip ... ok
[INFO] [stdout] test config::persistence::tests::save_and_load_swarm_state_round_trips ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_no_variables_returns_unchanged ... ok
[INFO] [stdout] test config::shortcuts::tests::defaults_has_expected_shortcuts ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_none_issue_leaves_placeholder ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_substitutes_all_variables ... ok
[INFO] [stdout] test config::shortcuts::tests::defaults_parses_successfully ... ok
[INFO] [stdout] test config::persistence::tests::stopped_tombstone_round_trip ... ok
[INFO] [stdout] test config::persistence::tests::saves_and_loads_repo_agent_type ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_substitutes_project ... ok
[INFO] [stdout] test app::tests::codex_repo_assets_require_both_core_wrappers ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_substitutes_issue ... ok
[INFO] [stdout] test github::tests::classifies_repo_not_found ... ok
[INFO] [stdout] test config::shortcuts::tests::ensure_defaults_written_creates_file ... ok
[INFO] [stdout] test config::shortcuts::tests::expand_command_substitutes_worker ... ok
[INFO] [stdout] test github::tests::classifies_auth_errors ... ok
[INFO] [stdout] test config::shortcuts::tests::for_panel_returns_correct_section ... ok
[INFO] [stdout] test github::tests::parses_missing_updated_at_as_none ... ok
[INFO] [stdout] test github::tests::classifies_transient_errors ... ok
[INFO] [stdout] test config::shortcuts::tests::toml_round_trip ... ok
[INFO] [stdout] test model::issue::tests::filter_cycle ... ok
[INFO] [stdout] test github::tests::parses_updated_at_from_gh_json ... ok
[INFO] [stdout] test model::issue::tests::filter_matching ... ok
[INFO] [stdout] test github::tests::parses_gh_issue_json_into_issue_models ... ok
[INFO] [stdout] test github::tests::extracts_repo_owner_from_supported_remote_urls ... ok
[INFO] [stdout] test model::issue::tests::is_being_worked ... ok
[INFO] [stdout] test model::issue::tests::filter_working_matches_only_working_issues ... ok
[INFO] [stdout] test model::issue::tests::is_blocked_with_blocking_label ... ok
[INFO] [stdout] test model::issue::tests::is_not_blocked_without_blocking_label ... ok
[INFO] [stdout] test model::issue::tests::issue_cache_filtered_by_priority ... ok
[INFO] [stdout] test model::issue::tests::issue_filter_label_covers_all_variants ... ok
[INFO] [stdout] test model::issue::tests::priority_counts_work ... ok
[INFO] [stdout] test model::issue::tests::labels_to_type_maps_correctly ... ok
[INFO] [stdout] test model::issue::tests::priority_label_returns_correct_strings ... ok
[INFO] [stdout] test model::issue::tests::priority_extraction ... ok
[INFO] [stdout] test model::issue::tests::recently_updated_does_not_change_type_char ... ok
[INFO] [stdout] test model::issue::tests::recently_updated_older_than_24h_returns_false ... ok
[INFO] [stdout] test model::issue::tests::recently_updated_none_returns_false ... ok
[INFO] [stdout] test model::issue::tests::priority_num_returns_correct_values ... ok
[INFO] [stdout] test model::issue::tests::recently_updated_within_24h_returns_true ... ok
[INFO] [stdout] test model::issue::tests::status_label_display ... ok
[INFO] [stdout] test model::issue::tests::type_char_returns_correct_indicator ... ok
[INFO] [stdout] test model::status::tests::agent_status_default ... ok
[INFO] [stdout] test model::issue::tests::type_char_variants ... ok
[INFO] [stdout] test model::status::tests::classify_pane_activity_detects_shell_idle_and_busy ... ok
[INFO] [stdout] test model::status::tests::agent_state_display ... ok
[INFO] [stdout] test model::status::tests::elapsed_display_none_returns_empty ... ok
[INFO] [stdout] test model::status::tests::extract_issue_none ... ok
[INFO] [stdout] test model::status::tests::extract_issue_word_format ... ok
[INFO] [stdout] test model::status::tests::is_stale_returns_false_when_no_timestamp ... ok
[INFO] [stdout] test model::status::tests::parse_state_completed ... ok
[INFO] [stdout] test model::status::tests::parse_state_fixing ... ok
[INFO] [stdout] test model::status::tests::parse_state_idle ... ok
[INFO] [stdout] test model::status::tests::elapsed_display_hours ... ok
[INFO] [stdout] test model::status::tests::elapsed_display_seconds ... ok
[INFO] [stdout] test model::status::tests::elapsed_display_minutes ... ok
[INFO] [stdout] test model::status::tests::is_stale_returns_false_when_timestamp_is_recent ... ok
[INFO] [stdout] test model::status::tests::is_stale_returns_true_when_timestamp_is_old ... ok
[INFO] [stdout] test model::status::tests::extract_issue_hash_format ... ok
[INFO] [stdout] test model::status::tests::parse_state_starting ... ok
[INFO] [stdout] test model::status::tests::parse_state_stopped ... ok
[INFO] [stdout] test model::status::tests::parse_state_unknown ... ok
[INFO] [stdout] test model::status::tests::parse_state_working_no_issue ... ok
[INFO] [stdout] test model::status::tests::parse_state_working_with_issue ... ok
[INFO] [stdout] test model::status::tests::parse_status_line_bad_timestamp ... ok
[INFO] [stdout] test model::status::tests::droid_wrapper_idle_with_fresh_status_is_healthy ... ok
[INFO] [stdout] test model::status::tests::parse_status_line_empty ... ok
[INFO] [stdout] test model::status::tests::parse_status_line_without_timestamp ... ok
[INFO] [stdout] test model::status::tests::parse_status_line_with_timestamp ... ok
[INFO] [stdout] test model::status::tests::reads_last_line_from_status_file ... ok
[INFO] [stdout] test model::status::tests::reads_json_status_files_from_tmp ... ok
[INFO] [stdout] test model::status::tests::parses_working_issue_and_timestamp ... ok
[INFO] [stdout] test model::swarm::tests::agent_type_display ... ok
[INFO] [stdout] test model::swarm::tests::agent_type_script_flag ... ok
[INFO] [stdout] test model::status::tests::wrapper_worker_stale_status_is_dead_when_not_busy ... ok
[INFO] [stdout] test model::status::tests::parses_idle_completed_and_unknown_states ... ok
[INFO] [stdout] test model::status::tests::wrapper_worker_missing_status_is_dead_when_not_busy ... ok
[INFO] [stdout] test model::swarm::tests::agent_type_session_prefix ... ok
[INFO] [stdout] test model::swarm::tests::attention_count_zero_when_issue_cache_empty ... ok
[INFO] [stdout] test model::swarm::tests::claude_and_gemini_keep_inline_launch_commands ... ok
[INFO] [stdout] test model::swarm::tests::codex_and_droid_launch_interactive_sessions ... ok
[INFO] [stdout] test model::swarm::tests::detect_waiting_returns_false_for_normal_output ... ok
[INFO] [stdout] test model::swarm::tests::attention_count_zero_when_no_blocked_issues ... ok
[INFO] [stdout] test model::swarm::tests::attention_count_returns_blocked_issue_count ... ok
[INFO] [stdout] test model::swarm::tests::detect_waiting_recognizes_input_prompt ... ok
[INFO] [stdout] test model::swarm::tests::all_agents_includes_manager_and_workers ... ok
[INFO] [stdout] test model::swarm::tests::idle_count_counts_idle_agents ... ok
[INFO] [stdout] test model::swarm::tests::loop_wrappers_match_runtime_requirements ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_empty_pane ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_idle_agent ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_interrupted ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_permission_denied ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_permission_prompt ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_do_you_want ... ok
[INFO] [stdout] test model::swarm::tests::needs_attention_working_agent ... ok
[INFO] [stdout] test model::swarm::tests::next_waiting_agent_cycles_past_current_and_wraps ... ok
[INFO] [stdout] test model::swarm::tests::next_waiting_agent_finds_first_when_none_specified ... ok
[INFO] [stdout] test model::swarm::tests::swarm_agent_lookup_missing ... ok
[INFO] [stdout] test model::swarm::tests::status_directories_match_runtime_storage ... ok
[INFO] [stdout] test model::swarm::tests::swarm_agent_lookup_worker ... ok
[INFO] [stdout] test model::swarm::tests::swarm_agent_lookup_manager ... ok
[INFO] [stdout] test model::swarm::tests::swarm_busy_count ... ok
[INFO] [stdout] test model::swarm::tests::swarm_agent_mut_worker ... ok
[INFO] [stdout] test model::swarm::tests::swarm_all_agents ... ok
[INFO] [stdout] test model::swarm::tests::swarm_all_agent_count ... ok
[INFO] [stdout] test model::swarm::tests::waiting_count_counts_waiting_agents ... ok
[INFO] [stdout] test model::swarm::tests::waiting_count_zero_when_none_waiting ... ok
[INFO] [stdout] test model::swarm::tests::swarm_busy_count_none_busy ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_allow_prompt ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_bypass_permissions_prompt ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_interrupted_state ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_allow_this_action ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_interrupted_with_prompt_indicator ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_shift_tab_bypass_line ... ok
[INFO] [stdout] test model::swarm::tests::waiting_detected_for_yn_brackets ... ok
[INFO] [stdout] test model::swarm::tests::waiting_not_detected_for_empty_string ... ok
[INFO] [stdout] test model::swarm::tests::waiting_not_detected_for_normal_output ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_dead_takes_priority_over_stalled ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_restarting_takes_priority_over_stalled ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_default_is_healthy ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_stall_ticks_triggers_stalled ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_pane_dead_triggers_restarting ... ok
[INFO] [stdout] test model::swarm::tests::worker_health_restart_cap_triggers_dead ... ok
[INFO] [stdout] test project_management::tests::github_comment_issue_matches_existing_flags ... ok
[INFO] [stdout] test model::swarm::tests::workflow_display ... ok
[INFO] [stdout] test project_management::tests::github_create_issue_matches_existing_flags ... ok
[INFO] [stdout] test project_management::tests::github_list_open_issues_matches_existing_command_shape ... ok
[INFO] [stdout] test project_management::tests::github_remove_label_produces_correct_args ... ok
[INFO] [stdout] test project_management::tests::github_view_issue_json_adds_json_flag_and_fields ... ok
[INFO] [stdout] test project_management::tests::github_view_issue_produces_correct_args ... ok
[INFO] [stdout] test project_management::tests::github_view_issue_web_adds_web_flag ... ok
[INFO] [stdout] test project_management::tests::jira_support_accepts_backend_specific_field_mapping ... ok
[INFO] [stdout] test project_management::tests::linear_support_uses_linear_cli_program ... ok
[INFO] [stdout] test model::swarm::tests::worker_loop_commands_match_runtime_model ... ok
[INFO] [stdout] test project_management::tests::manager_create_issue_prompt_formats_github_command ... ok
[INFO] [stdout] test runtime::tests::gemini_asset_candidates_use_repo_sibling_agents_repo ... ok
[INFO] [stdout] test project_management::tests::linear_view_issue_with_auth_profile_appends_profile_args ... ok
[INFO] [stdout] test scripts::launcher::tests::codex_supports_goals_returns_bool_without_panic ... ok
[INFO] [stdout] test scripts::launcher::tests::find_script_returns_none_when_not_found ... ok
[INFO] [stdout] test runtime::tests::claude_has_no_live_probe_yet ... ok
[INFO] [stdout] test runtime::tests::droid_uses_exec_probe ... ok
[INFO] [stdout] test project_management::tests::linear_view_issue_uses_linear_program ... ok
[INFO] [stdout] test runtime::tests::detects_runtime_quota_alerts ... ok
[INFO] [stdout] test project_management::tests::manager_create_issue_prompt_formats_linear_command ... ok
[INFO] [stdout] test runtime::tests::detects_runtime_auth_alerts ... ok
[INFO] [stdout] test scripts::launcher::tests::find_script_returns_path_when_found ... ok
[INFO] [stdout] test runtime::tests::codex_uses_live_probe_commands ... ok
[INFO] [stdout] test scripts::launcher::tests::parse_goals_line_detects_true ... ok
[INFO] [stdout] test scripts::launcher::tests::parse_goals_line_does_not_match_substrings ... ok
[INFO] [stdout] test scripts::launcher::tests::parse_goals_line_returns_false_for_missing ... ok
[INFO] [stdout] test scripts::launcher::tests::parse_goals_line_detects_false ... ok
[INFO] [stdout] test tests::defaults_to_none ... ok
[INFO] [stdout] test scripts::launcher::tests::resolve_agents_dir_returns_path ... ok
[INFO] [stdout] test scripts::launcher::tests::script_search_paths_includes_home_subdirs ... ok
[INFO] [stdout] test scripts::launcher::tests::resolve_agents_dir_env_override_used_when_exists ... ok
[INFO] [stdout] test scripts::launcher::tests::probe_goals_reads_cached_file_when_present ... ok
[INFO] [stdout] test tests::picks_claude_when_flag_present ... ok
[INFO] [stdout] test tests::parses_server_flag_variants ... ok
[INFO] [stdout] test tests::no_web_flags_gives_none_port ... ok
[INFO] [stdout] test tests::picks_codex_when_flag_present ... ok
[INFO] [stdout] test tests::picks_droid_when_flag_present ... ok
[INFO] [stdout] test tests::picks_gemini_when_flag_present ... ok
[INFO] [stdout] test tests::cli_runtime_overrides_saved_repo_runtime ... ok
[INFO] [stdout] test tests::web_flag_sets_default_port ... ok
[INFO] [stdout] test tests::web_port_flag_equals_separated ... ok
[INFO] [stdout] test tests::web_port_flag_space_separated ... ok
[INFO] [stdout] test tmux::session::tests::parses_windows_and_panes_from_tmux_output ... ok
[INFO] [stdout] test transport::tests::builds_remote_command_with_cwd ... ok
[INFO] [stdout] test tmux::session::tests::ignores_malformed_tmux_lines ... ok
[INFO] [stdout] test transport::tests::detects_remote_transport ... ok
[INFO] [stdout] test ui::agent_view::tests::new_sets_defaults ... ok
[INFO] [stdout] test ui::agent_view::tests::page_down_uses_visible_height ... ok
[INFO] [stdout] test ui::agent_view::tests::page_up_uses_visible_height ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_up_decrements_offset ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_up_disables_following ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_down_increments_offset ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_down_saturates_at_max ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_to_bottom_enables_following ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_to_top_resets_and_disables_following ... ok
[INFO] [stdout] test ui::agent_view::tests::scroll_up_saturates_at_zero ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::all_contains_bug_enhancement_feature_request ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::all_includes_every_variant ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::feedback_state_new_sets_defaults ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::feedback_type_github_label_maps_feature_request_to_enhancement ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::feedback_type_all_returns_three_variants ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::github_label_covers_all_variants ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::new_input_is_empty ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::github_label_is_lowercase_slug ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::feedback_type_label_returns_human_readable_string ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::label_covers_all_variants ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::new_preserves_repo_fields ... ok
[INFO] [stdout] test ui::feedback_dialog::tests::new_sets_first_selection ... ok
[INFO] [stdout] test ui::issue_detail::tests::count_tasks_ignores_non_checkbox_lines ... ok
[INFO] [stdout] test ui::issue_detail::tests::count_tasks_mixed ... ok
[INFO] [stdout] test ui::issue_detail::tests::count_tasks_none_checked ... ok
[INFO] [stdout] test ui::issue_detail::tests::count_tasks_no_tasks ... ok
[INFO] [stdout] test ui::issue_detail::tests::empty_labels_produces_empty_string ... ok
[INFO] [stdout] test ui::issue_detail::tests::count_tasks_all_checked ... ok
[INFO] [stdout] test ui::issue_detail::tests::labels_join_formats_correctly ... ok
[INFO] [stdout] test ui::issue_detail::tests::new_empty_metadata ... ok
[INFO] [stdout] test ui::issue_detail::tests::new_sets_fields ... ok
[INFO] [stdout] test ui::issue_detail::tests::new_scroll_starts_at_zero ... ok
[INFO] [stdout] test ui::issue_detail::tests::new_stores_metadata_fields ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_bold_not_italic ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_checked_checkbox ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_blockquote ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_empty ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_heading ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_horizontal_rule ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_inline_code ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_italic_star ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_italic_underscore ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_link ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_image ... ok
[INFO] [stdout] test app::tests::gemini_assets_require_repo_workflows_or_shared_source ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_list_item ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_malformed_link_passthrough ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_plain_text ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_strikethrough ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_line_unchecked_checkbox ... ok
[INFO] [stdout] test ui::issue_detail::tests::render_markdown_lines_fenced_code_block ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_down_increments_offset ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_down_saturates_at_max ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_down_then_up_partial_stays_positive ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_roundtrip_returns_to_zero ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_up_decrements_offset ... ok
[INFO] [stdout] test ui::issue_detail::tests::scroll_up_saturates_at_zero ... ok
[INFO] [stdout] test ui::issue_detail::tests::updated_at_age_empty_when_not_provided ... ok
[INFO] [stdout] test ui::issue_detail::tests::updated_at_age_shown_when_different_from_created ... ok
[INFO] [stdout] test ui::issue_list::tests::navigation_empty_list_is_noop ... ok
[INFO] [stdout] test ui::issue_detail::tests::state_string_stored_correctly ... ok
[INFO] [stdout] test ui::issue_list::tests::navigation_previous_decrements ... ok
[INFO] [stdout] test ui::issue_detail::tests::updated_at_age_omitted_when_same_as_created ... ok
[INFO] [stdout] test ui::issue_list::tests::navigation_wraps ... ok
[INFO] [stdout] test ui::issue_list::tests::sorted_open_blocked_sink_below_lower_priority_unblocked ... ok
[INFO] [stdout] test ui::issue_list::tests::sorted_open_excludes_closed_issues ... ok
[INFO] [stdout] test ui::issue_list::tests::sorted_open_puts_blocked_last ... ok
[INFO] [stdout] test ui::issue_view::tests::new_body_is_loading ... ok
[INFO] [stdout] test ui::issue_list::tests::sorted_open_tiebreak_by_number ... ok
[INFO] [stdout] test ui::issue_view::tests::new_scroll_starts_at_zero ... ok
[INFO] [stdout] test ui::issue_view::tests::new_sets_initial_state ... ok
[INFO] [stdout] test ui::issue_view::tests::new_sets_issue_number ... ok
[INFO] [stdout] test ui::issue_view::tests::scroll_down_increments_offset ... ok
[INFO] [stdout] test ui::issue_view::tests::scroll_down_saturates_at_max ... ok
[INFO] [stdout] test ui::issue_view::tests::scroll_roundtrip_returns_to_zero ... ok
[INFO] [stdout] test ui::issue_view::tests::scroll_up_decrements_offset ... ok
[INFO] [stdout] test ui::issue_view::tests::scroll_up_saturates_at_zero ... ok
[INFO] [stdout] test ui::repo_view::tests::add_banner_prepends ... ok
[INFO] [stdout] test ui::repo_view::tests::add_banner_prepends_and_truncates_to_five ... ok
[INFO] [stdout] test ui::repo_view::tests::new_selects_first_worker_by_default ... ok
[INFO] [stdout] test ui::repo_view::tests::new_sets_initial_focus_to_workers ... ok
[INFO] [stdout] test ui::repo_view::tests::next_issue_clamps_at_max ... ok
[INFO] [stdout] test ui::repo_view::tests::next_issue_increments_up_to_len ... ok
[INFO] [stdout] test ui::repo_view::tests::next_issue_is_noop_for_empty_list ... ok
[INFO] [stdout] test ui::repo_view::tests::next_issue_noop_on_empty ... ok
[INFO] [stdout] test ui::repo_view::tests::next_issue_with_empty_list_does_nothing ... ok
[INFO] [stdout] test ui::new_swarm::tests::new_swarm_dialog_shows_input_state ... ok
[INFO] [stdout] test ui::repo_view::tests::next_worker_increments_and_wraps ... ok
[INFO] [stdout] test ui::repo_view::tests::next_worker_noop_on_empty ... ok
[INFO] [stdout] test ui::repo_view::tests::next_worker_is_noop_for_empty_list ... ok
[INFO] [stdout] test ui::repo_view::tests::next_worker_with_empty_list_does_nothing ... ok
[INFO] [stdout] test ui::help_overlay::tests::render_help_overlay_with_context_shows_issues_section ... ok
[INFO] [stdout] test ui::repo_view::tests::next_worker_wraps ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_at_top_signals_manager_focus ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_decrements_from_nonzero ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_moves_up ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_returns_true_at_zero ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_signals_focus_at_header ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_signals_focus_at_zero ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_issue_returns_true_at_header_row ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_worker_decrements_from_nonzero ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_worker_decrements_normally ... ok
[INFO] [stdout] test ui::new_swarm::tests::switch_agent_dialog_shows_project_and_runtimes ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_worker_at_zero_signals_manager_focus ... ok
[INFO] [stdout] test ui::new_swarm::tests::runtime_dialog_shows_supported_runtimes ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_worker_returns_true_for_empty_list ... ok
[INFO] [stdout] test ui::repo_view::tests::previous_worker_signals_focus_at_top ... ok
[INFO] [stdout] test ui::help_overlay::tests::render_help_overlay_smoke ... ok
[INFO] [stdout] test ui::repo_view::tests::selected_issue_idx_accounts_for_header_offset ... ok
[INFO] [stdout] test ui::repo_view::tests::selected_issue_idx_accounts_for_header_row ... ok
[INFO] [stdout] test ui::repo_view::tests::selected_issue_idx_none_at_header ... ok
[INFO] [stdout] test ui::repo_view::tests::selected_issue_idx_accounts_for_header ... ok
[INFO] [stdout] test ui::repo_view::tests::selected_issue_idx_returns_none_for_header_row ... ok
[INFO] [stdout] test ui::repo_view::tests::tick_banners_decrements_ttl ... ok
[INFO] [stdout] test ui::repo_view::tests::tick_banners_removes_after_default_ttl_expires ... ok
[INFO] [stdout] test ui::repo_view::tests::tick_banners_removes_expired ... ok
[INFO] [stdout] test ui::repos_list::tests::new_starts_selected_at_zero ... ok
[INFO] [stdout] test ui::repos_list::tests::next_increments_selection ... ok
[INFO] [stdout] test ui::repos_list::tests::next_with_empty_list_does_not_panic ... ok
[INFO] [stdout] test ui::repos_list::tests::next_wraps_at_end ... ok
[INFO] [stdout] test ui::repos_list::tests::previous_decrements_selection ... ok
[INFO] [stdout] test ui::repos_list::tests::previous_with_empty_list_does_not_panic ... ok
[INFO] [stdout] test ui::repos_list::tests::previous_wraps_to_last ... ok
[INFO] [stdout] test ui::swarm_view::tests::apply_filters_sorts_by_priority_then_number ... ok
[INFO] [stdout] test ui::swarm_view::tests::count_attention_combines_blocked_and_waiting ... ok
[INFO] [stdout] test ui::swarm_view::tests::count_attention_includes_blocked_issues ... ok
[INFO] [stdout] test ui::swarm_view::tests::count_attention_counts_waiting_agents_and_blocked_issues ... ok
[INFO] [stdout] test ui::swarm_view::tests::count_attention_zero_when_all_idle ... ok
[INFO] [stdout] test ui::new_swarm::tests::create_issue_dialog_shows_form_fields ... ok
[INFO] [stdout] test ui::swarm_view::tests::empty_search_returns_all_filtered_issues ... ok
[INFO] [stdout] test ui::swarm_view::tests::count_attention_counts_waiting_agents ... ok
[INFO] [stdout] test ui::shortcuts_viewer::tests::render_shortcuts_viewer_smoke ... ok
[INFO] [stdout] test ui::shortcuts_viewer::tests::render_shortcuts_viewer_shows_active_panel ... ok
[INFO] [stdout] test ui::swarm_view::tests::detects_confirmation_prompts ... ok
[INFO] [stdout] test ui::swarm_view::tests::issue_type_filter_cycles ... ok
[INFO] [stdout] test ui::swarm_view::tests::issue_type_filter_excludes_non_matching ... ok
[INFO] [stdout] test ui::new_swarm::tests::install_scope_dialog_shows_repo_and_options ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_issue_increments_selection ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_issue_with_empty_list_does_not_panic ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_issue_wraps_at_end ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_worker_increments_selection ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_worker_with_empty_list_does_not_panic ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_worker_wraps_at_end ... ok
[INFO] [stdout] test ui::swarm_view::tests::prev_issue_with_empty_list_does_not_panic ... ok
[INFO] [stdout] test ui::swarm_view::tests::prev_issue_wraps_to_last ... ok
[INFO] [stdout] test ui::swarm_view::tests::prev_worker_decrements_selection ... ok
[INFO] [stdout] test ui::swarm_view::tests::prev_worker_with_empty_list_returns_true ... ok
[INFO] [stdout] test ui::swarm_view::tests::priority_filter_cycles_correctly ... ok
[INFO] [stdout] test ui::swarm_view::tests::prev_worker_returns_true_at_top ... ok
[INFO] [stdout] test ui::swarm_view::tests::priority_filter_excludes_non_matching ... ok
[INFO] [stdout] test ui::swarm_view::tests::priority_filter_cycles_p0_to_none ... ok
[INFO] [stdout] test ui::swarm_view::tests::priority_filter_shows_only_matching_priority ... ok
[INFO] [stdout] test ui::swarm_view::tests::next_issue_increments_and_wraps ... ok
[INFO] [stdout] test ui::swarm_view::tests::scroll_manager_down_increments ... ok
[INFO] [stdout] test ui::swarm_view::tests::scroll_manager_to_bottom_sets_to_max ... ok
[INFO] [stdout] test ui::swarm_view::tests::scroll_manager_up_saturates_at_zero ... ok
[INFO] [stdout] test ui::swarm_view::tests::search_filters_by_title_substring ... ok
[INFO] [stdout] test ui::swarm_view::tests::search_filters_by_issue_number ... ok
[INFO] [stdout] test ui::swarm_view::tests::search_with_hash_prefix_filters_by_exact_number ... ok
[INFO] [stdout] test ui::swarm_view::tests::swarm_panel_next_cycles ... ok
[INFO] [stdout] test ui::text_input::tests::backspace_at_beginning ... ok
[INFO] [stdout] test ui::swarm_view::tests::search_respects_issue_filter ... ok
[INFO] [stdout] test ui::text_input::tests::backspace_at_end ... ok
[INFO] [stdout] test ui::text_input::tests::backspace_in_middle ... ok
[INFO] [stdout] test ui::text_input::tests::cursor_movement ... ok
[INFO] [stdout] test ui::text_input::tests::delete_at_end ... ok
[INFO] [stdout] test ui::text_input::tests::delete_at_cursor ... ok
[INFO] [stdout] test ui::text_input::tests::insert_and_text ... ok
[INFO] [stdout] test ui::text_input::tests::drain_resets ... ok
[INFO] [stdout] test ui::text_input::tests::insert_in_middle ... ok
[INFO] [stdout] test ui::text_input::tests::move_right_at_end ... ok
[INFO] [stdout] test ui::text_input::tests::move_left_at_beginning ... ok
[INFO] [stdout] test ui::text_input::tests::new_is_empty ... ok
[INFO] [stdout] test ui::text_input::tests::with_text_constructor ... ok
[INFO] [stdout] test ui::text_input::tests::set_text_moves_cursor_to_end ... ok
[INFO] [stdout] test ui::theme::tests::attention_blink_style_toggles ... ok
[INFO] [stdout] test ui::theme::tests::hostname_right_span_empty_when_no_hostname ... ok
[INFO] [stdout] test ui::theme::tests::hostname_right_span_fits_when_room_available ... ok
[INFO] [stdout] test ui::theme::tests::hostname_right_span_handles_overflow ... ok
[INFO] [stdout] test ui::theme::tests::priority_style_covers_all_variants ... ok
[INFO] [stdout] test ui::theme::tests::status_style_covers_all_variants ... ok
[INFO] [stdout] test ui::repos_list::tests::render_smoke_shows_active_and_available_repos ... ok
[INFO] [stdout] test web::server::tests::api_add_worker_returns_404_for_unknown_project ... ok
[INFO] [stdout] test web::server::tests::api_agent_types_returns_list ... ok
[INFO] [stdout] test web::server::tests::api_input_rejects_empty_text ... ok
[INFO] [stdout] test web::server::tests::api_launch_swarm_rejects_invalid_agent_type ... ok
[INFO] [stdout] test web::server::tests::api_launch_swarm_rejects_missing_path ... ok
[INFO] [stdout] test web::server::tests::api_pane_returns_404_for_unknown_agent ... ok
[INFO] [stdout] test web::server::tests::api_pane_returns_404_for_unknown_swarm ... ok
[INFO] [stdout] test web::server::tests::api_repos_returns_json ... ok
[INFO] [stdout] test web::server::tests::api_stop_swarm_returns_404_for_unknown_project ... ok
[INFO] [stdout] test adapter::claude::tests::manager_bootstrap_uses_monitor_loop ... FAILED
[INFO] [stdout] test adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes ... FAILED
[INFO] [stdout] test web::server::tests::api_swarms_empty_when_no_swarms ... ok
[INFO] [stdout] test github::tests::rejects_invalid_issue_json ... ok
[INFO] [stdout] test web::server::tests::api_swarms_returns_populated_state ... ok
[INFO] [stdout] test web::server::tests::index_html_contains_expected_content ... ok
[INFO] [stdout] test tests::web_port_flag_rejects_invalid_port ... ok
[INFO] [stdout] test tests::rejects_conflicting_runtime_flags ... ok
[INFO] [stdout] test app::tests::preferred_agent_type_for_repo_defaults_to_current_runtime_when_unsaved ... ok
[INFO] [stdout] test web::server::tests::api_pane_returns_worker_content ... ok
[INFO] [stdout] test app::tests::selected_agent_type_for_new_swarm_respects_locked_runtime ... ok
[INFO] [stdout] test web::server::tests::api_pane_returns_agent_content ... ok
[INFO] [stdout] test app::tests::selecting_available_repo_shows_runtime_picker_only_when_unlocked ... ok
[INFO] [stdout] test web::server::tests::index_returns_html ... ok
[INFO] [stdout] test web::server::tests::api_stop_swarm_returns_ok_for_known_project ... ok
[INFO] [stdout] test web::tests::agent_snapshot_from_working_manager ... ok
[INFO] [stdout] test web::tests::agent_snapshot_from_idle_worker ... ok
[INFO] [stdout] test web::tests::shared_state_can_be_written_and_read ... ok
[INFO] [stdout] test web::server::tests::index_html_contains_session_view ... ok
[INFO] [stdout] test ui::swarm_view::tests::issues_title_shows_plain_count_when_no_filter ... ok
[INFO] [stdout] test web::tests::swarm_snapshot_from_swarm ... ok
[INFO] [stdout] test web::tests::swarm_snapshot_serializes_to_json ... ok
[INFO] [stdout] test ui::swarm_view::tests::render_smoke_writes_swarm_sections ... ok
[INFO] [stdout] test ui::swarm_view::tests::issues_title_shows_fraction_when_filter_active ... ok
[INFO] [stdout] test ui::swarm_view::tests::render_applies_priority_filter ... ok
[INFO] [stdout] test ui::swarm_view::tests::issues_title_shows_staleness_indicator ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- adapter::claude::tests::manager_bootstrap_uses_monitor_loop stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'adapter::claude::tests::manager_bootstrap_uses_monitor_loop' (33) panicked at src/adapter/claude.rs:2226:66:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57dd17ddfc8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57dd17ddfc8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57dd17ddfc8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57dd17ddfc8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57dd17df873a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57dd17df873a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x57dd17de55a2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x57dd17de55a2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x57dd17db9fbf - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57dd17db9fbf - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57dd17dd5b99 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57dd17ae910c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x57dd17ae910c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x57dd17dd5e12 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x57dd17dd5e12 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57dd17dba0aa - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x57dd17db1069 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57dd17dbb18d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57dd17df8f2c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57dd17df8ef2 - core[35159d6ffb30e017]::panicking::panic
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x57dd17df8c19 - core[35159d6ffb30e017]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:2251:5
[INFO] [stdout]   21:     0x57dd179c6471 - <core[35159d6ffb30e017]::option::Option<alloc[a8a7aba520129d98]::string::String>>::unwrap
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x57dd179c6471 - agents_tui[f656b66c16af38c8]::adapter::claude::tests::manager_bootstrap_uses_monitor_loop
[INFO] [stdout]                                at /opt/rustwide/workdir/src/adapter/claude.rs:2226:66
[INFO] [stdout]   23:     0x57dd179acba7 - agents_tui[f656b66c16af38c8]::adapter::claude::tests::manager_bootstrap_uses_monitor_loop::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/adapter/claude.rs:2220:45
[INFO] [stdout]   24:     0x57dd177dbde6 - <agents_tui[f656b66c16af38c8]::adapter::claude::tests::manager_bootstrap_uses_monitor_loop::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x57dd17adc3eb - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x57dd17adc3eb - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x57dd17ae9bdb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x57dd17ae45b4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x57dd17ae45b4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x57dd17aec7e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x57dd17aec7e2 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x57dd17aec7e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x57dd17aec7e2 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x57dd17ddec8f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   44:     0x57dd17ddec8f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x774806777aa4 - <unknown>
[INFO] [stdout]   46:     0x774806804a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes' (62) panicked at src/adapter/supervisor.rs:312:9:
[INFO] [stdout] assertion failed: for_runtime(&AgentType::Droid).uses_loop_wrapper()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57dd17ddfc8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57dd17ddfc8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57dd17ddfc8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57dd17ddfc8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57dd17df873a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57dd17df873a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x57dd17de55a2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x57dd17de55a2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x57dd17db9fbf - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57dd17db9fbf - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57dd17dd5b99 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57dd17ae910c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x57dd17ae910c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x57dd17dd5e12 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x57dd17dd5e12 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57dd17dba0aa - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x57dd17db1069 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57dd17dbb18d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57dd17df8f2c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57dd17df8ef2 - core[35159d6ffb30e017]::panicking::panic
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x57dd179c3589 - agents_tui[f656b66c16af38c8]::adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes
[INFO] [stdout]                                at /opt/rustwide/workdir/src/adapter/supervisor.rs:312:9
[INFO] [stdout]   21:     0x57dd179abc97 - agents_tui[f656b66c16af38c8]::adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/adapter/supervisor.rs:306:57
[INFO] [stdout]   22:     0x57dd177db826 - <agents_tui[f656b66c16af38c8]::adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x57dd17adc3eb - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x57dd17adc3eb - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x57dd17ae9bdb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x57dd17ae9bdb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x57dd17ae9bdb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x57dd17ae45b4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x57dd17ae45b4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x57dd17aec7e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x57dd17aec7e2 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x57dd17aec7e2 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x57dd17aec7e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x57dd17aec7e2 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x57dd17ddec8f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x57dd17ddec8f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x774806777aa4 - <unknown>
[INFO] [stdout]   44:     0x774806804a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     adapter::claude::tests::manager_bootstrap_uses_monitor_loop
[INFO] [stdout]     adapter::supervisor::tests::runtime_wrapper_usage_matches_expected_runtimes
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 490 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin agents-tui`
[INFO] running `Command { std: "docker" "inspect" "35266786585c211a233ef0886acdb64a560cf422d23ab0f485163209b6daa85a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35266786585c211a233ef0886acdb64a560cf422d23ab0f485163209b6daa85a", kill_on_drop: false }`
[INFO] [stdout] 35266786585c211a233ef0886acdb64a560cf422d23ab0f485163209b6daa85a
