[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
