[INFO] cloning repository https://github.com/opencloudtool/agentty [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/opencloudtool/agentty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopencloudtool%2Fagentty", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopencloudtool%2Fagentty'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2c6fe45b1ddb2ea56d8d66585fc357d9b3052f03 [INFO] testing opencloudtool/agentty against try#8da20828b6ea601dfd8e2448cb50ace88876bd78 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopencloudtool%2Fagentty" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/opencloudtool/agentty [INFO] finished tweaking git repo https://github.com/opencloudtool/agentty [INFO] tweaked toml for git repo https://github.com/opencloudtool/agentty written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/opencloudtool/agentty on toolchain 8da20828b6ea601dfd8e2448cb50ace88876bd78 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/opencloudtool/agentty 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" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5770d41aea32197efb3d0393ed73fd6490aa2ad15b30d77ba74ff1d824577a0b [INFO] running `Command { std: "docker" "start" "-a" "5770d41aea32197efb3d0393ed73fd6490aa2ad15b30d77ba74ff1d824577a0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5770d41aea32197efb3d0393ed73fd6490aa2ad15b30d77ba74ff1d824577a0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5770d41aea32197efb3d0393ed73fd6490aa2ad15b30d77ba74ff1d824577a0b", kill_on_drop: false }` [INFO] [stdout] 5770d41aea32197efb3d0393ed73fd6490aa2ad15b30d77ba74ff1d824577a0b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f31261b79e98d395ea87313226605593be7330be3a17acc7c4c4948d3fbe508d [INFO] running `Command { std: "docker" "start" "-a" "f31261b79e98d395ea87313226605593be7330be3a17acc7c4c4948d3fbe508d", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling pulldown-cmark v0.13.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling ag-xtask v0.5.4 (/opt/rustwide/workdir/crates/ag-xtask) [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Compiling askama_parser v0.15.4 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling agent-client-protocol-schema v0.10.8 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling askama_derive v0.15.4 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling askama_macros v0.15.4 [INFO] [stderr] Compiling askama v0.15.4 [INFO] [stderr] Compiling agent-client-protocol v0.9.4 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling agentty v0.5.4 (/opt/rustwide/workdir/crates/agentty) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s [INFO] running `Command { std: "docker" "inspect" "f31261b79e98d395ea87313226605593be7330be3a17acc7c4c4948d3fbe508d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f31261b79e98d395ea87313226605593be7330be3a17acc7c4c4948d3fbe508d", kill_on_drop: false }` [INFO] [stdout] f31261b79e98d395ea87313226605593be7330be3a17acc7c4c4948d3fbe508d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d6baac7968fc5de367fa1c6b7a1acf723a79af5f39dea9cc97d6f324e007470 [INFO] running `Command { std: "docker" "start" "-a" "1d6baac7968fc5de367fa1c6b7a1acf723a79af5f39dea9cc97d6f324e007470", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling mockall_derive v0.14.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling mockall v0.14.0 [INFO] [stderr] Compiling fragile v2.0.1 [INFO] [stderr] Compiling downcast v0.11.0 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling ag-xtask v0.5.4 (/opt/rustwide/workdir/crates/ag-xtask) [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling agentty v0.5.4 (/opt/rustwide/workdir/crates/agentty) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 47.94s [INFO] running `Command { std: "docker" "inspect" "1d6baac7968fc5de367fa1c6b7a1acf723a79af5f39dea9cc97d6f324e007470", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d6baac7968fc5de367fa1c6b7a1acf723a79af5f39dea9cc97d6f324e007470", kill_on_drop: false }` [INFO] [stdout] 1d6baac7968fc5de367fa1c6b7a1acf723a79af5f39dea9cc97d6f324e007470 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] dc828bfc0c6ab04d714f74ff00783273939eac0cc0a8425d255cc38fe261bf65 [INFO] running `Command { std: "docker" "start" "-a" "dc828bfc0c6ab04d714f74ff00783273939eac0cc0a8425d255cc38fe261bf65", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.67s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ag_xtask-877bbb76e1a2a7a7) [INFO] [stdout] running 28 tests [INFO] [stdout] test check_index::tests::test_is_ignored_index_path_matches_tmp_home_entries ... ok [INFO] [stdout] test check_index::tests::test_get_tracked_files_error ... ok [INFO] [stdout] test check_index::tests::test_get_local_entries_subdir ... ok [INFO] [stdout] test check_index::tests::test_missing_agents_files_reports_nested_directory ... ok [INFO] [stdout] test check_index::tests::test_missing_agents_files_ignores_directories_without_indexable_entries ... ok [INFO] [stdout] test check_index::tests::test_get_local_entries_root ... ok [INFO] [stdout] test check_index::tests::test_parse_index_prefers_destination_over_code_formatted_link_text ... ok [INFO] [stdout] test check_index::tests::test_parse_index_basic ... ok [INFO] [stdout] test check_index::tests::test_run_with_runner_failure ... ok [INFO] [stdout] test check_index::tests::test_get_local_entries_windows_paths ... ok [INFO] [stdout] test check_index::tests::test_parse_index_prefers_destination_over_escaped_link_text ... ok [INFO] [stdout] test check_index::tests::test_process_directory_io_error ... ok [INFO] [stdout] test check_index::tests::test_get_agents_files_error ... ok [INFO] [stdout] test check_index::tests::test_real_command_runner ... ok [INFO] [stdout] test check_index::tests::test_run_with_runner_missing_entries ... ok [INFO] [stdout] test check_migration::tests::test_check_prefixes_empty_dir ... ok [INFO] [stdout] test check_index::tests::test_run_with_runner_success ... ok [INFO] [stdout] test check_index::tests::test_process_directory_allows_optional_entries ... ok [INFO] [stdout] test check_index::tests::test_process_directory_missing_header ... ok [INFO] [stdout] test check_migration::tests::test_find_migration_dirs ... ok [INFO] [stdout] test check_index::tests::test_process_directory_fails_on_duplicate_entries ... ok [INFO] [stdout] test check_index::tests::test_process_directory_fails_on_mismatched_labels ... ok [INFO] [stdout] test check_migration::tests::test_check_prefixes_ignores_non_sql ... ok [INFO] [stdout] test check_migration::tests::test_check_prefixes_no_duplicates ... ok [INFO] [stdout] test check_migration::tests::test_check_prefixes_with_duplicates ... ok [INFO] [stdout] test check_index::tests::test_run_with_runner_ignores_tmp_home_paths ... ok [INFO] [stdout] test check_migration::tests::test_find_migration_dirs_no_migrations ... ok [INFO] [stdout] test check_index::tests::test_process_directory_fails_on_stale_entries ... ok [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentty-fb07359ca85dd33e) [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 954 tests [INFO] [stdout] test app::assist::tests::test_failure_tracker_observe_exceeds_after_identical_streak_limit ... ok [INFO] [stdout] test app::assist::tests::test_failure_tracker_observe_resets_streak_for_new_fingerprint ... ok [INFO] [stdout] test app::core::tests::app_event_batch_collect_event_keeps_latest_agent_response_update ... ok [INFO] [stdout] test app::core::tests::app_event_batch_collect_event_keeps_latest_at_mention_entries_update ... ok [INFO] [stdout] test app::core::tests::resolve_agentty_home_falls_back_to_home_directory_when_override_is_empty ... ok [INFO] [stdout] test app::core::tests::resolve_agentty_home_falls_back_to_relative_directory_without_home_dir ... ok [INFO] [stdout] test app::core::tests::resolve_agentty_home_returns_env_override_when_set ... ok [INFO] [stdout] test app::assist::tests::test_format_detail_lines_returns_bulleted_non_empty_lines ... ok [INFO] [stdout] test app::core::tests::is_session_worktree_project_path_returns_true_for_agentty_worktree_path ... ok [INFO] [stdout] test app::core::tests::discover_home_project_paths_includes_git_repos_and_excludes_session_worktrees ... ok [INFO] [stdout] test app::core::tests::is_session_worktree_project_path_returns_false_for_main_repository_path ... ok [INFO] [stdout] test app::core::tests::sync_main_popup_mode_success_message_tracks_project_and_branch ... ok [INFO] [stdout] test app::core::tests::sync_main_popup_mode_blocked_message_tracks_project_and_branch ... ok [INFO] [stdout] test app::merge_queue::tests::test_is_queued_or_active ... ok [INFO] [stdout] test app::merge_queue::tests::test_pop_next_follows_fifo_order ... ok [INFO] [stdout] test app::merge_queue::tests::test_progress_from_status_updates_done_starts_next_and_clears_active ... ok [INFO] [stdout] test app::merge_queue::tests::test_progress_from_status_updates_failure_starts_next_and_clears_active ... ok [INFO] [stdout] test app::merge_queue::tests::test_progress_from_status_updates_handles_synced_done_without_previous_merging ... ok [INFO] [stdout] test app::core::tests::sync_main_popup_mode_auth_failure_shows_authorization_guidance ... ok [INFO] [stdout] test app::merge_queue::tests::test_progress_from_status_updates_ignores_unrelated_batches ... ok [INFO] [stdout] test app::project::tests::test_previous_project_wraps_to_last_row ... ok [INFO] [stdout] test app::project::tests::test_next_project_wraps_to_first_row ... ok [INFO] [stdout] test app::merge_queue::tests::test_progress_from_status_updates_missing_session_starts_next ... ok [INFO] [stdout] test app::core::tests::configured_open_commands_returns_trimmed_non_empty_entries ... ok [INFO] [stdout] test app::session::core::tests::test_capture_raw_output ... ok [INFO] [stdout] test app::core::tests::apply_app_events_agent_response_switches_view_mode_to_question_mode ... ok [INFO] [stdout] test app::session::core::tests::test_cleanup_merged_session_worktree_without_repo_hint ... ok [INFO] [stdout] test app::session::core::tests::test_commit_changes_amends_existing_session_commit ... ok [INFO] [stdout] test app::core::tests::open_session_worktree_in_tmux_skips_open_command_when_setting_is_blank ... ok [INFO] [stdout] test app::core::tests::apply_app_events_refresh_sessions_reloads_project_active_session_count ... ok [INFO] [stdout] test app::core::tests::open_session_worktree_in_tmux_runs_configured_open_command_when_window_opens ... ok [INFO] [stdout] test app::core::tests::apply_app_events_agent_response_keeps_list_mode_when_not_viewing_session ... ok [INFO] [stdout] test app::session::core::tests::test_cancel_session_requires_review_status ... ok [INFO] [stdout] test app::session::core::tests::test_active_project_id_getter ... ok [INFO] [stdout] test app::session::core::tests::test_cancel_session_invalid_id ... ok [INFO] [stdout] test app::core::tests::stats_for_session_returns_none_duration_for_unknown_session ... ok [INFO] [stdout] test app::core::tests::open_session_worktree_in_tmux_uses_first_configured_command ... ok [INFO] [stdout] test app::core::tests::test_new_prefers_active_session_for_initial_selection ... ok [INFO] [stdout] test app::core::tests::discover_home_project_paths_respects_repository_limit ... ok [INFO] [stdout] test app::core::tests::stats_for_session_returns_duration_and_usage_rows ... ok [INFO] [stdout] test app::session::core::tests::test_cancel_session ... ok [INFO] [stdout] test app::session::core::tests::test_cancel_session_triggers_app_server_shutdown ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_reads_legacy_default_model_setting_when_default_smart_key_is_missing ... ok [INFO] [stdout] test app::session::core::tests::test_fallback_merge_commit_message ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_with_git_no_actual_repo ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_reads_default_smart_model_from_db_setting ... ok [INFO] [stdout] test app::session::core::tests::test_delete_session ... ok [INFO] [stdout] test app::session::core::tests::test_esc_deletes_blank_session ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_cleans_up_on_error ... ok [INFO] [stdout] test app::session::core::tests::test_delete_session_without_git ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_without_git ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_persists_default_smart_model_setting_when_last_used_model_is_enabled ... ok [INFO] [stdout] test app::session::core::tests::test_create_session ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_scoped_to_project ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_uses_default_smart_model_setting_and_most_recent_permission_mode ... ok [INFO] [stdout] test app::session::core::tests::test_merge_commit_message_prompt_uses_git_commit_default_format ... ok [INFO] [stdout] test app::session::core::tests::test_create_session_keeps_default_smart_model_setting_when_session_model_changes ... ok [INFO] [stdout] test app::session::core::tests::test_delete_last_session_update_selection ... ok [INFO] [stdout] test app::session::core::tests::test_delete_selected_session_edge_cases ... ok [INFO] [stdout] test app::session::core::tests::test_done_status_triggers_app_server_shutdown ... ok [INFO] [stdout] test app::session::core::tests::test_git_branch_getter_without_branch ... ok [INFO] [stdout] test app::session::core::tests::test_git_branch_getter_with_branch ... ok [INFO] [stdout] test app::session::core::tests::test_load_done_session_without_folder_kept ... ok [INFO] [stdout] test app::session::core::tests::test_load_existing_sessions_ordered_by_updated_at_desc ... ok [INFO] [stdout] test app::session::core::tests::test_load_existing_sessions ... ok [INFO] [stdout] test app::session::core::tests::test_load_in_progress_session_without_folder_skipped ... ok [INFO] [stdout] test app::session::core::tests::test_load_sessions_aggregates_daily_activity ... ok [INFO] [stdout] test app::session::core::tests::test_parse_merge_commit_message_response_rejects_non_protocol_json ... ok [INFO] [stdout] test app::session::core::tests::test_parse_merge_commit_message_response_with_protocol_message ... ok [INFO] [stdout] test app::session::core::tests::test_load_sessions_keeps_daily_activity_after_session_deletion ... ok [INFO] [stdout] test app::session::core::tests::test_merge_session_invalid_id ... ok [INFO] [stdout] test app::session::core::tests::test_load_sessions_invalid_path ... ok [INFO] [stdout] test app::session::core::tests::test_load_sessions_uses_persisted_size_for_done_status ... ok [INFO] [stdout] test app::session::core::tests::test_load_sessions_uses_persisted_size_for_non_terminal_status ... ok [INFO] [stdout] test app::session::core::tests::test_merge_session_marks_done_when_changes_are_already_in_base ... ok [INFO] [stdout] test app::session::core::tests::test_merge_session_no_git ... ok [INFO] [stdout] test app::session::core::tests::test_merge_session_removes_worktree_and_branch_after_success ... ok [INFO] [stdout] test app::session::core::tests::test_merge_session_queue_processes_sessions_in_fifo_order ... ok [INFO] [stdout] test app::session::core::tests::test_navigation_follows_grouped_order_and_skips_group_headers ... ok [INFO] [stdout] test app::session::core::tests::test_new_app_empty ... ok [INFO] [stdout] test app::session::core::tests::test_navigation_empty ... ok [INFO] [stdout] test app::session::core::tests::test_next_tab ... ok [INFO] [stdout] test app::session::core::tests::test_session_branch_uses_first_8_chars ... ok [INFO] [stdout] test app::session::core::tests::test_session_folder_uses_first_8_chars ... ok [INFO] [stdout] test app::session::core::tests::test_navigation_recovery ... ok [INFO] [stdout] test app::session::core::tests::test_navigation ... ok [INFO] [stdout] test app::session::core::tests::test_rebase_session_no_git ... ok [INFO] [stdout] test app::session::core::tests::test_rebase_session_invalid_id ... ok [INFO] [stdout] test app::session::core::tests::test_rebase_session_requires_review_status ... ok [INFO] [stdout] test app::session::core::tests::test_refresh_sessions_if_needed_reloads_and_preserves_selection ... ok [INFO] [stdout] test app::session::core::tests::test_rebase_session_auto_commits_uncommitted_changes ... ok [INFO] [stdout] test app::session::core::tests::test_sync_main_pushes_local_commits_to_remote ... ok [INFO] [stdout] test app::session::core::tests::test_refresh_sessions_if_needed_remaps_view_mode_index ... ok [INFO] [stdout] test app::session::core::tests::test_reply_first_message_uses_full_prompt_text_as_title ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_formatted_prompt_output_formats_multiline_prompt_with_continuation_prefix ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_formatted_prompt_output_prepends_newline_for_replies ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_parse_generated_session_title_accepts_plain_title ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_parse_generated_session_title_accepts_protocol_answer_plain_text ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_parse_generated_session_title_normalizes_title_prefix ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_parse_generated_session_title_returns_none_for_question_only_protocol_payload ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_parse_generated_session_title_uses_first_nonempty_line_for_multiline_response ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_prepare_reply_context_first_message_sets_title_from_prompt ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_prepare_reply_context_follow_up_keeps_existing_title ... ok [INFO] [stdout] test app::session::workflow::lifecycle::tests::test_session_title_generation_prompt_includes_request ... ok [INFO] [stdout] test app::session::workflow::load::tests::merge_loaded_session_status_prefers_handle_for_non_terminal_db_status ... ok [INFO] [stdout] test app::session::workflow::load::tests::merge_loaded_session_status_prefers_terminal_status_from_db ... ok [INFO] [stdout] test app::session::core::tests::test_reply ... ok [INFO] [stdout] test app::session::core::tests::test_rebase_session_updates_session_worktree_to_base_head ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_conflicted_file_fingerprint_changes_with_file_content ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_conflicted_file_fingerprint_missing_file_is_stable ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_conflicted_file_fingerprint_order_independent ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_conflicted_file_fingerprint_stable_for_unchanged_content ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_detail_message_for_uncommitted_changes_uses_sentence_lines ... ok [INFO] [stdout] test app::session::core::tests::test_start_session ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_format_conflicted_file_list_returns_bulleted_lines ... ok [INFO] [stdout] test app::session::core::tests::test_reply_turn_completion_persists_session_size ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_rebase_assist_prompt_includes_branch_and_files ... ok [INFO] [stdout] test app::session::core::tests::test_reply_with_backend_replays_history_after_app_restart_for_review_session ... ok [INFO] [stdout] test app::session::core::tests::test_selected_session ... ok [INFO] [stdout] test app::session::core::tests::test_spawn_session_task_auto_commits_changes ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_session_title_and_summary_from_commit_message ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_session_title_and_summary_from_commit_message_empty_uses_fallback ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_session_title_and_summary_from_commit_message_skips_blank_prefix ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_sync_main_for_project_fails_after_max_assistance_attempts ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_sync_main_for_project_resolves_conflicts_with_assistance ... ok [INFO] [stdout] test app::session::workflow::refresh::tests::test_is_session_refresh_due_returns_false_before_deadline ... ok [INFO] [stdout] test app::session::workflow::refresh::tests::test_is_session_refresh_due_returns_true_at_deadline ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_auto_commit_assist_prompt_includes_commit_error ... ok [INFO] [stdout] test app::session::core::tests::test_start_session_uses_full_prompt_text_as_title ... ok [INFO] [stdout] test app::session::core::tests::test_reply_with_backend_replays_history_once_after_model_switch ... ok [INFO] [stdout] test app::session::core::tests::test_sync_main_requires_clean_selected_project_branch ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_format_commit_error_for_display_returns_bulleted_lines ... ok [INFO] [stdout] test app::session::core::tests::test_sync_main_uses_active_project_branch_from_context ... ok [INFO] [stdout] test app::session::core::tests::test_sync_main_returns_error_without_upstream_remote ... ok [INFO] [stdout] test app::session::workflow::load::tests::test_load_sessions_preserves_live_handle_output_and_status ... ok [INFO] [stdout] test app::session::core::tests::test_working_dir_getter ... ok [INFO] [stdout] test app::session::core::tests::test_spawn_session_task_skips_commit_when_nothing_to_commit ... ok [INFO] [stdout] test app::session::workflow::load::tests::test_load_sessions_terminal_db_status_overrides_handle_status ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_execute_rebase_workflow_aborts_when_assist_loop_fails ... ok [INFO] [stdout] test app::session::core::tests::test_spawn_integration ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_run_rebase_assist_loop_core_aborts_on_early_error ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_rebase_assist_input_clone ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_run_rebase_start_recovers_stale_rebase_state_and_retries ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_status_requires_full_refresh_for_lifecycle_statuses ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_agent_response_questions_preserves_ordered_list_as_single_question_text ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_agent_response_questions_returns_only_question_messages ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_build_assistant_transcript_output_falls_back_to_question_text ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_build_assistant_transcript_output_prefers_answer_messages ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_build_assistant_transcript_output_returns_none_for_blank_messages ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_build_assistant_transcript_output_skips_answer_when_assistant_streamed ... ok [INFO] [stdout] test app::session::workflow::merge::tests::test_run_rebase_start_reports_cleanup_failure_for_stale_rebase_state ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_capture_raw_output_routes_progress_lines_to_ui_event_only ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_capture_raw_output_routes_response_content_to_output_buffer_and_db ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_commit_changes_with_assist_returns_commit_hash_from_mock_git_client ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_handle_auto_commit_appends_commit_error_from_mock_git_client ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_session_command_kind_values ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_deduplicates_repeated_progress_updates ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_streams_codex_output_with_spacing_between_messages ... ok [INFO] [stdout] test app::session_state::tests::sync_from_handles_updates_output_when_same_length_content_changes ... ok [INFO] [stdout] test app::session_state::tests::sync_session_with_handles_appends_suffix_for_extended_output ... ok [INFO] [stdout] test app::session_state::tests::sync_session_with_handles_equal_length_sync ... ok [INFO] [stdout] test app::session_state::tests::sync_session_with_handles_replaces_output_when_prefix_changes ... ok [INFO] [stdout] test app::setting::tests::footer_hint_returns_editing_text_when_text_input_is_active ... ok [INFO] [stdout] test app::setting::tests::is_editing_text_input_returns_false_by_default ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_handle_auto_commit_reports_when_no_changes_exist ... ok [INFO] [stdout] test app::setting::tests::next_moves_selection_to_default_smart_model_row ... ok [INFO] [stdout] test app::setting::tests::open_commands_returns_single_trimmed_command ... ok [INFO] [stdout] test app::setting::tests::open_commands_does_not_split_double_pipe_entries ... ok [INFO] [stdout] test app::setting::tests::open_commands_splits_newline_entries ... ok [INFO] [stdout] test app::setting::tests::previous_wraps_to_open_command_row_from_reasoning_level_row ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_default_fast_model ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_default_review_model ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_default_smart_model ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_open_command ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_last_used_model_as_default ... ok [INFO] [stdout] test app::setting::tests::setting_name_as_str_returns_reasoning_level ... ok [INFO] [stdout] test app::setting::tests::settings_rows_include_reasoning_smart_fast_review_model_and_open_commands ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_cursor_for_open_command_while_editing ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_cursor_within_open_command_while_editing ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_default_fast_model_value ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_default_review_model_value ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_empty_placeholder_for_open_command ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_last_used_model_as_default_value_when_enabled ... ok [INFO] [stdout] test app::setting::tests::settings_rows_show_reasoning_level_value ... ok [INFO] [stdout] test app::tab::tests::test_tab_manager_new_defaults_to_projects ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_appends_output_without_committing ... ok [INFO] [stdout] test app::tab::tests::test_tab_manager_next_cycles_tabs ... ok [INFO] [stdout] test app::tab::tests::test_tab_manager_previous_cycles_tabs ... ok [INFO] [stdout] test app::tab::tests::test_tab_manager_set_updates_current_tab ... ok [INFO] [stdout] test app::tab::tests::test_tab_previous ... ok [INFO] [stdout] test app::tab::tests::test_tab_next ... ok [INFO] [stdout] test app::tab::tests::test_tab_title ... ok [INFO] [stdout] test app::task::tests::test_focused_review_assist_prompt_enforces_read_only_constraints ... ok [INFO] [stdout] test app::task::tests::test_focused_review_assist_command_mode_always_uses_start ... ok [INFO] [stdout] test app::task::tests::test_plain_text_response_passes_through_unchanged ... ok [INFO] [stdout] test domain::agent::tests::test_parse_model_maps_legacy_gpt_52_codex_to_codex_spark ... ok [INFO] [stdout] test domain::agent::tests::test_reasoning_level_from_str_parses_supported_values ... ok [INFO] [stdout] test domain::agent::tests::test_parse_model_returns_none_for_models_from_other_providers ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_streams_codex_output_without_duplication ... ok [INFO] [stdout] test app::task::tests::test_structured_agent_response_is_unwrapped_to_display_text ... ok [INFO] [stdout] test domain::agent::tests::test_reasoning_level_from_str_rejects_unknown_values ... ok [INFO] [stdout] test domain::input::tests::test_delete_current_line_clears_single_line_content ... ok [INFO] [stdout] test domain::input::tests::test_delete_current_line_removes_first_line_and_following_newline ... ok [INFO] [stdout] test domain::input::tests::test_delete_current_line_removes_last_line_and_preceding_newline ... ok [INFO] [stdout] test domain::input::tests::test_delete_current_line_removes_middle_line_and_preceding_newline ... ok [INFO] [stdout] test domain::input::tests::test_insert_text_at_end_updates_text_and_cursor ... ok [INFO] [stdout] test domain::permission::tests::test_from_str_rejects_removed_permission_modes ... ok [INFO] [stdout] test domain::permission::tests::test_from_str_accepts_auto_edit ... ok [INFO] [stdout] test domain::input::tests::test_insert_text_in_middle_preserves_surrounding_content ... ok [INFO] [stdout] test domain::project::tests::test_display_label_falls_back_to_path_folder_name ... ok [INFO] [stdout] test domain::session::tests::test_status_display_queued ... ok [INFO] [stdout] test domain::session::tests::test_status_transition_queued_to_in_progress_is_rejected ... ok [INFO] [stdout] test domain::session::tests::test_status_transition_queued_to_merging ... ok [INFO] [stdout] test domain::session::tests::test_status_from_str_queued ... ok [INFO] [stdout] test infra::agent::backend::tests::test_agent_command_mode_start_plain_disables_structured_protocol ... ok [INFO] [stdout] test domain::session::tests::test_status_transition_review_to_queued ... ok [INFO] [stdout] test infra::agent::backend::tests::test_agent_command_mode_start_uses_structured_protocol ... ok [INFO] [stdout] test infra::agent::backend::tests::test_build_resume_prompt_returns_original_prompt_without_output ... ok [INFO] [stdout] test infra::agent::backend::tests::test_build_resume_prompt_includes_session_output_and_prompt ... ok [INFO] [stdout] test infra::agent::backend::tests::test_build_resume_prompt_returns_original_prompt_when_output_is_blank ... ok [INFO] [stdout] test infra::agent::backend::tests::test_prepend_protocol_instructions_without_schema_adds_protocol_instructions ... ok [INFO] [stdout] test infra::agent::backend::tests::test_prepend_protocol_instructions_with_schema_adds_protocol_instructions ... ok [INFO] [stdout] test infra::agent::backend::tests::test_prepend_protocol_instructions_with_schema_is_idempotent ... ok [INFO] [stdout] test infra::agent::backend::tests::test_prepend_repo_root_path_instructions_adds_contract ... ok [INFO] [stdout] test infra::agent::backend::tests::test_prepend_repo_root_path_instructions_is_idempotent ... ok [INFO] [stdout] test infra::agent::backend::tests::test_transport_mode_reports_expected_transport_by_provider ... ok [INFO] [stdout] test infra::agent::claude::tests::test_claude_auto_edit_mode_uses_allowed_tools_edit ... ok [INFO] [stdout] test infra::agent::claude::tests::test_claude_command_includes_repo_root_path_instructions ... ok [INFO] [stdout] test infra::agent::claude::tests::test_claude_start_command_includes_json_schema ... ok [INFO] [stdout] test infra::agent::codex::tests::build_resume_command_appends_root_instructions_and_session_output ... ok [INFO] [stdout] test infra::agent::claude::tests::test_claude_start_plain_command_enforces_json_schema ... ok [INFO] [stdout] test infra::agent::codex::tests::build_command_includes_repo_root_path_instructions ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_streams_claude_output_with_compact_progress ... ok [INFO] [stdout] test infra::agent::codex::tests::build_start_plain_command_skips_protocol_instructions ... ok [INFO] [stdout] test infra::agent::gemini::tests::test_gemini_command_includes_repo_root_path_instructions ... ok [INFO] [stdout] test infra::agent::gemini::tests::test_gemini_setup_creates_no_files ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_output_schema_contains_message_type_enum_values ... ok [INFO] [stdout] test infra::agent::gemini::tests::test_gemini_start_plain_command_skips_protocol_instructions ... ok [INFO] [stdout] test infra::agent::codex::tests::build_resume_command_uses_plain_prompt_without_session_output ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_output_schema_contains_required_fields ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_output_schema_does_not_contain_one_of ... ok [INFO] [stdout] test domain::project::tests::test_display_label_prefers_display_name ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_output_schema_ref_objects_have_no_sibling_keywords ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_output_schema_json_is_parseable_value ... ok [INFO] [stdout] test infra::agent::codex::tests::build_start_command_appends_root_instructions ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_answers_returns_only_answer_messages_in_order ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_plain_constructor ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_agent_response_serde_round_trip ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_normalize_stream_assistant_chunk_protocol_fragment ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_normalize_stream_assistant_chunk_question_only_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_normalize_stream_assistant_chunk_plain_text ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_empty_messages_falls_back_to_plain_text ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_malformed_json_fallback ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_normalize_stream_assistant_chunk_structured_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_strict_rejects_plain_text ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_non_schema_payload_falls_back_to_plain_text ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_plain_text_fallback ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_preserves_fallback_whitespace ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_strict_extracts_json_object_from_wrapped_text ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_strict_skips_invalid_embedded_json_before_valid_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_strict_structured_json_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_structured_json_in_code_fence_extracts_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_questions_returns_only_question_messages_in_order ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_structured_json_payload ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_structured_json_with_mixed_messages ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_unknown_message_fields_fallback ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_parse_agent_response_unknown_top_level_fields_fallback ... ok [INFO] [stdout] test infra::agent::protocol::tests::test_to_answer_display_text_uses_only_answer_messages ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_claude_parse_response_reads_result_payload ... ok [INFO] [stdout] test infra::agent::response_parser::tests::compact_codex_progress_message_returns_compacting_for_context_compaction ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_claude_parse_response_reads_usage_when_result_is_missing ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_claude_parse_response_reads_result_from_json_array_payload ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_claude_stream_output_line_reads_message_event_content ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_claude_stream_output_line_maps_tool_use_blocks_to_progress ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_claude_stream_output_line_reads_assistant_message_content_blocks ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_response_codex_falls_back_to_reasoning_without_agent_message ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_response_codex_ignores_completion_status_as_final_message ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_response_codex_ignores_trailing_completion_status_message ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_response_codex_prefers_agent_message_over_trailing_reasoning_payload ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_stream_output_line_codex_ignores_completion_status_messages ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_stream_output_line_codex_keeps_assistant_message_content ... ok [INFO] [stdout] test infra::app_server::tests::read_latest_session_output_falls_back_to_snapshot_when_live_buffer_is_empty ... ok [INFO] [stdout] test infra::app_server::tests::read_latest_session_output_falls_back_to_snapshot_when_no_live_buffer ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_parse_claude_stream_output_line_ignores_result_events_for_delta_streaming ... ok [INFO] [stdout] test infra::app_server::tests::read_latest_session_output_returns_none_when_both_are_absent ... ok [INFO] [stdout] test infra::app_server::tests::read_latest_session_output_prefers_live_buffer_over_snapshot ... ok [INFO] [stdout] test infra::app_server::tests::take_session_returns_stored_runtime ... ok [INFO] [stdout] test infra::app_server::tests::turn_prompt_for_runtime_adds_repo_root_path_instructions_without_context_reset ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_returns_error_for_non_zero_exit_status ... ok [INFO] [stdout] test infra::app_server::tests::run_turn_with_restart_retry_skips_replay_when_runtime_restores_context ... ok [INFO] [stdout] test infra::app_server::tests::run_turn_with_restart_retry_restarts_once_after_first_failure ... ok [INFO] [stdout] test infra::agent::response_parser::tests::test_claude_parse_response_uses_stream_message_when_result_is_empty ... ok [INFO] [stdout] test infra::app_server::tests::run_turn_with_restart_retry_uses_live_output_on_retry ... ok [INFO] [stdout] test infra::app_server_router::tests::run_turn_returns_error_for_unknown_model ... ok [INFO] [stdout] test infra::app_server_router::tests::run_turn_routes_codex_models_to_codex_client ... ok [INFO] [stdout] test infra::app_server_router::tests::shutdown_session_propagates_to_all_provider_clients ... ok [INFO] [stdout] test infra::app_server::tests::turn_prompt_for_runtime_replays_session_output_after_context_reset_with_path_instructions ... ok [INFO] [stdout] test infra::app_server_transport::tests::extract_json_error_message_returns_none_without_message_field ... ok [INFO] [stdout] test infra::app_server_router::tests::run_turn_routes_gemini_models_to_gemini_client ... ok [INFO] [stdout] test infra::app_server_transport::tests::response_id_matches_returns_false_for_different_id ... ok [INFO] [stdout] test infra::app_server_transport::tests::response_id_matches_returns_false_for_integer_id ... ok [INFO] [stdout] test infra::app_server_transport::tests::response_id_matches_returns_false_when_id_is_missing ... ok [INFO] [stdout] test infra::app_server_transport::tests::response_id_matches_returns_true_for_matching_string_id ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_bridges_delta_assistant_message_unchanged ... ok [INFO] [stdout] test infra::app_server_transport::tests::extract_json_error_message_returns_message_string ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_bridges_progress_update_as_progress_event ... ok [INFO] [stdout] test infra::app_server_transport::tests::extract_json_error_message_returns_none_without_error ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_client_failure_returns_agent_error ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_codex_forwards_non_delta_assistant_messages ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_codex_forwards_non_delta_structured_json_streaming ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_passes_and_returns_provider_conversation_id ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_returns_correct_token_counts_and_context_reset ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_codex_keeps_plain_text_without_repair_retry ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_routes_codex_thinking_delta_to_thought_event ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_gemini_suppresses_streamed_assistant_messages ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_repairs_invalid_structured_output_for_gemini ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_skips_whitespace_only_assistant_messages ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_skips_delta_protocol_json_fragments ... ok [INFO] [stdout] test infra::channel::cli::tests::test_normalize_stream_response_content_keeps_answer_text_only ... ok [INFO] [stdout] test infra::channel::cli::tests::test_normalize_stream_response_content_keeps_plain_text ... ok [INFO] [stdout] test infra::channel::cli::tests::test_normalize_stream_response_content_suppresses_json_fragment ... ok [INFO] [stdout] test infra::channel::app_server::tests::test_run_turn_routes_codex_thinking_delta_with_uppercase_phase_to_thought_event ... ok [INFO] [stdout] test infra::channel::cli::tests::test_normalize_stream_response_content_suppresses_question_only_payload ... ok [INFO] [stdout] test infra::codex_app_server::tests::approval_policy_maps_auto_edit_mode ... ok [INFO] [stdout] test infra::channel::cli::tests::test_run_turn_spawn_failure_returns_err_without_delta ... ok [INFO] [stdout] test infra::codex_app_server::tests::auto_compact_input_token_threshold_uses_128k_limit_for_codex_spark ... ok [INFO] [stdout] test infra::codex_app_server::tests::auto_compact_input_token_threshold_uses_400k_limit_for_codex_models ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_pre_action_approval_response_for_command_request_uses_mode_decision ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_pre_action_approval_response_for_legacy_request_uses_legacy_decision ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_pre_action_approval_response_returns_none_for_non_approval_method ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_thread_resume_payload_sets_thread_id_and_model ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_thread_start_payload_does_not_set_root_instruction_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::auto_compact_input_token_threshold_falls_back_to_128k_limit_for_unknown_models ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_thread_start_payload_sets_live_web_search_config_without_dynamic_tools ... ok [INFO] [stdout] test infra::channel::cli::tests::test_run_turn_kill_signal_returns_err_without_stopped_delta ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_thread_start_payload_uses_thread_folder_as_cwd ... ok [INFO] [stdout] test infra::channel::cli::tests::test_run_turn_streams_deltas_and_progress_for_strict_protocol_provider ... ok [INFO] [stdout] test infra::channel::cli::tests::test_run_turn_clean_exit_returns_ok_result_without_context_reset ... ok [INFO] [stdout] test infra::codex_app_server::tests::camel_to_snake_converts_camel_case_strings ... ok [INFO] [stdout] test infra::codex_app_server::tests::compaction_timeout_error_includes_timeout_seconds ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_accepts_assistant_message_item_alias ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_delta_ignores_content_delta_for_agent_message_item ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_turn_start_payload_sets_structured_output_schema ... ok [INFO] [stdout] test infra::codex_app_server::tests::build_turn_start_payload_uses_thread_folder_as_cwd ... ok [INFO] [stdout] test infra::channel::cli::tests::test_run_turn_repairs_invalid_structured_output_for_claude ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_delta_ignores_content_for_agent_message_delta_notification ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_delta_returns_content_delta_for_reasoning_item ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_ignores_completion_status_lines ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_ignores_reasoning_item ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_delta_returns_content_for_reasoning_text_delta_notification ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_delta_returns_content_for_plan_delta_notification ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_ignores_agent_message_with_thought_phase ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_preserves_phase_for_agent_message_item ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_agent_message_returns_content_text_for_agent_message_item ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_handoff_turn_id_from_completion_returns_none_when_not_waiting_or_active ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_handoff_turn_id_from_completion_returns_turn_id_when_waiting ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_item_started_progress_returns_none_for_non_item_started_method ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_item_started_progress_returns_progress_for_command_execution ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_item_started_progress_returns_thinking_for_reasoning ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_item_started_progress_normalizes_camel_case_item_type ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_thread_token_usage_for_turn_reads_last_usage_for_matching_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_item_started_progress_returns_none_for_agent_message ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_thread_token_usage_for_turn_ignores_other_turn_ids ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_completed_error_message_includes_codex_error_info ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_start_response_supports_flat_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_start_response_supports_nested_flat_turn_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_started_notification_supports_flat_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_start_response_returns_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_completed_error_message_omits_absent_codex_error_info ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_started_notification_returns_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_usage_for_turn_ignores_other_turn_ids ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_id_from_turn_started_notification_supports_nested_flat_turn_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_usage_returns_none_when_usage_is_missing ... ok [INFO] [stdout] test infra::codex_app_server::tests::finalize_turn_completion_returns_latest_non_empty_assistant_message_for_completed_turn ... ok [INFO] [stdout] test infra::codex_app_server::tests::interrupted_turn_completion_with_error_is_not_treated_as_handoff ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_usage_for_turn_reads_matching_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::extract_turn_usage_reads_camel_case_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::interrupted_turn_completion_without_error_is_treated_as_handoff ... ok [INFO] [stdout] test infra::codex_app_server::tests::finalize_turn_completion_streams_error_message_for_non_completed_turn ... ok [INFO] [stdout] test infra::codex_app_server::tests::is_context_window_exceeded_error_detects_structured_error ... ok [INFO] [stdout] test infra::codex_app_server::tests::is_context_window_exceeded_error_returns_false_for_other_errors ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_accepts_matching_flat_turn_id_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_ignores_missing_turn_id_for_expected_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_ignores_notifications_before_turn_id_is_known ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_returns_error_for_failed_turn ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_accepts_matching_nested_flat_turn_id_fields ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_returns_error_for_interrupted_turn ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_accepts_matching_turn_id ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_returns_error_for_unfinished_turn_without_error_payload ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_ignores_other_turn_ids ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_returns_error_when_status_is_missing ... ok [INFO] [stdout] test infra::codex_app_server::tests::parse_turn_completed_returns_success_for_completed_turn ... ok [INFO] [stdout] test infra::codex_app_server::tests::resolve_turn_usage_prefers_completed_usage_over_stream_usage ... ok [INFO] [stdout] test infra::codex_app_server::tests::stream_turn_content_from_response_emits_phase_progress_once_per_phase ... ok [INFO] [stdout] test infra::codex_app_server::tests::thread_sandbox_mode_maps_auto_edit_mode ... ok [INFO] [stdout] test infra::codex_app_server::tests::resolve_turn_usage_falls_back_to_stream_usage_when_completed_usage_is_missing ... ok [INFO] [stdout] test infra::codex_app_server::tests::turn_completed_timeout_error_includes_timeout_seconds ... ok [INFO] [stdout] test infra::codex_app_server::tests::turn_prompt_for_runtime_replays_session_output_after_context_reset_with_path_instructions ... ok [INFO] [stdout] test infra::codex_app_server::tests::stream_turn_content_from_response_ignores_agent_message_delta_notifications ... ok [INFO] [stdout] test infra::codex_app_server::tests::turn_prompt_for_runtime_adds_repo_root_path_instructions_without_context_reset ... ok [INFO] [stdout] test infra::codex_app_server::tests::web_search_mode_maps_auto_edit_mode ... ok [INFO] [stdout] test infra::codex_app_server::tests::turn_sandbox_policy_enables_network_access_for_workspace_write ... ok [INFO] [stdout] test infra::codex_app_server::tests::update_turn_usage_from_response_prefers_thread_token_usage_updates ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_unwraps_structured_output_in_non_stream_fallback ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_streams_codex_structured_output_without_raw_json ... ok [INFO] [stdout] test app::session::workflow::task::tests::test_run_agent_assist_task_streams_gemini_output_with_compact_progress ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_consume_turn_events_keeps_badge_updates_out_of_transcript ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_consume_turn_events_keeps_streamed_thinking_updates_out_of_transcript ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_case_insensitive ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_empty_query_returns_all ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_fuzzy_match ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_fuzzy_no_match_wrong_order ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_fuzzy_ranks_consecutive_higher ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_fuzzy_ranks_segment_start_higher ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_matches_path_segments ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_no_match ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_prioritizes_basename_match ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_trailing_slash_matches_exact_directory ... ok [INFO] [stdout] test infra::file_index::tests::test_filter_entries_trailing_slash_prioritizes_directories ... ok [INFO] [stdout] test infra::file_index::tests::test_fuzzy_score_consecutive_beats_scattered ... ok [INFO] [stdout] test infra::file_index::tests::test_fuzzy_score_returns_none_for_no_match ... ok [INFO] [stdout] test infra::file_index::tests::test_fuzzy_score_returns_some_for_match ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_empty_directory ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_excludes_root_directory ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_consume_turn_events_suppresses_duplicate_thinking_updates ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_for_explorer_respects_custom_limits ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_includes_directories ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_consume_turn_events_returns_true_for_assistant_delta ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_includes_non_ignored_dotfiles ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_respects_gitignore ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_respects_max_depth ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_returns_relative_paths ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_returns_sorted_entries ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_sorts_directories_before_files ... ok [INFO] [stdout] test infra::file_index::tests::test_sort_and_limit_entries_truncates_after_sort ... ok [INFO] [stdout] test infra::gemini_acp::tests::bootstrap_runtime_session_initializes_then_creates_session ... ok [INFO] [stdout] test infra::gemini_acp::tests::bootstrap_runtime_session_returns_initialize_error_without_session_creation ... ok [INFO] [stdout] test infra::gemini_acp::tests::build_permission_response_ignores_mismatched_session_id ... ok [INFO] [stdout] test infra::gemini_acp::tests::build_permission_response_prefers_allow_always_over_allow_once ... ok [INFO] [stdout] test infra::gemini_acp::tests::build_permission_response_returns_cancelled_when_options_field_is_missing ... ok [INFO] [stdout] test infra::gemini_acp::tests::build_permission_response_returns_cancelled_without_options ... ok [INFO] [stdout] test infra::gemini_acp::tests::build_permission_response_selects_allow_once_when_allow_always_is_missing ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_assistant_message_chunk_reads_text_from_nested_parts ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_assistant_message_chunk_returns_text_for_message_chunk ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_progress_update_returns_thinking_for_thought_chunks ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_should_skip_worker_command_when_cancel_is_requested ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_progress_update_returns_tool_completed_for_completed_tool_call ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_progress_update_returns_tool_title_for_in_progress_tool_call ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_session_update_kind_ignores_mismatched_session ... ok [INFO] [stdout] test infra::gemini_acp::tests::extract_session_update_kind_reads_matching_update_kind ... ok [INFO] [stdout] test infra::gemini_acp::tests::initialize_runtime_returns_error_for_json_rpc_error_payload ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_prompt_completion_response_reads_output_content_parts ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_prompt_completion_response_reads_snake_case_usage_fields ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_prompt_completion_response_returns_error_without_result_payload ... ok [INFO] [stdout] test infra::gemini_acp::tests::initialize_runtime_writes_initialize_then_initialized_notification ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_session_new_response_returns_error_when_session_id_is_missing ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_prompt_completion_response_returns_usage_and_assistant_message ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_session_new_response_returns_session_id_for_success_payload ... ok [INFO] [stdout] test infra::gemini_acp::tests::run_turn_with_runtime_handles_permission_progress_chunk_and_completion ... ok [INFO] [stdout] test infra::gemini_acp::tests::parse_session_new_response_returns_json_rpc_error_message ... ok [INFO] [stdout] test infra::gemini_acp::tests::start_session_writes_session_new_and_returns_session_id ... ok [INFO] [stdout] test infra::gemini_acp::tests::stream_assistant_chunk_ignores_empty_chunks ... ok [INFO] [stdout] test infra::gemini_acp::tests::stream_assistant_chunk_sends_assistant_message_event_for_non_empty_chunks ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_fail_unfinished_operations_from_previous_run_restores_session_review_status ... ok [INFO] [stdout] test app::session::workflow::worker::tests::test_should_skip_worker_command_without_cancel_request ... ok [INFO] [stdout] test infra::db::tests::test_load_reasoning_level_defaults_when_setting_is_missing_or_invalid ... ok [INFO] [stdout] test infra::git::client::tests::test_abort_rebase_returns_error_without_rebase_state_or_stale_metadata ... ok [INFO] [stdout] test infra::db::tests::test_load_session_activity_timestamps_keeps_deleted_session_history ... ok [INFO] [stdout] test infra::db::tests::test_insert_session_creation_activity_at_ignores_duplicates_per_session ... ok [INFO] [stdout] test infra::db::tests::test_session_provider_conversation_id_round_trip_and_clear ... ok [INFO] [stdout] test infra::git::client::tests::test_abort_rebase_cleans_stale_rebase_merge_metadata ... ok [INFO] [stdout] test infra::db::tests::test_set_and_load_active_project_id_round_trip ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_detects_conflict_keyword ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_detects_could_not_apply ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_detects_mark_as_resolved ... ok [INFO] [stdout] test infra::git::client::tests::test_is_no_upstream_error_detects_upstream_hint ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_detects_unresolved_conflict ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_returns_false_for_index_lock_error ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_returns_false_for_unrelated_error ... ok [INFO] [stdout] test infra::db::tests::test_load_projects_with_stats_returns_session_counts_and_last_update ... ok [INFO] [stdout] test infra::db::tests::test_reasoning_level_round_trip_uses_typed_setting_helpers ... ok [INFO] [stdout] test infra::db::tests::test_insert_session_creation_activity_at_persists_timestamp ... ok [INFO] [stdout] test infra::db::tests::test_set_project_favorite_updates_project_state ... ok [INFO] [stdout] test infra::db::tests::test_setting_round_trip_supports_default_smart_fast_and_review_models ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_for_explorer_can_be_unbounded ... ok [INFO] [stdout] test infra::git::client::tests::test_commit_all_preserving_single_commit_creates_first_commit ... ok [INFO] [stdout] test infra::git::client::tests::test_is_rebase_conflict_detects_committing_not_possible ... ok [INFO] [stdout] test infra::git::client::tests::test_is_worktree_clean_returns_false_for_dirty_repo ... ok [INFO] [stdout] test infra::git::client::tests::test_is_worktree_clean_returns_true_for_clean_repo ... ok [INFO] [stdout] test infra::git::client::tests::test_commit_all_preserving_single_commit_amends_existing_session_commit ... ok [INFO] [stdout] test infra::git::client::tests::test_list_local_commit_titles_returns_error_without_upstream ... ok [INFO] [stdout] test infra::git::client::tests::test_list_upstream_commit_titles_returns_error_without_upstream ... ok [INFO] [stdout] test infra::git::client::tests::test_main_repo_root_returns_repo_root_for_main_worktree ... ok [INFO] [stdout] test infra::git::rebase::tests::test_run_git_command_with_index_lock_retry_does_not_sleep_for_non_lock_errors ... ok [INFO] [stdout] test infra::git::repo::tests::test_apply_non_interactive_environment_sets_git_prompt_controls ... ok [INFO] [stdout] test infra::tmux::tests::parse_tmux_window_id_returns_none_for_invalid_utf8 ... ok [INFO] [stdout] test infra::tmux::tests::parse_tmux_window_id_trims_newline_and_returns_window_id ... ok [INFO] [stdout] test infra::version::tests::test_fetch_latest_npm_version_tag_sync_falls_back_to_registry_curl ... ok [INFO] [stdout] test infra::version::tests::test_fetch_latest_npm_version_tag_sync_prefers_npm_cli_result ... ok [INFO] [stdout] test infra::git::client::tests::test_pull_rebase_returns_error_without_upstream ... ok [INFO] [stdout] test infra::version::tests::test_is_newer_than_current_version_returns_false_when_candidate_is_not_newer ... ok [INFO] [stdout] test infra::version::tests::test_is_newer_than_current_version_returns_true_when_candidate_is_newer ... ok [INFO] [stdout] test infra::version::tests::test_parse_registry_latest_response_extracts_version ... ok [INFO] [stdout] test infra::version::tests::test_parse_version_accepts_prefixed_version ... ok [INFO] [stdout] test infra::version::tests::test_parse_version_rejects_invalid_version ... ok [INFO] [stdout] test infra::version::tests::test_parse_npm_cli_version_response_accepts_json_string ... ok [INFO] [stdout] test infra::version::tests::test_version_tag_prefixes_semver_with_v ... ok [INFO] [stdout] test runtime::event::tests::test_spawn_event_reader_with_source_skips_polling_when_paused ... ok [INFO] [stdout] test infra::git::rebase::tests::test_run_git_command_with_index_lock_retry_retries_and_sleeps_before_success ... ok [INFO] [stdout] test runtime::event::tests::test_spawn_event_reader_with_source_forwards_event_to_channel ... ok [INFO] [stdout] test runtime::event::tests::test_spawn_event_reader_with_source_stops_when_receiver_is_dropped ... ok [INFO] [stdout] test runtime::event::tests::test_spawn_event_reader_with_source_skips_read_when_poll_returns_false ... ok [INFO] [stdout] test infra::git::client::tests::test_diff_keeps_new_commits_after_leading_squash_merged_commit ... ok [INFO] [stdout] test infra::file_index::tests::test_list_files_respects_max_entries ... ok [INFO] [stdout] test infra::git::client::tests::test_main_repo_root_returns_shared_repo_root_for_linked_worktree ... ok [INFO] [stdout] test infra::git::client::tests::test_push_current_branch_returns_error_without_remote ... ok [INFO] [stdout] test infra::git::client::tests::test_diff_hides_leading_squash_merged_commit_for_non_rebased_session ... ok [INFO] [stdout] test runtime::key_handler::tests::test_next_open_command_index_wraps_to_start ... ok [INFO] [stdout] test runtime::key_handler::tests::test_previous_open_command_index_wraps_to_end ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_enter_uses_selected_option ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_returns_cancel_for_escape ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_returns_cancel_for_no_shortcut ... ok [INFO] [stdout] test infra::git::client::tests::test_diff_does_not_include_base_only_commits ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_updates_selection_with_arrow_keys ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_updates_selection_with_h_and_l_shortcuts ... ok [INFO] [stdout] test runtime::mode::confirmation::tests::test_handle_returns_confirm_for_yes_shortcut ... ok [INFO] [stdout] test infra::git::client::tests::test_squash_merge_returns_committed_when_changes_exist ... ok [INFO] [stdout] test infra::git::client::tests::test_list_local_commit_titles_returns_new_local_commit_titles ... ok [INFO] [stdout] test infra::git::client::tests::test_squash_merge_returns_already_present_when_changes_exist_in_target ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_confirmation_decision_cancel_returns_to_list ... ok [INFO] [stdout] test infra::git::client::tests::test_commit_all_preserving_single_commit_retries_index_lock_and_succeeds ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_open_command_selector_key_escape_restores_view_mode ... ok [INFO] [stdout] test infra::git::client::tests::test_pull_rebase_targets_local_upstream_when_upstream_name_has_no_remote_prefix ... ok [INFO] [stdout] test infra::git::client::tests::test_pull_rebase_targets_single_upstream_when_merge_targets_are_ambiguous ... ok [INFO] [stdout] test infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles ... FAILED [INFO] [stdout] test runtime::key_handler::tests::test_handle_confirmation_decision_confirm_quits_when_no_session_context ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_open_command_selector_key_j_updates_selected_index ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_down_key_increments_scroll_offset ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_j_wraps_file_selection_from_last_to_first ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_confirmation_decision_cancel_restores_view_for_merge_confirmation ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_j_resets_scroll_offset ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_k_resets_scroll_offset ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_confirmation_decision_confirm_queues_merge_with_view_restore ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_k_wraps_file_selection_from_first_to_last ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_non_diff_mode_leaves_mode_unchanged ... ok [INFO] [stdout] test runtime::key_handler::tests::test_handle_confirmation_decision_confirm_deletes_session_when_context_exists ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_question_mark_opens_help_overlay ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_quit_key_returns_to_view_mode ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_shift_j_increments_scroll_offset ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_shift_k_saturates_scroll_offset_at_zero ... ok [INFO] [stdout] test runtime::mode::diff::tests::test_handle_up_key_saturates_scroll_offset_at_zero ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_down_key_increments_scroll_offset ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_up_key_saturates_at_zero ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_non_help_mode_leaves_mode_unchanged ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_quit_key_restores_view_mode ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_restores_diff_mode_with_content ... ok [INFO] [stdout] test runtime::mode::help::tests::test_handle_question_mark_restores_list_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_backtab_key_cycles_tabs_backward ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_add_key_creates_session_and_opens_prompt_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_alt_enter_key_inserts_open_command_newline_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_backspace_key_removes_open_command_character_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_control_j_key_inserts_open_command_newline_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_delete_key_without_selection_does_nothing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_char_key_appends_open_command_value_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_delete_key_opens_delete_confirmation ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_e_key_with_selected_session_keeps_list_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_e_key_without_session_selection_keeps_list_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_opens_done_session ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_opens_canceled_session ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_opens_selected_session_in_view_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_without_session_selection_keeps_list_mode ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_switches_to_sessions_tab_from_projects_tab ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_opens_selected_question_session_in_question_mode ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_build_stats_markdown_renders_aligned_usage_table_without_box ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_build_stats_markdown_renders_no_usage_message ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_format_duration_large ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_format_duration_mixed ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_format_duration_zero ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_format_stats_metric_line_uses_tab_delimiter ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_question_mark_opens_help_overlay ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_quit_key_shows_confirm_quit_overlay ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_esc_key_stops_open_command_editing_when_already_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_left_key_moves_open_command_cursor_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_line_feed_key_inserts_open_command_newline_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_starts_open_command_editing_in_settings_tab ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_keeps_persisted_size_until_turn_completion ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_enter_key_stops_open_command_editing_when_already_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_shift_carriage_return_key_inserts_open_command_newline_while_editing ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_sync_key_uses_project_name_and_branch_in_popup_message ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_sync_key_shows_failure_when_upstream_is_missing ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_at_mention_select_dismisses_stale_mention_state ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_sync_key_opens_popup_when_main_has_uncommitted_changes ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_backspace_resets_history_navigation ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_active_at_mention_false_for_email_pattern ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_active_at_mention_false_without_state ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_active_at_mention_true_for_valid_query ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_paste_inserts_multiline_content_with_normalized_newlines ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_control_line_delete_key_rejects_plain_u ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_control_newline_key_accepts_ctrl_j ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_control_newline_key_accepts_ctrl_m ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_control_newline_key_rejects_plain_j ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_enter_key_for_carriage_return ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_enter_key_for_enter ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_enter_key_for_line_feed ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_enter_key_for_other_key ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_line_delete_backspace_accepts_super_modifier ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_line_delete_backspace_rejects_plain_backspace ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_plain_char_key_for_plain_character ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_plain_char_key_rejects_modifier_keys ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_plain_char_key_rejects_other_character ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_word_delete_backspace_accepts_alt_modifier ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_word_delete_backspace_accepts_shift_modifier ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_word_delete_backspace_rejects_plain_backspace ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_is_control_line_delete_key_accepts_ctrl_u ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_up_key_moves_open_command_cursor_to_previous_line ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_at_mention_select_inserts_directory_with_trailing_slash ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_normalize_pasted_text_replaces_carriage_returns ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_commands_lists_all_commands ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_backspace_with_shift_removes_whitespace_separators ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_commands_match_stats ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_commands_no_match ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_option_count_for_agent_stage ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_commands_match_model ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_slash_option_count_for_model_stage ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_alt_enter ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_sync_key_is_case_insensitive ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_alt_line_feed ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_alt_shift_enter ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_alt_carriage_return ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_shift_line_feed ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_shift_carriage_return ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_insert_newline_for_shift_enter ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_not_insert_newline_for_control_enter ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_not_insert_newline_for_non_enter_key ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_should_not_insert_newline_for_plain_enter ... ok [INFO] [stdout] test runtime::mode::question::tests::test_build_question_reply_prompt_formats_all_pairs ... ok [INFO] [stdout] test runtime::mode::list::tests::test_handle_shift_enter_key_inserts_open_command_newline_while_editing ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_backspace_with_shift_removes_whole_word ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_cancel_key_deletes_blank_session ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_backspace_with_super_deletes_full_line ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_can_open_session_worktree_disables_canceled_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_can_open_session_worktree_disables_done_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_can_open_session_worktree_disables_queued_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_can_open_session_worktree_enables_review_state ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_backspace_with_alt_removes_whole_word ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_left_with_shift_moves_cursor_to_previous_word_start ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_char_activates_and_clears_at_mention_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_done_output_toggle_key_accepts_done_status_with_t ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_done_output_toggle_key_rejects_control_modified_key ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_done_output_toggle_key_rejects_non_done_status ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_focused_review_loading_status_message_matches_model_aware_message ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_focused_review_loading_status_message_rejects_unrelated_message ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_action_allowed_only_for_non_done_non_in_progress_status ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_diff_allowed_only_for_review_status ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_focused_review_allowed_only_for_review_status ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_worktree_open_allowed_returns_false_for_canceled ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_worktree_open_allowed_returns_false_for_merge_queue_statuses ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_is_view_worktree_open_allowed_returns_true_for_in_progress ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_left_with_shift_skips_whitespace_separators ... ok [INFO] [stdout] test runtime::mode::question::tests::test_handle_paste_normalizes_line_endings ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_prompt_history_entries_extracts_user_prompts ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_prompt_history_entries_ignores_non_prompt_lines ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_prompt_history_entries_keeps_multiline_prompts ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_prompt_history_entries_keeps_multiple_blank_lines_in_prompts ... ok [INFO] [stdout] test runtime::mode::question::tests::test_handle_enter_on_last_question_transitions_to_view_mode ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_right_with_shift_moves_cursor_to_next_word_start ... ok [INFO] [stdout] test runtime::mode::question::tests::test_handle_escape_skips_question_with_no_answer ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_scroll_offset_down_returns_none_at_end_of_content ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_scroll_offset_up_uses_bottom_when_scroll_is_unset ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_handle_prompt_line_delete_with_ctrl_u_deletes_full_line ... ok [INFO] [stdout] test runtime::mode::question::tests::test_handle_enter_with_blank_response_records_no_answer ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_navigate_prompt_history_down_restores_draft_after_latest_entry ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_navigate_prompt_history_up_selects_latest_entry_and_saves_draft ... ok [INFO] [stdout] test runtime::mode::prompt::tests::test_prompt_context_marks_email_pattern_as_inactive_mention ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_session_state_maps_rebasing_status ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_session_state_maps_merge_queue_statuses ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_append_output_for_session_appends_text ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_format_sync_success_message_includes_markdown_sections ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_apply_view_scroll_and_output_mode_updates_focused_review_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_open_merge_confirmation_sets_confirmation_mode_with_view_restore_state ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_focused_review_diff_for_view_session_returns_git_diff_text ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_focused_review_diff_for_view_session_returns_empty_diff_message ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_focused_review_assist_model_returns_default_review_model_setting ... ok [INFO] [stdout] test runtime::terminal::tests::launch_external_editor_passes_working_directory_binary_and_args ... ok [INFO] [stdout] test runtime::terminal::tests::launch_external_editor_returns_launcher_error ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_activity_day_key_with_offset_applies_negative_offset ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_activity_day_key_with_offset_applies_positive_offset ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_build_activity_heatmap_grid_places_values_in_expected_cells ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_build_heatmap_month_row_places_labels_on_week_columns ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_build_visible_heatmap_month_row_uses_trailing_weeks ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_heatmap_intensity_level_scales_from_zero_to_max ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_heatmap_max_count_returns_largest_daily_value ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_heatmap_month_markers_start_on_month_changes ... ok [INFO] [stdout] test ui::activity_heatmap::tests::test_visible_heatmap_week_count_clamps_to_available_width ... ok [INFO] [stdout] test ui::component::chat_input::tests::test_builder_methods ... ok [INFO] [stdout] test ui::component::chat_input::tests::test_total_viewport_line_count_uses_cursor_row_when_cursor_is_below_last_display_line ... ok [INFO] [stdout] test ui::component::confirmation_overlay::tests::test_confirmation_overlay_new_stores_fields ... ok [INFO] [stdout] test ui::component::confirmation_overlay::tests::test_confirmation_overlay_render_hides_bottom_navigation_hints ... ok [INFO] [stdout] test ui::component::confirmation_overlay::tests::test_confirmation_overlay_render_preserves_choices_for_long_message ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_list_lines_with_nested_structure ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_list_lines_with_no_files ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_list_lines_with_nonstandard_header ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_list_lines_with_rename ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_list_lines_with_same_path ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_tree_items_nested_structure ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_tree_items_returns_folders_and_files ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_file_tree_items_with_rename ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_filter_diff_lines_by_file ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_filter_diff_lines_by_folder ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_next_selected_index_wraps_from_last_to_first ... ok [INFO] [stdout] test ui::component::file_explorer::tests::test_previous_selected_index_wraps_from_first_to_last ... ok [INFO] [stdout] test ui::component::footer_bar::tests::test_footer_bar_new_with_git_branch ... ok [INFO] [stdout] test ui::component::footer_bar::tests::test_footer_bar_new_without_git_branch ... ok [INFO] [stdout] test ui::component::footer_bar::tests::test_footer_bar_render_with_git_branch ... ok [INFO] [stdout] test ui::component::footer_bar::tests::test_footer_bar_render_with_git_status ... ok [INFO] [stdout] test ui::component::footer_bar::tests::test_footer_bar_render_without_git_branch ... ok [INFO] [stdout] test ui::component::help_overlay::tests::test_centered_rect_centers_within_area ... ok [INFO] [stdout] test ui::component::help_overlay::tests::test_centered_rect_clamps_to_area_when_small ... ok [INFO] [stdout] test ui::component::help_overlay::tests::test_centered_rect_respects_minimum_dimensions ... ok [INFO] [stdout] test ui::component::help_overlay::tests::test_help_overlay_new_stores_fields ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_info_overlay_new_stores_fields ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_open_worktree_for_view_session_opens_command_selector_for_multiple_commands ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_info_overlay_render_includes_loading_indicator_when_loading ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_info_overlay_render_includes_ok_indicator ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_markdown_message_with_block_headers_formats_sync_sections ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_markdown_message_with_block_headers_inserts_missing_section_spacing ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_message_lines_highlight_inline_code_segments ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_message_lines_keeps_each_sentence_on_its_own_line ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_question_mark_sets_help_mode_from_view_context ... ok [INFO] [stdout] test ui::component::open_command_overlay::tests::test_open_command_overlay_new_stores_default_selection ... ok [INFO] [stdout] test ui::component::open_command_overlay::tests::test_open_command_overlay_popup_area_is_centered ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_info_overlay_render_keeps_ok_indicator_for_multiline_message ... ok [INFO] [stdout] test ui::component::session_output::tests::test_builder_methods ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_horizontal_border_width_is_zero_without_vertical_borders ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_appends_empty_line_before_spinner ... ok [INFO] [stdout] test ui::component::open_command_overlay::tests::test_open_command_overlay_render_contains_hint_text ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_appends_empty_line_when_done ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_done_focused_review_mode_shows_summary_toggle_action ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_done_output_mode_shows_summary_toggle_action ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_done_summary_mode_shows_output_toggle_action ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_focused_review_mode_prefers_assisted_text ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_focused_review_mode_shows_status_message ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_focused_review_mode_shows_unavailable_message_without_assisted_text ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_render_user_prompt_with_cyan_bold_styling ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_use_full_panel_width_without_vertical_borders ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_uses_summary_for_canceled_session ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_uses_streamed_output_for_done_session_in_output_mode ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_text_with_spaced_user_input_adds_empty_line_before_and_after ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_lines_uses_summary_for_done_session ... ok [INFO] [stdout] test ui::component::info_overlay::tests::test_result_state_centers_branch_header_like_loading_state ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_text_with_spaced_user_input_keeps_multiline_user_prompt_together ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_text_with_spaced_user_input_keeps_existing_empty_lines ... ok [INFO] [stdout] test ui::component::session_output::tests::test_output_text_with_spaced_user_input_adds_question_group_spacing_for_clarifications ... ok [INFO] [stdout] test ui::component::session_output::tests::test_status_message_for_merging ... ok [INFO] [stdout] test ui::component::session_output::tests::test_status_message_for_queued ... ok [INFO] [stdout] test ui::component::session_output::tests::test_status_message_uses_active_progress_with_animated_suffix ... ok [INFO] [stdout] test ui::component::status_bar::tests::test_status_bar_new_stores_versions ... ok [INFO] [stdout] test ui::component::status_bar::tests::test_status_bar_render_shows_current_version_without_update ... ok [INFO] [stdout] test ui::component::session_output::tests::test_render_does_not_draw_status_title_in_output_border ... ok [INFO] [stdout] test ui::component::tab::tests::test_tab_spans_highlight_the_active_tab ... ok [INFO] [stdout] test ui::component::status_bar::tests::test_status_bar_render_shows_update_notice_when_available ... ok [INFO] [stdout] test ui::component::tab::tests::test_tab_spans_render_divider_spans_with_border_color ... ok [INFO] [stdout] test ui::component::tab::tests::test_tab_spans_include_selected_project_name_in_sessions_label ... ok [INFO] [stdout] test ui::component::tab::tests::test_tab_spans_use_equal_spacing_between_labels ... ok [INFO] [stdout] test ui::diff_util::tests::test_build_focused_review_text_handles_empty_diff ... ok [INFO] [stdout] test ui::diff_util::tests::test_build_focused_review_text_uses_fallback_when_summary_and_critical_hits_missing ... ok [INFO] [stdout] test ui::diff_util::tests::test_build_focused_review_text_includes_summary_and_critical_highlights ... ok [INFO] [stdout] test ui::diff_util::tests::test_diff_line_change_totals ... ok [INFO] [stdout] test ui::diff_util::tests::test_diff_line_change_totals_ignores_headers ... ok [INFO] [stdout] test ui::diff_util::tests::test_max_diff_line_number ... ok [INFO] [stdout] test ui::diff_util::tests::test_max_diff_line_number_empty ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_diff_lines_empty ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_diff_lines_full ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_hunk_header_basic ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_hunk_header_invalid ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_hunk_header_no_count ... ok [INFO] [stdout] test ui::diff_util::tests::test_parse_hunk_header_with_context ... ok [INFO] [stdout] test ui::diff_util::tests::test_wrap_diff_content_empty ... ok [INFO] [stdout] test ui::diff_util::tests::test_wrap_diff_content_exact ... ok [INFO] [stdout] test ui::diff_util::tests::test_wrap_diff_content_fits ... ok [INFO] [stdout] test ui::diff_util::tests::test_wrap_diff_content_wraps ... ok [INFO] [stdout] test ui::icon::tests::test_as_str ... ok [INFO] [stdout] test ui::icon::tests::test_current_spinner ... ok [INFO] [stdout] test ui::icon::tests::test_display_matches_as_str ... ok [INFO] [stdout] test ui::icon::tests::test_spinner_frames ... ok [INFO] [stdout] test ui::icon::tests::test_spinner_wraps ... ok [INFO] [stdout] test ui::layout::tests::test_calculate_input_viewport_clamps_cursor_to_last_line ... ok [INFO] [stdout] test ui::layout::tests::test_calculate_input_viewport_with_scroll ... ok [INFO] [stdout] test ui::layout::tests::test_calculate_input_height ... ok [INFO] [stdout] test ui::layout::tests::test_calculate_input_viewport_without_scroll ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_at_mention_highlighting_stops_before_trailing_comma ... ok [INFO] [stdout] test ui::component::session_output::tests::test_rendered_line_count_counts_wrapped_content ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_at_mention_highlighting ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_at_mention_highlighting_stops_before_trailing_parenthesis ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_cursor_at_start ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_cursor_in_middle ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_cursor_before_wrapped_char ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_cursor_moves_to_next_line_before_wrapped_word ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_cursor_on_second_line ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_empty ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_exact_fit ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_explicit_newline ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_multiline_exact_fit ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_multiple_newlines ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_no_highlight_for_email ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_wrap ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_single_line ... ok [INFO] [stdout] test ui::layout::tests::test_compute_input_layout_wraps_whole_words_when_they_fit_on_next_line ... ok [INFO] [stdout] test ui::layout::tests::test_move_input_cursor_down_on_wrapped_layout ... ok [INFO] [stdout] test ui::layout::tests::test_input_cursor_position_accounts_for_border_and_offsets ... ok [INFO] [stdout] test ui::layout::tests::test_move_input_cursor_up_on_wrapped_layout ... ok [INFO] [stdout] test ui::layout::tests::test_placeholder_cursor_position_accounts_for_border_and_prompt_prefix ... ok [INFO] [stdout] test ui::layout::tests::test_slash_menu_dropdown_height_includes_border_lines ... ok [INFO] [stdout] test ui::layout::tests::test_slash_menu_dropdown_height_saturates_at_u16_max ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_does_not_highlight_non_lookup_at_symbol_in_user_prompt_block ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_highlights_file_lookups_in_user_prompt_block ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_keeps_text_after_multiple_blank_lines_in_user_prompt_block ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_leaves_unmatched_inline_delimiters_literal ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_parses_inline_styles ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_renders_fenced_code_without_inline_parsing ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_renders_horizontal_rule ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_renders_stats_metric_with_fixed_alignment ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_renders_stats_section_title_style ... ok [INFO] [stdout] test ui::layout::tests::test_first_table_column_width_uses_remaining_layout_space ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_styles_heading ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_styles_multiline_user_prompt ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_keeps_prompt_continuation_line_verbatim ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_styles_user_prompt ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_treats_unclosed_fence_as_code ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_blockquote_with_prefix ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_bullets_with_continuation_indent ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_rebase_view_session_appends_error_output_without_review_status ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_styles_clarification_block_differently_from_user_prompt ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_clarification_answer_on_word_boundaries ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_long_prompt_word_with_hard_fallback ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_numbered_list_with_continuation_indent ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_user_prompt_content_with_continuation_padding ... ok [INFO] [stdout] test ui::markdown::tests::test_render_markdown_wraps_user_prompt_on_word_boundaries ... ok [INFO] [stdout] test ui::markdown::tests::test_wrap_verbatim_spans_handles_wide_characters ... ok [INFO] [stdout] test ui::markdown::tests::test_wrap_verbatim_spans_with_word_boundaries_handles_wide_characters ... ok [INFO] [stdout] test ui::markdown::tests::test_wrap_verbatim_spans_with_word_boundaries_wraps_when_word_reaches_edge ... ok [INFO] [stdout] test ui::overlay::tests::test_sync_popup_message_with_branch_only ... ok [INFO] [stdout] test ui::overlay::tests::test_sync_popup_message_with_project_and_branch ... ok [INFO] [stdout] test ui::overlay::tests::test_sync_popup_message_with_project_only ... ok [INFO] [stdout] test ui::overlay::tests::test_sync_popup_message_without_project_or_branch ... ok [INFO] [stdout] test ui::page::diff::tests::test_selected_diff_lines_returns_filtered_section_for_selected_file ... ok [INFO] [stdout] test ui::page::diff::tests::test_selected_diff_lines_returns_full_diff_when_index_is_out_of_bounds ... ok [INFO] [stdout] test ui::page::project_list::tests::test_format_last_opened_uses_iso_like_date ... ok [INFO] [stdout] test ui::page::project_list::tests::test_project_row_values_mark_active_project_title ... ok [INFO] [stdout] test ui::page::project_list::tests::test_project_row_values_show_metadata ... ok [INFO] [stdout] test ui::page::project_list::tests::test_project_table_column_spacing_is_wider_for_readability ... ok [INFO] [stdout] test ui::page::project_list::tests::test_row_highlight_symbol_uses_background_only_selection ... ok [INFO] [stdout] test ui::page::project_list::tests::test_session_count_line_colors_active_indicator_yellow ... ok [INFO] [stdout] test ui::page::project_list::tests::test_session_count_line_shows_plain_total_without_active ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_bottom_height_caps_prompt_input_panel_to_ten_lines ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_bottom_height_preserves_space_for_output_area ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_bottom_height_question_mode_includes_question_input_and_help_rows ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_bottom_height_question_mode_preserves_space_for_output_area ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_clamps_selected_index ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_caps_at_10 ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_directory_has_trailing_slash ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_empty_query_returns_all ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_no_matches ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_scroll_window ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_with_matches ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_slash_menu_for_agent_stage_has_agent_descriptions ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_at_mention_menu_with_trailing_slash_includes_exact_directory ... ok [INFO] [stdout] test ui::page::diff::tests::test_render_shows_updated_diff_help_hint ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_slash_menu_for_command_stage_includes_commands ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_slash_menu_for_model_stage_has_model_descriptions ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_command_description_stats ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_context_falls_back_to_list_when_session_is_missing ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_rendered_output_line_count_counts_wrapped_content ... ok [INFO] [stdout] test ui::page::diff::tests::test_render_applies_background_tints_to_changed_lines ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_canceled_shows_only_back_scroll_and_help ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_done_focused_review_mode_shows_summary_toggle_hint ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_done_hides_open_hint ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_done_output_mode_shows_summary_toggle_hint ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_build_slash_menu_for_command_stage_has_description ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_in_progress_shows_open_and_hides_diff ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_includes_reply_open_and_git_actions ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_merge_queue_statuses_hide_open_editor ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_rebasing_keeps_open ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_view_help_text_review_shows_focused_review_and_hides_diff_hint ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_render_truncates_long_session_header_title ... ok [INFO] [stdout] test ui::page::session_list::tests::test_content_chunks_use_shared_page_margin ... ok [INFO] [stdout] test ui::page::session_list::tests::test_grouped_session_indexes_orders_selectable_sessions_without_headers ... ok [INFO] [stdout] test ui::page::session_list::tests::test_model_column_width_uses_longest_model_value ... ok [INFO] [stdout] test ui::page::session_list::tests::test_grouped_session_rows_includes_placeholder_for_groups_without_sessions ... ok [INFO] [stdout] test ui::page::session_list::tests::test_preferred_initial_session_index_falls_back_to_first_grouped_session ... ok [INFO] [stdout] test ui::page::session_list::tests::test_project_column_width_uses_longest_project_value ... ok [INFO] [stdout] test ui::page::session_list::tests::test_row_highlight_symbol_uses_background_only_selection ... ok [INFO] [stdout] test ui::page::session_list::tests::test_selected_render_row_maps_original_selection_to_grouped_index ... ok [INFO] [stdout] test ui::page::session_list::tests::test_session_list_help_line_hides_cancel_for_non_review_session ... ok [INFO] [stdout] test ui::page::session_chat::tests::test_render_places_session_header_above_output_border ... ok [INFO] [stdout] test ui::page::session_list::tests::test_preferred_initial_session_index_prefers_active_group_when_available ... ok [INFO] [stdout] test ui::page::session_list::tests::test_prepare_grouped_table_state_resets_offset_and_sets_selected_group_row ... ok [INFO] [stdout] test ui::page::session_list::tests::test_session_list_help_line_includes_sync_for_non_empty_sessions ... ok [INFO] [stdout] test ui::page::session_list::tests::test_session_list_help_line_includes_open_editor_for_selected_session ... ok [INFO] [stdout] test ui::page::session_list::tests::test_session_list_help_line_includes_open_for_canceled_session ... ok [INFO] [stdout] test ui::page::session_list::tests::test_size_color_uses_expected_palette ... ok [INFO] [stdout] test ui::page::session_list::tests::test_grouped_session_rows_orders_merge_queue_before_active_and_archive_sessions ... ok [INFO] [stdout] test ui::page::session_list::tests::test_size_column_width_uses_header_width ... ok [INFO] [stdout] test ui::page::session_list::tests::test_status_column_width_uses_longest_possible_status_label ... ok [INFO] [stdout] test ui::page::setting::tests::test_settings_table_column_spacing_is_wider_for_readability ... ok [INFO] [stdout] test ui::page::stat::tests::test_build_heatmap_lines_trims_visible_weeks_on_narrow_width ... ok [INFO] [stdout] test ui::page::session_list::tests::test_table_column_spacing_is_wider_for_readability ... ok [INFO] [stdout] test ui::page::setting::tests::test_row_highlight_symbol_uses_background_only_selection ... ok [INFO] [stdout] test ui::page::stat::tests::test_build_heatmap_lines_uses_persisted_activity_for_max_count ... ok [INFO] [stdout] test ui::page::stat::tests::test_token_stats_table_column_spacing_is_wider_for_readability ... ok [INFO] [stdout] test ui::state::app_mode::tests::test_done_session_output_mode_toggle_switches_between_variants ... ok [INFO] [stdout] test ui::state::app_mode::tests::test_confirmation_view_mode_into_view_mode_restores_snapshot_values ... ok [INFO] [stdout] test ui::state::app_mode::tests::test_help_context_list_keybindings_return_stored_actions ... ok [INFO] [stdout] test ui::state::app_mode::tests::test_help_context_restore_mode_ignores_view_help_flags ... ok [INFO] [stdout] test ui::state::app_mode::tests::test_help_context_view_keybindings_for_in_progress_hide_edit_actions ... ok [INFO] [stdout] test ui::state::help_action::tests::test_footer_line_styles_keys_labels_and_separator ... ok [INFO] [stdout] test ui::state::help_action::tests::test_session_list_actions_hide_enter_without_openable_session ... ok [INFO] [stdout] test ui::state::help_action::tests::test_session_list_footer_actions_hides_non_critical_session_commands ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_done_shows_toggle_and_hides_edit_actions ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_in_progress_shows_open_and_hides_edit_actions ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_interactive_hides_diff ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_merge_queue_hides_open_nvim_and_stop ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_rebasing_shows_open_without_stop ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_actions_review_shows_diff ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_footer_actions_merge_queue_hides_open_nvim_and_stop ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_footer_actions_rebasing_shows_open_without_stop ... ok [INFO] [stdout] test ui::state::help_action::tests::test_view_footer_actions_review_shows_advanced_actions ... ok [INFO] [stdout] test ui::text_util::tests::test_format_duration_compact ... ok [INFO] [stdout] test ui::text_util::tests::test_format_token_count ... ok [INFO] [stdout] test ui::text_util::tests::test_format_token_count_millions ... ok [INFO] [stdout] test ui::text_util::tests::test_format_token_count_small ... ok [INFO] [stdout] test ui::text_util::tests::test_format_token_count_thousands ... ok [INFO] [stdout] test ui::text_util::tests::test_truncate_with_ellipsis_adds_three_dots_when_text_overflows ... ok [INFO] [stdout] test ui::text_util::tests::test_truncate_with_ellipsis_keeps_full_text_when_it_fits ... ok [INFO] [stdout] test ui::text_util::tests::test_truncate_with_ellipsis_uses_only_dots_for_tiny_widths ... ok [INFO] [stdout] test ui::text_util::tests::test_wrap_lines_wrapping ... ok [INFO] [stdout] test ui::text_util::tests::test_wrap_lines_basic ... ok [INFO] [stdout] test ui::text_util::tests::test_wrap_styled_line_collapses_extra_whitespace ... ok [INFO] [stdout] test ui::text_util::tests::test_wrap_styled_line_zero_width_returns_original_line ... ok [INFO] [stdout] test ui::text_util::tests::test_wrap_styled_line_wraps_and_preserves_style ... ok [INFO] [stdout] test ui::page::stat::tests::test_render_shows_activity_heatmap_legend ... ok [INFO] [stdout] test ui::page::stat::tests::test_render_shows_session_token_table ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_context_returns_none_for_non_view_mode ... ok [INFO] [stdout] test ui::page::stat::tests::test_render_does_not_show_session_summary_panel ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_show_diff_for_view_session_switches_mode_to_diff ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_scroll_offset_down_does_not_jump_to_bottom_for_wrapped_output ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_context_returns_existing_session_details ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_handle_enter_closes_sync_blocked_popup ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_handle_esc_closes_sync_blocked_popup ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_handle_other_key_keeps_sync_blocked_popup_open ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_handle_enter_does_not_close_loading_sync_popup ... ok [INFO] [stdout] test runtime::mode::sync_blocked::tests::test_handle_r_keeps_sync_blocked_popup_open ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_total_lines_counts_wrapped_output_lines ... ok [INFO] [stdout] test runtime::mode::session_view::tests::test_view_total_lines_respects_done_output_mode ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles' (1019) panicked at crates/agentty/src/infra/git/client.rs:463:9: [INFO] [stdout] git command ["push", "origin", "main"] failed: error: src refspec main does not match any [INFO] [stdout] error: failed to push some refs to '/tmp/.tmpdw1xhZ' [INFO] [stdout] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x61ae79f87e1a - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x61ae79f87e1a - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x61ae79f87e1a - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x61ae79f87e1a - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x61ae79fa05fa - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x61ae79fa05fa - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x61ae79f8e192 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x61ae79f8e192 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x61ae79f6396f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x61ae79f6396f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x61ae79f7ebf9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x61ae7975ae1c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x61ae7975ae1c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x61ae79f7ee72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x61ae79f7ee72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x61ae79f63a28 - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x61ae79f5b0d9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x61ae79f6473d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x61ae79fa0f8c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x61ae794ead10 - agentty[66ab9aefcff4280b]::infra::git::client::tests::run_git_command [INFO] [stdout] at /opt/rustwide/workdir/crates/agentty/src/infra/git/client.rs:463:9 [INFO] [stdout] 20: 0x61ae794c2736 - agentty[66ab9aefcff4280b]::infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/crates/agentty/src/infra/git/client.rs:984:9 [INFO] [stdout] 21: 0x61ae796dc0a2 - > as core[97f61b5528a4c2b4]::future::future::Future>::poll [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/future/future.rs:133:9 [INFO] [stdout] 22: 0x61ae796dc11d - >> as core[97f61b5528a4c2b4]::future::future::Future>::poll [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/future/future.rs:133:9 [INFO] [stdout] 23: 0x61ae792bf72d - ::block_on::>>>::{closure#0}::{closure#0}::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70 [INFO] [stdout] 24: 0x61ae792bf2eb - tokio[fdce449eb7baab7a]::task::coop::with_budget::, ::block_on>>>::{closure#0}::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5 [INFO] [stdout] 25: 0x61ae792bf2eb - tokio[fdce449eb7baab7a]::task::coop::budget::, ::block_on>>>::{closure#0}::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5 [INFO] [stdout] 26: 0x61ae792bf2eb - ::block_on::>>>::{closure#0}::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25 [INFO] [stdout] 27: 0x61ae79289a40 - ::enter::, ::block_on>>>::{closure#0}::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19 [INFO] [stdout] 28: 0x61ae792bbb7d - ::block_on::>>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44 [INFO] [stdout] 29: 0x61ae792bae74 - ::enter::<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68 [INFO] [stdout] 30: 0x61ae795a327b - >::set::<::enter<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0}, (alloc[ec929a98520ab192]::boxed::Box, core[97f61b5528a4c2b4]::option::Option<()>)> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9 [INFO] [stdout] 31: 0x61ae793d3c09 - tokio[fdce449eb7baab7a]::runtime::context::set_scheduler::<(alloc[ec929a98520ab192]::boxed::Box, core[97f61b5528a4c2b4]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0}>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38 [INFO] [stdout] 32: 0x61ae79215ab2 - >::try_with::, core[97f61b5528a4c2b4]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[ec929a98520ab192]::boxed::Box, core[97f61b5528a4c2b4]::option::Option<()>)> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/local.rs:513:12 [INFO] [stdout] 33: 0x61ae7921563e - >::with::, core[97f61b5528a4c2b4]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[ec929a98520ab192]::boxed::Box, core[97f61b5528a4c2b4]::option::Option<()>)> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/local.rs:477:20 [INFO] [stdout] 34: 0x61ae793c069d - tokio[fdce449eb7baab7a]::runtime::context::set_scheduler::<(alloc[ec929a98520ab192]::boxed::Box, core[97f61b5528a4c2b4]::option::Option<()>), ::enter<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>>::{closure#0}> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17 [INFO] [stdout] 35: 0x61ae79290f10 - ::enter::<::block_on>>>::{closure#0}, core[97f61b5528a4c2b4]::option::Option<()>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27 [INFO] [stdout] 36: 0x61ae79291206 - ::block_on::>>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24 [INFO] [stdout] 37: 0x61ae792ba980 - ::block_on::>>::{closure#0} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33 [INFO] [stdout] 38: 0x61ae791415f3 - tokio[fdce449eb7baab7a]::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, ()> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16 [INFO] [stdout] 39: 0x61ae79287eb1 - ::block_on::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9 [INFO] [stdout] 40: 0x61ae79452a24 - ::block_on_inner::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52 [INFO] [stdout] 41: 0x61ae79452bef - ::block_on::>> [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18 [INFO] [stdout] 42: 0x61ae794ecdf3 - agentty[66ab9aefcff4280b]::infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles [INFO] [stdout] at /opt/rustwide/workdir/crates/agentty/src/infra/git/client.rs:993:68 [INFO] [stdout] 43: 0x61ae794bcbb7 - agentty[66ab9aefcff4280b]::infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/crates/agentty/src/infra/git/client.rs:951:83 [INFO] [stdout] 44: 0x61ae7906c706 - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 45: 0x61ae7974eefb - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 46: 0x61ae7974eefb - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 47: 0x61ae7975b8eb - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 48: 0x61ae7975b8eb - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 49: 0x61ae7975b8eb - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 50: 0x61ae7975b8eb - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 51: 0x61ae7975b8eb - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 52: 0x61ae7975b8eb - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 53: 0x61ae7975b8eb - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 54: 0x61ae79757004 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 55: 0x61ae79757004 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 56: 0x61ae7975e4f2 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 57: 0x61ae7975e4f2 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 58: 0x61ae7975e4f2 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 59: 0x61ae7975e4f2 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 60: 0x61ae7975e4f2 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 61: 0x61ae7975e4f2 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 62: 0x61ae7975e4f2 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 63: 0x61ae79f86e4f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 64: 0x61ae79f86e4f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 65: 0x7ad6c31c4aa4 - [INFO] [stdout] 66: 0x7ad6c3251a64 - clone [INFO] [stdout] 67: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] infra::git::client::tests::test_list_upstream_commit_titles_returns_new_upstream_commit_titles [INFO] [stdout] [INFO] [stdout] test result: FAILED. 953 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.26s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p agentty --lib` [INFO] running `Command { std: "docker" "inspect" "dc828bfc0c6ab04d714f74ff00783273939eac0cc0a8425d255cc38fe261bf65", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc828bfc0c6ab04d714f74ff00783273939eac0cc0a8425d255cc38fe261bf65", kill_on_drop: false }` [INFO] [stdout] dc828bfc0c6ab04d714f74ff00783273939eac0cc0a8425d255cc38fe261bf65