[INFO] cloning repository https://github.com/wei6bin/cc-speedy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wei6bin/cc-speedy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwei6bin%2Fcc-speedy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwei6bin%2Fcc-speedy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fc08d1a9c3544b2c12a33c89da1c5bcbf09661f9 [INFO] testing wei6bin/cc-speedy against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwei6bin%2Fcc-speedy" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wei6bin/cc-speedy [INFO] finished tweaking git repo https://github.com/wei6bin/cc-speedy [INFO] tweaked toml for git repo https://github.com/wei6bin/cc-speedy written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wei6bin/cc-speedy on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wei6bin/cc-speedy already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d [INFO] running `Command { std: "docker" "start" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling rustls v0.23.38 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling pxfm v0.1.29 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling moxcms v0.8.1 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling rustls-webpki v0.103.12 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling webpki-roots v1.0.7 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling x11rb-protocol v0.13.2 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling x11rb v0.13.2 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling image v0.25.10 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling tar v0.4.45 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling arboard v3.6.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling cc-speedy v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 18s [INFO] running `Command { std: "docker" "inspect" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling cc-speedy v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/opencode_sessions.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `summary_path` [INFO] [stdout] --> tests/summary_test.rs:59:44 [INFO] [stdout] | [INFO] [stdout] 59 | use cc_speedy::summary::{read_summary, summary_path, write_summary}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 7.95s [INFO] running `Command { std: "docker" "inspect" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/opencode_sessions.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/opencode_sessions.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/opencode_sessions.rs:213:17 [INFO] [stderr] | [INFO] [stderr] 213 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: `cc-speedy` (lib) generated 3 warnings (run `cargo fix --lib -p cc-speedy` to apply 3 suggestions) [INFO] [stderr] warning: `cc-speedy` (lib test) generated 3 warnings (3 duplicates) [INFO] [stderr] warning: unused import: `summary_path` [INFO] [stderr] --> tests/summary_test.rs:59:44 [INFO] [stderr] | [INFO] [stderr] 59 | use cc_speedy::summary::{read_summary, summary_path, write_summary}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `cc-speedy` (test "summary_test") generated 1 warning (run `cargo fix --test "summary_test" -p cc-speedy` to apply 1 suggestion) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/cc-speedy/265b442fd5ff8cc3/out/cc_speedy-265b442fd5ff8cc3) [INFO] [stdout] [INFO] [stdout] running 64 tests [INFO] [stdout] test liveness::tests::cc_returns_idle_when_jsonl_path_missing ... ok [INFO] [stdout] test liveness::tests::cc_tail_empty_input_is_closed ... ok [INFO] [stdout] test liveness::tests::cc_tail_open_tool_use_closed_when_result_present ... ok [INFO] [stdout] test liveness::tests::cc_tail_handles_malformed_lines ... ok [INFO] [stdout] test liveness::tests::cc_tail_handles_legacy_string_content ... ok [INFO] [stdout] test liveness::tests::cc_tail_multiple_tool_uses_one_unmatched ... ok [INFO] [stdout] test liveness::tests::cc_tail_open_tool_use_detected ... ok [INFO] [stdout] test liveness::tests::cc_tail_skips_first_partial_line ... ok [INFO] [stdout] test liveness::tests::cc_tail_text_only_assistant_is_closed ... ok [INFO] [stdout] test liveness::tests::classify_by_mtime_idle_when_old ... ok [INFO] [stdout] test liveness::tests::copilot_returns_idle_when_jsonl_path_missing ... ok [INFO] [stdout] test liveness::tests::classify_by_mtime_passes_through_when_fresh ... ok [INFO] [stdout] test liveness::tests::copilot_tail_closed_when_no_assistant ... ok [INFO] [stdout] test liveness::tests::classify_by_mtime_recent_when_between ... ok [INFO] [stdout] test liveness::tests::copilot_tail_closed_when_tool_complete_after_assistant ... ok [INFO] [stdout] test liveness::tests::copilot_tail_open_when_assistant_then_no_tool_complete ... ok [INFO] [stdout] test liveness::tests::copilot_tail_open_when_only_assistant ... ok [INFO] [stdout] test liveness::tests::copilot_tail_handles_malformed_lines ... ok [INFO] [stdout] test liveness::tests::copilot_tail_empty_input_is_closed ... ok [INFO] [stdout] test liveness::tests::oc_idle_when_old ... ok [INFO] [stdout] test liveness::tests::oc_recent_never_live ... ok [INFO] [stdout] test liveness::tests::oc_recent_when_inside_recent_window ... ok [INFO] [stdout] test refresh::tests::detects_new_only ... ok [INFO] [stdout] test refresh::tests::detects_updated_only ... ok [INFO] [stdout] test refresh::tests::empty_new_no_changes ... ok [INFO] [stdout] test refresh::tests::empty_prior_all_new ... ok [INFO] [stdout] test refresh::tests::mixed_new_and_updated ... ok [INFO] [stdout] test refresh::tests::removed_session_is_silent ... ok [INFO] [stdout] test refresh::tests::select_falls_back_to_zero_when_target_missing_but_list_non_empty ... ok [INFO] [stdout] test refresh::tests::select_returns_zero_when_target_id_is_none ... ok [INFO] [stdout] test refresh::tests::select_returns_index_when_target_present ... ok [INFO] [stdout] test refresh::tests::updated_means_strictly_greater ... ok [INFO] [stdout] test refresh::tests::select_returns_none_when_filtered_is_empty ... ok [INFO] [stdout] test tui::tests::test_truncate_short_string_unchanged ... ok [INFO] [stdout] test tui::tests::test_truncate_long_string_adds_ellipsis ... ok [INFO] [stdout] test refresh::tests::select_works_with_sparse_filtered ... ok [INFO] [stdout] test unified::tests::try_reuse_prior_returns_clone_when_mtime_matches ... ok [INFO] [stdout] test unified::tests::try_reuse_prior_returns_none_when_mtime_advanced ... ok [INFO] [stdout] test update::tests::platform_target_nonempty ... ok [INFO] [stdout] test refresh::tests::unchanged_set_reports_zero ... ok [INFO] [stdout] test web::tailer::tests::cc_assistant_text_emits_turn_added ... ok [INFO] [stdout] test tui::tests::test_truncate_exact_length_unchanged ... ok [INFO] [stdout] test tui::tests::test_truncate_unicode_counts_chars_not_bytes ... ok [INFO] [stdout] test unified::tests::try_reuse_prior_returns_none_when_id_absent ... ok [INFO] [stdout] test unified::tests::try_reuse_prior_handles_empty_prior ... ok [INFO] [stdout] test web::tailer::tests::cc_assistant_with_tool_use_marks_open_turn ... ok [INFO] [stdout] test web::tailer::tests::cc_tool_result_closes_previous_turn ... ok [INFO] [stdout] test web::tailer::tests::copilot_assistant_then_tool_complete ... ok [INFO] [stdout] test web::tailer::tests::malformed_lines_skipped ... ok [INFO] [stdout] test web::tailer::tests::opencode_emits_no_events ... ok [INFO] [stdout] test tui::tests::test_format_time_produces_month_day_hhmm ... ok [INFO] [stdout] test web::tailer::tests::registry_creates_and_caches_tailer ... ok [INFO] [stdout] test web::tests::api_turn_404_for_unknown_session ... ok [INFO] [stdout] test web::tests::boots_and_health_responds ... ok [INFO] [stdout] test web::tests::api_turn_path_traversal_rejected ... ok [INFO] [stdout] test web::tests::api_sessions_returns_json_with_projected_shape ... ok [INFO] [stdout] test web::tests::session_page_404_unknown_id ... ok [INFO] [stdout] test web::tests::falls_back_when_default_port_busy ... ok [INFO] [stdout] test web::tests::dashboard_returns_html ... ok [INFO] [stdout] test web::tests::session_page_renders_for_known_id ... ok [INFO] [stdout] test web::wire::tests::serializes_to_expected_json_shape ... ok [INFO] [stdout] test web::wire::tests::projects_unified_to_wire ... ok [INFO] [stdout] test web::tests::static_assets_served ... ok [INFO] [stdout] test web::tests::sse_emits_turn_added_when_jsonl_grows ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/cc-speedy/17b2713e780c0394/out/cc_speedy-17b2713e780c0394) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/copilot_insights_test.rs (/opt/rustwide/target/release/build/cc-speedy/e5f3737e97518fdb/out/copilot_insights_test-e5f3737e97518fdb) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test basic_counts ... ok [INFO] [stdout] test glyph_dominant_tool_wins ... ok [INFO] [stdout] test model_picked_up_from_tool_complete ... ok [INFO] [stdout] test glyph_priority_task_over_tool ... ok [INFO] [stdout] test skills_empty_for_copilot ... ok [INFO] [stdout] test tool_errors_counts_failed_completions ... ok [INFO] [stdout] test tasks_populated_dedup_first_occurrence_order ... ok [INFO] [stdout] test glyph_text_and_thinking_categories ... ok [INFO] [stdout] test tool_histogram_excludes_report_intent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/copilot_sessions_test.rs (/opt/rustwide/target/release/build/cc-speedy/fc54330767686d00/out/copilot_sessions_test-fc54330767686d00) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test test_parse_messages_skips_empty_assistant_content ... ok [INFO] [stdout] test test_incremental_empty_prior_matches_non_incremental ... ok [INFO] [stdout] test test_list_returns_empty_for_nonexistent_dir ... ok [INFO] [stdout] test test_list_sessions_filters_under_4_messages ... ok [INFO] [stdout] test test_parse_messages_skips_non_message_events ... ok [INFO] [stdout] test test_session_first_user_message_truncated_to_80_chars ... ok [INFO] [stdout] test test_list_sessions_skips_dirs_without_workspace_yaml ... ok [INFO] [stdout] test test_parse_messages_user_and_assistant ... ok [INFO] [stdout] test test_session_git_branch_extracted ... ok [INFO] [stdout] test test_incremental_skips_parse_when_mtime_matches ... ok [INFO] [stdout] test test_session_title_falls_back_to_summary ... ok [INFO] [stdout] test test_incremental_reparses_when_mtime_advances ... ok [INFO] [stdout] test test_session_title_name_takes_priority_over_summary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/copilot_turn_detail_test.rs (/opt/rustwide/target/release/build/cc-speedy/2fedb24b4763676b/out/copilot_turn_detail_test-2fedb24b4763676b) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test failed_tool_marked_as_error ... ok [INFO] [stdout] test multi_round_turn_carries_originating_user_msg ... ok [INFO] [stdout] test large_result_truncated_at_char_boundary ... ok [INFO] [stdout] test parallel_tool_completions_pair_by_id ... ok [INFO] [stdout] test out_of_range_returns_err ... ok [INFO] [stdout] test redacted_thinking_block ... ok [INFO] [stdout] test subagent_messages_excluded_from_index ... ok [INFO] [stdout] test turn_0_basic_extraction ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/digest_test.rs (/opt/rustwide/target/release/build/cc-speedy/9c0edcbe9ea68bbc/out/digest_test-9c0edcbe9ea68bbc) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_learnings_filtered_by_captured_at ... ok [INFO] [stdout] test test_projects_sorted_by_last_active_desc ... ok [INFO] [stdout] test test_empty_window_renders_no_activity ... ok [INFO] [stdout] test test_session_in_window_counted ... ok [INFO] [stdout] test test_session_outside_window_excluded ... ok [INFO] [stdout] test test_render_contains_header_and_sections ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/git_status_test.rs (/opt/rustwide/target/release/build/cc-speedy/98dec367532c30a6/out/git_status_test-98dec367532c30a6) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_branch_accessor_returns_for_clean_and_dirty ... ok [INFO] [stdout] test test_parse_clean_no_tracking ... ok [INFO] [stdout] test test_parse_clean_with_tracking ... ok [INFO] [stdout] test test_parse_ahead_behind_tracking_stripped ... ok [INFO] [stdout] test test_parse_detached_head ... ok [INFO] [stdout] test test_parse_dirty_modified_file ... ok [INFO] [stdout] test test_parse_dirty_multiple_changes ... ok [INFO] [stdout] test test_parse_dirty_untracked_only ... ok [INFO] [stdout] test test_parse_empty_stdout_is_error ... ok [INFO] [stdout] test test_parse_no_branch_line_is_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/insights_test.rs (/opt/rustwide/target/release/build/cc-speedy/52292433ca45caa6/out/insights_test-52292433ca45caa6) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test fmt_tokens_human_format ... ok [INFO] [stdout] test glyph_priority_skill_when_no_task ... ok [INFO] [stdout] test empty_input_yields_default ... ok [INFO] [stdout] test glyph_has_error_attributed_to_owning_turn ... ok [INFO] [stdout] test glyph_text_only_turn ... ok [INFO] [stdout] test cache_hit_pct_uses_input_plus_cache_read ... ok [INFO] [stdout] test glyph_thinking_only_turn ... ok [INFO] [stdout] test glyph_dominant_tool_for_tool_only_turn ... ok [INFO] [stdout] test glyph_priority_task_beats_skill ... ok [INFO] [stdout] test smoke_real_session ... ok [INFO] [stdout] test sidechain_lines_counted ... ok [INFO] [stdout] test parses_basic_counts ... ok [INFO] [stdout] test sums_token_usage_across_turns ... ok [INFO] [stdout] test skills_dedupe_in_first_seen_order ... ok [INFO] [stdout] test turn_glyphs_built_in_order ... ok [INFO] [stdout] test tool_histogram_sorted_by_count_then_alpha ... ok [INFO] [stdout] test tool_errors_total_matches ... ok [INFO] [stdout] test tasks_record_subagent_type ... ok [INFO] [stdout] test tool_to_glyph_known_names ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/install_test.rs (/opt/rustwide/target/release/build/cc-speedy/85224a1e24d554f9/out/install_test-85224a1e24d554f9) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_hook_entry_contains_binary_path ... ok [INFO] [stdout] test test_hook_entry_has_correct_structure ... ok [INFO] [stdout] test test_hook_entry_contains_summarize ... ok [INFO] [stdout] test test_install_creates_new_settings_when_file_missing ... ok [INFO] [stdout] test test_install_is_idempotent ... ok [INFO] [stdout] test test_install_errors_on_unreadable_file ... ok [INFO] [stdout] test test_install_adds_hook_to_empty_settings ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/learning_library_test.rs (/opt/rustwide/target/release/build/cc-speedy/9d735b5f68f67f59/out/learning_library_test-9d735b5f68f67f59) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_category_and_text_compose ... ok [INFO] [stdout] test test_category_filter_only ... ok [INFO] [stdout] test test_no_filters_returns_all ... ok [INFO] [stdout] test test_text_filter_case_insensitive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/liveness_test.rs (/opt/rustwide/target/release/build/cc-speedy/d643c36218f06dc2/out/liveness_test-d643c36218f06dc2) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test cc_idle_when_jsonl_path_missing ... ok [INFO] [stdout] test missing_jsonl_file_returns_idle ... ok [INFO] [stdout] test copilot_live_when_unclosed_assistant_event_and_fresh_mtime ... ok [INFO] [stdout] test opencode_recent_when_inside_window ... ok [INFO] [stdout] test opencode_idle_when_old ... ok [INFO] [stdout] test cc_recent_when_closed_turn_and_fresh_mtime ... ok [INFO] [stdout] test cc_live_when_unclosed_tool_use_and_fresh_mtime ... ok [INFO] [stdout] test copilot_recent_when_terminated ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/obsidian_cli_integration_test.rs (/opt/rustwide/target/release/build/cc-speedy/6c474b284059eacb/out/obsidian_cli_integration_test-6c474b284059eacb) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test live_daily_append_idempotent ... ignored [INFO] [stdout] test live_is_available ... ignored [INFO] [stdout] test live_vault_is_running ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/obsidian_cli_test.rs (/opt/rustwide/target/release/build/cc-speedy/58b7efc22d635353/out/obsidian_cli_test-58b7efc22d635353) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_dedupe_eval_contains_marker ... ok [INFO] [stdout] test test_dedupe_eval_is_async ... ok [INFO] [stdout] test test_escape_backslash_first ... ok [INFO] [stdout] test test_dedupe_eval_uses_today_moment ... ok [INFO] [stdout] test test_dedupe_eval_escapes_quote_in_marker ... ok [INFO] [stdout] test test_escape_newline ... ok [INFO] [stdout] test test_escape_double_quote ... ok [INFO] [stdout] test test_escape_plain_text_unchanged ... ok [INFO] [stdout] test test_escape_tab ... ok [INFO] [stdout] test test_escape_combined ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/obsidian_test.rs (/opt/rustwide/target/release/build/cc-speedy/938ea56ad99c52d3/out/obsidian_test-938ea56ad99c52d3) [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test test_daily_line_completed_status ... ok [INFO] [stdout] test test_daily_line_in_progress_emoji ... ok [INFO] [stdout] test test_daily_line_unknown_emoji ... ok [INFO] [stdout] test test_daily_line_truncates_title_to_80_chars_unicode_safe ... ok [INFO] [stdout] test test_export_escapes_backslash_in_project_path ... ok [INFO] [stdout] test test_export_escapes_double_quote_in_project_path ... ok [INFO] [stdout] test test_export_filename_format ... ok [INFO] [stdout] test test_export_omits_empty_git_branch ... ok [INFO] [stdout] test test_export_status_unknown_when_no_status_section ... ok [INFO] [stdout] test test_extract_title_returns_first_bullet ... ok [INFO] [stdout] test test_export_skips_sessions_with_few_messages ... ok [INFO] [stdout] test test_note_stem_includes_date_slug_id ... ok [INFO] [stdout] test test_extract_title_missing_section ... ok [INFO] [stdout] test test_parse_status_completed ... ok [INFO] [stdout] test test_export_writes_markdown_file ... ok [INFO] [stdout] test test_extract_title_skips_blank_lines ... ok [INFO] [stdout] test test_parse_status_unrecognised_value ... ok [INFO] [stdout] test test_parse_status_in_progress_two_words ... ok [INFO] [stdout] test test_tags_baseline_no_learnings ... ok [INFO] [stdout] test test_tags_skip_zero_count_categories ... ok [INFO] [stdout] test test_parse_status_missing_returns_unknown ... ok [INFO] [stdout] test test_tags_with_learning_counts_and_facets ... ok [INFO] [stdout] test test_export_overwrites_existing_file ... ok [INFO] [stdout] test test_parse_status_extra_whitespace ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/opencode_sessions_test.rs (/opt/rustwide/target/release/build/cc-speedy/68d6c1c6c2d6f7cc/out/opencode_sessions_test-68d6c1c6c2d6f7cc) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_opencode_db_path_ends_with_db_file ... ok [INFO] [stdout] test test_parse_opencode_messages_skips_non_text_parts ... ok [INFO] [stdout] test test_parse_opencode_messages_returns_role_and_text ... ok [INFO] [stdout] test test_query_first_user_msg_extracted_from_parts ... ok [INFO] [stdout] test test_incremental_reuses_prior_when_mtime_matches ... ok [INFO] [stdout] test test_parse_opencode_messages_empty_for_unknown_session ... ok [INFO] [stdout] test test_incremental_empty_prior_matches_non_incremental ... ok [INFO] [stdout] test test_query_message_count ... ok [INFO] [stdout] test test_query_returns_top_level_sessions_only ... ok [INFO] [stdout] test test_query_session_title_and_project_path ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/project_dashboard_test.rs (/opt/rustwide/target/release/build/cc-speedy/9376e95eda357d83/out/project_dashboard_test-9376e95eda357d83) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test test_build_groups_by_project_path ... ok [INFO] [stdout] test test_last_active_is_max_of_group ... ok [INFO] [stdout] test test_empty_input_returns_empty ... ok [INFO] [stdout] test test_pending_count_counts_sessions_without_summary ... ok [INFO] [stdout] test test_pinned_count ... ok [INFO] [stdout] test test_learnings_count ... ok [INFO] [stdout] test test_name_is_last_two_path_segments ... ok [INFO] [stdout] test test_source_filter_drops_projects_with_no_matching_sessions ... ok [INFO] [stdout] test test_source_filter_scopes_counts ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/refresh_test.rs (/opt/rustwide/target/release/build/cc-speedy/33a59d92f134b3b6/out/refresh_test-33a59d92f134b3b6) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test selection_falls_back_when_session_removed ... ok [INFO] [stdout] test selection_none_on_empty_list ... ok [INFO] [stdout] test refresh_result_carries_sessions_and_counts ... ok [INFO] [stdout] test selection_preserved_across_diff ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/session_linking_test.rs (/opt/rustwide/target/release/build/cc-speedy/f5f8fb1883feb6d9/out/session_linking_test-f5f8fb1883feb6d9) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_set_link_and_load ... ok [INFO] [stdout] test test_set_link_twice_replaces ... ok [INFO] [stdout] test test_children_derivable_from_reverse_scan ... ok [INFO] [stdout] test test_unset_link_noop_when_missing ... ok [INFO] [stdout] test test_unset_link_removes_row ... ok [INFO] [stdout] test test_set_link_refuses_self_link ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/sessions_test.rs (/opt/rustwide/target/release/build/cc-speedy/80afc8b63c7c3ef6/out/sessions_test-80afc8b63c7c3ef6) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_dir_name_to_abs_path ... ok [INFO] [stdout] test test_dir_name_to_path_last_two_segments ... ok [INFO] [stdout] test test_file_mtime_milliseconds_conversion ... ok [INFO] [stdout] test test_parse_messages_counts_correctly ... ok [INFO] [stdout] test test_parse_messages_empty_file_returns_empty_vec ... ok [INFO] [stdout] test test_parse_messages_extracts_first_user_text ... ok [INFO] [stdout] test test_read_cwd_from_jsonl_finds_cwd ... ok [INFO] [stdout] test test_parse_messages_skips_malformed_lines ... ok [INFO] [stdout] test test_parse_messages_skips_non_user_assistant_roles ... ok [INFO] [stdout] test test_sessions_index_deserialization ... ok [INFO] [stdout] test test_read_cwd_from_jsonl_returns_none_when_absent ... ok [INFO] [stdout] test test_read_cwd_from_jsonl_skips_malformed_lines ... ok [INFO] [stdout] test test_sessions_index_entry_with_empty_fields ... ok [INFO] [stdout] test test_write_and_read_rename_history ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/settings_test.rs (/opt/rustwide/target/release/build/cc-speedy/995db79ea178565f/out/settings_test-995db79ea178565f) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_effective_vault_name_empty_explicit_falls_back_to_basename ... ok [INFO] [stdout] test test_effective_vault_name_falls_back_to_path_basename ... ok [INFO] [stdout] test test_effective_vault_name_returns_none_when_nothing_set ... ok [INFO] [stdout] test test_effective_vault_name_uses_explicit_when_set ... ok [INFO] [stdout] test test_bool_setting_default_when_missing ... ok [INFO] [stdout] test test_bool_setting_overwrites_prior ... ok [INFO] [stdout] test test_bool_setting_round_trip_false ... ok [INFO] [stdout] test test_bool_setting_round_trip_true ... ok [INFO] [stdout] test test_load_defaults_when_unset ... ok [INFO] [stdout] test test_save_and_load_daily_push_off ... ok [INFO] [stdout] test test_save_and_load_vault_name ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running tests/store_kb_test.rs (/opt/rustwide/target/release/build/cc-speedy/92381d8d2a91df4f/out/store_kb_test-92381d8d2a91df4f) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_get_and_set_setting ... ok [INFO] [stdout] test test_set_setting_overwrites ... ok [INFO] [stdout] test test_load_learnings_empty_returns_empty_vec ... ok [INFO] [stdout] test test_save_learnings_appends_not_replaces ... ok [INFO] [stdout] test test_save_and_load_learnings ... ok [INFO] [stdout] test test_save_learnings_empty_slice_is_noop ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/summary_kb_test.rs (/opt/rustwide/target/release/build/cc-speedy/7c08732a1318026e/out/summary_kb_test-7c08732a1318026e) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_build_combined_display_empty_learnings ... ok [INFO] [stdout] test test_build_combined_display_includes_learnings ... ok [INFO] [stdout] test test_parse_learning_output_extracts_bullets ... ok [INFO] [stdout] test test_parse_learning_output_handles_trailing_colon_heading ... ok [INFO] [stdout] test test_parse_learning_output_skips_none ... ok [INFO] [stdout] test test_parse_learning_output_unknown_heading_ignored ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/summary_test.rs (/opt/rustwide/target/release/build/cc-speedy/dd0eaa96d3a7572d/out/summary_test-dd0eaa96d3a7572d) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_build_new_session_context_prepends_prefix ... ok [INFO] [stdout] test test_opencode_summary_path_sanitizes_id ... ok [INFO] [stdout] test test_opencode_summary_path_uses_local_share ... ok [INFO] [stdout] test test_find_jsonl_returns_none_for_nonexistent_session ... ok [INFO] [stdout] test test_read_missing_summary_returns_none ... ok [INFO] [stdout] test test_run_hook_skips_when_session_id_empty ... ok [INFO] [stdout] test test_summary_path_uses_session_id ... ok [INFO] [stdout] test test_run_hook_skips_if_summary_already_exists ... ok [INFO] [stdout] test test_write_and_read_summary ... ok [INFO] [stdout] test test_write_summary_creates_parent_dirs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/tags_test.rs (/opt/rustwide/target/release/build/cc-speedy/81bbf58245e6afa7/out/tags_test-81bbf58245e6afa7) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_normalize_tag_empty_returns_none ... ok [INFO] [stdout] test test_normalize_tag_strips_invalid_chars ... ok [INFO] [stdout] test test_parse_filter_tokens_multiple_of_each ... ok [INFO] [stdout] test test_normalize_tag_trims_and_lowercases ... ok [INFO] [stdout] test test_parse_filter_tokens_ignores_bare_hash ... ok [INFO] [stdout] test test_parse_tags_dedupes_and_skips_empty ... ok [INFO] [stdout] test test_parse_tags_empty_input ... ok [INFO] [stdout] test test_parse_filter_tokens_splits_tags_and_text ... ok [INFO] [stdout] test test_load_all_tags_groups_by_session ... ok [INFO] [stdout] test test_set_tags_replaces_full_set ... ok [INFO] [stdout] test test_set_and_load_tags_round_trip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/tmux_test.rs (/opt/rustwide/target/release/build/cc-speedy/daf414131858eee9/out/tmux_test-daf414131858eee9) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_cc_session_name_has_prefix ... ok [INFO] [stdout] test test_cc_session_name_max_50_chars ... ok [INFO] [stdout] test test_is_inside_tmux_returns_bool ... ok [INFO] [stdout] test test_copilot_session_name_has_co_prefix ... ok [INFO] [stdout] test test_oc_session_name_has_prefix ... ok [INFO] [stdout] test test_oc_session_name_max_50_chars ... ok [INFO] [stdout] test test_session_name_from_path_two_segments ... ok [INFO] [stdout] test test_copilot_session_name_max_50_chars ... ok [INFO] [stdout] test test_session_name_sanitizes_special_chars ... ok [INFO] [stdout] test test_session_name_truncated_to_50_chars ... ok [INFO] [stdout] test test_session_name_from_root_path ... ok [INFO] [stdout] test test_pin_window_title_sets_and_locks_name ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/tui_grep_test.rs (/opt/rustwide/target/release/build/cc-speedy/1b5bd8021d7c7fe6/out/tui_grep_test-1b5bd8021d7c7fe6) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_highlight_line_empty_query_returns_single_raw_span ... ok [INFO] [stdout] test test_highlight_line_match_at_end ... ok [INFO] [stdout] test test_highlight_line_entire_line_matches ... ok [INFO] [stdout] test test_highlight_line_multiple_matches ... ok [INFO] [stdout] test test_highlight_line_match_at_start ... ok [INFO] [stdout] test test_highlight_line_non_ascii_falls_back_to_raw ... ok [INFO] [stdout] test test_highlight_line_no_match_returns_single_raw_span ... ok [INFO] [stdout] test test_highlight_line_single_match_splits_into_three_spans ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/turn_detail_test.rs (/opt/rustwide/target/release/build/cc-speedy/fb7cd75bb8e26843/out/turn_detail_test-fb7cd75bb8e26843) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test cache_hit_pct_per_turn ... ok [INFO] [stdout] test out_of_range_turn_returns_err ... ok [INFO] [stdout] test extracts_first_turn_with_user_msg_and_paired_result ... ok [INFO] [stdout] test pretty_prints_tool_input_json ... ok [INFO] [stdout] test thinking_redacted_when_signature_present_and_text_empty ... ok [INFO] [stdout] test user_msg_none_for_first_assistant_without_prior_user ... ok [INFO] [stdout] test extracts_second_turn_with_thinking_and_two_tools ... ok [INFO] [stdout] test truncates_oversized_tool_result ... ok [INFO] [stdout] test user_tool_result_only_lines_dont_overwrite_user_msg ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/unified_test.rs (/opt/rustwide/target/release/build/cc-speedy/6660ed90ebe3038c/out/unified_test-6660ed90ebe3038c) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_from_cc_session_sets_source ... ok [INFO] [stdout] test test_from_cc_session_preserves_fields ... ok [INFO] [stdout] test test_opencode_session_has_no_jsonl_path ... ok [INFO] [stdout] test test_list_all_sessions_does_not_panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/util_test.rs (/opt/rustwide/target/release/build/cc-speedy/3763c050339a9bac/out/util_test-3763c050339a9bac) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_path_last_n_one_segment ... ok [INFO] [stdout] test test_path_last_n_empty_path ... ok [INFO] [stdout] test test_path_last_n_three_segments ... ok [INFO] [stdout] test test_path_last_n_request_more_than_available ... ok [INFO] [stdout] test test_path_last_n_trailing_slash ... ok [INFO] [stdout] test test_path_last_n_two_segments ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/web_test.rs (/opt/rustwide/target/release/build/cc-speedy/b49741813b926a4c/out/web_test-b49741813b926a4c) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test bound_address_is_localhost_only ... ok [INFO] [stdout] test session_page_404_for_unknown_id ... ok [INFO] [stdout] test server_starts_and_health_responds ... ok [INFO] [stdout] test dashboard_html_contains_app_js_link ... ok [INFO] [stdout] test liveness_cache_reflected_in_api_sessions ... ok [INFO] [stdout] test api_sessions_lists_all_sources ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests cc_speedy [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/util.rs - util::path_last_n (line 4) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d", kill_on_drop: false }` [INFO] [stdout] 08629c6cd62552cb5f9eb9d261f2a398cb9ee23ed966917c30a9b7231723bf4d