[INFO] fetching crate linesmith-core 0.4.1...
[INFO] testing linesmith-core-0.4.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate linesmith-core 0.4.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate linesmith-core 0.4.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate linesmith-core 0.4.1
[INFO] tweaked toml for crates.io crate linesmith-core 0.4.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate linesmith-core 0.4.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate linesmith-core 0.4.1 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.121
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.121
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.121
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.121
[INFO] [stderr]   Downloaded gix-hashtable v0.15.0
[INFO] [stderr]   Downloaded gix-trace v0.1.19
[INFO] [stderr]   Downloaded faster-hex v0.10.0
[INFO] [stderr]   Downloaded gix-sec v0.14.0
[INFO] [stderr]   Downloaded gix-negotiate v0.31.0
[INFO] [stderr]   Downloaded gix-shallow v0.12.0
[INFO] [stderr]   Downloaded gix-actor v0.41.0
[INFO] [stderr]   Downloaded gix-glob v0.26.0
[INFO] [stderr]   Downloaded gix-chunk v0.7.1
[INFO] [stderr]   Downloaded gix-quote v0.7.1
[INFO] [stderr]   Downloaded gix-traverse v0.57.0
[INFO] [stderr]   Downloaded gix-revwalk v0.31.0
[INFO] [stderr]   Downloaded gix-date v0.15.3
[INFO] [stderr]   Downloaded gix-validate v0.11.1
[INFO] [stderr]   Downloaded gix-utils v0.3.2
[INFO] [stderr]   Downloaded gix-lock v23.0.0
[INFO] [stderr]   Downloaded gix-config-value v0.18.0
[INFO] [stderr]   Downloaded gix-command v0.9.0
[INFO] [stderr]   Downloaded gix-bitmap v0.3.1
[INFO] [stderr]   Downloaded kstring v2.0.2
[INFO] [stderr]   Downloaded gix-tempfile v23.0.0
[INFO] [stderr]   Downloaded gix-url v0.36.0
[INFO] [stderr]   Downloaded linesmith-plugin v0.1.3
[INFO] [stderr]   Downloaded gix-hash v0.25.0
[INFO] [stderr]   Downloaded gix-commitgraph v0.37.0
[INFO] [stderr]   Downloaded gix-packetline v0.21.3
[INFO] [stderr]   Downloaded gix-attributes v0.33.0
[INFO] [stderr]   Downloaded gix-worktree-state v0.30.0
[INFO] [stderr]   Downloaded gix-worktree v0.52.0
[INFO] [stderr]   Downloaded gix-ignore v0.21.0
[INFO] [stderr]   Downloaded gix-submodule v0.30.0
[INFO] [stderr]   Downloaded gix-revision v0.45.0
[INFO] [stderr]   Downloaded gix-pathspec v0.18.0
[INFO] [stderr]   Downloaded gix-discover v0.51.0
[INFO] [stderr]   Downloaded maybe-async v0.2.11
[INFO] [stderr]   Downloaded gix-archive v0.32.0
[INFO] [stderr]   Downloaded thin-vec v0.2.18
[INFO] [stderr]   Downloaded smartstring v1.0.1
[INFO] [stderr]   Downloaded rhai_codegen v3.1.0
[INFO] [stderr]   Downloaded gix-worktree-stream v0.32.0
[INFO] [stderr]   Downloaded gix-object v0.60.0
[INFO] [stderr]   Downloaded gix-features v0.48.0
[INFO] [stderr]   Downloaded gix-path v0.12.0
[INFO] [stderr]   Downloaded gix-error v0.2.3
[INFO] [stderr]   Downloaded gix-fs v0.21.1
[INFO] [stderr]   Downloaded gix-filter v0.30.0
[INFO] [stderr]   Downloaded gix-refspec v0.41.0
[INFO] [stderr]   Downloaded gix-status v0.30.0
[INFO] [stderr]   Downloaded gix-dir v0.25.0
[INFO] [stderr]   Downloaded gix-imara-diff v0.2.1
[INFO] [stderr]   Downloaded gix-protocol v0.61.0
[INFO] [stderr]   Downloaded gix-blame v0.13.0
[INFO] [stderr]   Downloaded jiff-tzdb v0.1.6
[INFO] [stderr]   Downloaded gix-index v0.51.0
[INFO] [stderr]   Downloaded gix-odb v0.80.0
[INFO] [stderr]   Downloaded gix-merge v0.16.0
[INFO] [stderr]   Downloaded prodash v31.0.0
[INFO] [stderr]   Downloaded gix-ref v0.63.0
[INFO] [stderr]   Downloaded gix-diff v0.63.0
[INFO] [stderr]   Downloaded gix-config v0.56.0
[INFO] [stderr]   Downloaded gix-transport v0.57.0
[INFO] [stderr]   Downloaded js-sys v0.3.98
[INFO] [stderr]   Downloaded jiff-static v0.2.24
[INFO] [stderr]   Downloaded gix-pack v0.70.0
[INFO] [stderr]   Downloaded zlib-rs v0.6.3
[INFO] [stderr]   Downloaded catppuccin v2.8.0
[INFO] [stderr]   Downloaded rhai v1.24.0
[INFO] [stderr]   Downloaded gix v0.83.0
[INFO] [stderr]   Downloaded jiff v0.2.24
[INFO] [stderr]   Downloaded sha1-checked v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a
[INFO] running `Command { std: "docker" "start" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", 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" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", 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" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling gix-trace v0.1.19
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling jiff v0.2.24
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling nonempty v0.12.0
[INFO] [stderr]    Compiling unicode-bom v2.0.3
[INFO] [stderr]    Compiling kstring v2.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling gix-sec v0.14.0
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling sha1-checked v0.10.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling prodash v31.0.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling faster-hex v0.10.0
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling uluru v3.1.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling clru v0.6.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling gix-validate v0.11.1
[INFO] [stderr]    Compiling gix-utils v0.3.2
[INFO] [stderr]    Compiling gix-error v0.2.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling gix-imara-diff v0.2.1
[INFO] [stderr]    Compiling gix-chunk v0.7.1
[INFO] [stderr]    Compiling gix-quote v0.7.1
[INFO] [stderr]    Compiling gix-bitmap v0.3.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling thin-vec v0.2.18
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling gix-date v0.15.3
[INFO] [stderr]    Compiling gix-actor v0.41.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling maybe-async v0.2.11
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling gix-path v0.12.0
[INFO] [stderr]    Compiling gix-packetline v0.21.3
[INFO] [stderr]    Compiling gix-features v0.48.0
[INFO] [stderr]    Compiling gix-config-value v0.18.0
[INFO] [stderr]    Compiling gix-command v0.9.0
[INFO] [stderr]    Compiling gix-url v0.36.0
[INFO] [stderr]    Compiling gix-hash v0.25.0
[INFO] [stderr]    Compiling gix-fs v0.21.1
[INFO] [stderr]    Compiling gix-glob v0.26.0
[INFO] [stderr]    Compiling rhai v1.24.0
[INFO] [stderr]    Compiling gix-transport v0.57.0
[INFO] [stderr]    Compiling gix-hashtable v0.15.0
[INFO] [stderr]    Compiling gix-commitgraph v0.37.0
[INFO] [stderr]    Compiling gix-object v0.60.0
[INFO] [stderr]    Compiling gix-tempfile v23.0.0
[INFO] [stderr]    Compiling gix-attributes v0.33.0
[INFO] [stderr]    Compiling gix-ignore v0.21.0
[INFO] [stderr]    Compiling gix-lock v23.0.0
[INFO] [stderr]    Compiling gix-shallow v0.12.0
[INFO] [stderr]    Compiling gix-pathspec v0.18.0
[INFO] [stderr]    Compiling gix-revwalk v0.31.0
[INFO] [stderr]    Compiling gix-ref v0.63.0
[INFO] [stderr]    Compiling gix-filter v0.30.0
[INFO] [stderr]    Compiling gix-pack v0.70.0
[INFO] [stderr]    Compiling gix-traverse v0.57.0
[INFO] [stderr]    Compiling gix-revision v0.45.0
[INFO] [stderr]    Compiling catppuccin v2.8.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling gix-refspec v0.41.0
[INFO] [stderr]    Compiling gix-index v0.51.0
[INFO] [stderr]    Compiling gix-odb v0.80.0
[INFO] [stderr]    Compiling gix-discover v0.51.0
[INFO] [stderr]    Compiling gix-config v0.56.0
[INFO] [stderr]    Compiling gix-protocol v0.61.0
[INFO] [stderr]    Compiling gix-worktree v0.52.0
[INFO] [stderr]    Compiling gix-dir v0.25.0
[INFO] [stderr]    Compiling gix-diff v0.63.0
[INFO] [stderr]    Compiling gix-submodule v0.30.0
[INFO] [stderr]    Compiling gix-status v0.30.0
[INFO] [stderr]    Compiling gix v0.83.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling linesmith-plugin v0.1.3
[INFO] [stderr]    Compiling linesmith-core v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 14s
[INFO] running `Command { std: "docker" "inspect" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", 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" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling gix-validate v0.11.1
[INFO] [stderr]    Compiling gix-utils v0.3.2
[INFO] [stderr]    Compiling gix-error v0.2.3
[INFO] [stderr]    Compiling gix-packetline v0.21.3
[INFO] [stderr]    Compiling gix-imara-diff v0.2.1
[INFO] [stderr]    Compiling gix-path v0.12.0
[INFO] [stderr]    Compiling gix-date v0.15.3
[INFO] [stderr]    Compiling gix-features v0.48.0
[INFO] [stderr]    Compiling gix-chunk v0.7.1
[INFO] [stderr]    Compiling gix-quote v0.7.1
[INFO] [stderr]    Compiling gix-config-value v0.18.0
[INFO] [stderr]    Compiling gix-command v0.9.0
[INFO] [stderr]    Compiling gix-bitmap v0.3.1
[INFO] [stderr]    Compiling gix-url v0.36.0
[INFO] [stderr]    Compiling gix-actor v0.41.0
[INFO] [stderr]    Compiling gix-hash v0.25.0
[INFO] [stderr]    Compiling gix-fs v0.21.1
[INFO] [stderr]    Compiling gix-glob v0.26.0
[INFO] [stderr]    Compiling gix-hashtable v0.15.0
[INFO] [stderr]    Compiling gix-commitgraph v0.37.0
[INFO] [stderr]    Compiling gix-attributes v0.33.0
[INFO] [stderr]    Compiling gix-ignore v0.21.0
[INFO] [stderr]    Compiling gix-transport v0.57.0
[INFO] [stderr]    Compiling gix-object v0.60.0
[INFO] [stderr]    Compiling gix-tempfile v23.0.0
[INFO] [stderr]    Compiling gix-lock v23.0.0
[INFO] [stderr]    Compiling gix-shallow v0.12.0
[INFO] [stderr]    Compiling gix-pathspec v0.18.0
[INFO] [stderr]    Compiling gix-revwalk v0.31.0
[INFO] [stderr]    Compiling gix-ref v0.63.0
[INFO] [stderr]    Compiling gix-filter v0.30.0
[INFO] [stderr]    Compiling gix-pack v0.70.0
[INFO] [stderr]    Compiling gix-traverse v0.57.0
[INFO] [stderr]    Compiling gix-revision v0.45.0
[INFO] [stderr]    Compiling gix-odb v0.80.0
[INFO] [stderr]    Compiling gix-index v0.51.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling gix-refspec v0.41.0
[INFO] [stderr]    Compiling gix-discover v0.51.0
[INFO] [stderr]    Compiling gix-config v0.56.0
[INFO] [stderr]    Compiling gix-protocol v0.61.0
[INFO] [stderr]    Compiling gix-worktree v0.52.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling gix-dir v0.25.0
[INFO] [stderr]    Compiling gix-diff v0.63.0
[INFO] [stderr]    Compiling gix-submodule v0.30.0
[INFO] [stderr]    Compiling mockito v1.7.2
[INFO] [stderr]    Compiling gix-status v0.30.0
[INFO] [stderr]    Compiling gix v0.83.0
[INFO] [stderr]    Compiling linesmith-core v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 54s
[INFO] running `Command { std: "docker" "inspect" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", 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" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/linesmith_core-a418529066a96566)
[INFO] [stdout] 
[INFO] [stdout] running 1305 tests
[INFO] [stdout] test config::tests::bom_prefixed_config_parses ... ok
[INFO] [stdout] test config::tests::from_str_validated_returns_parse_error_for_malformed_toml ... ok
[INFO] [stdout] test config::tests::context_bar_allows_fill_key_without_warning ... ok
[INFO] [stdout] test config::tests::from_str_validated_allows_spec_documented_segment_override_keys ... ok
[INFO] [stdout] test config::tests::context_bar_warns_on_typoed_decoration_key ... ok
[INFO] [stdout] test config::tests::from_str_validated_skips_unknown_segment_ids_because_plugins_own_their_schema ... ok
[INFO] [stdout] test config::tests::home_fallback_is_implicit ... ok
[INFO] [stdout] test config::tests::from_str_validated_warns_on_unknown_top_level_key ... ok
[INFO] [stdout] test config::tests::from_str_validated_warns_on_unknown_segment_override_key ... ok
[INFO] [stdout] test config::tests::from_str_validated_warns_on_unknown_layout_options_key ... ok
[INFO] [stdout] test config::tests::extra_usage_allows_currency_and_percent_format_without_warning ... ok
[INFO] [stdout] test config::tests::git_branch_allows_per_marker_hide_below_cells_without_warning ... ok
[INFO] [stdout] test config::tests::empty_config_parses ... ok
[INFO] [stdout] test config::tests::cli_override_wins_over_everything_and_is_explicit ... ok
[INFO] [stdout] test config::tests::empty_cli_override_does_not_count_as_explicit ... ok
[INFO] [stdout] test config::tests::from_str_validated_names_the_segment_id_in_warnings ... ok
[INFO] [stdout] test config::tests::from_str_validated_rejects_segment_specific_keys_on_wrong_built_in ... ok
[INFO] [stdout] test config::tests::env_wins_over_xdg_and_home_and_is_explicit ... ok
[INFO] [stdout] test config::tests::layout_options_icons_accepts_modes_and_defaults_to_nerdfont ... ok
[INFO] [stdout] test config::tests::invert_warns_on_reset_segment_schema ... ok
[INFO] [stdout] test config::tests::layout_options_color_and_padding_parse ... ok
[INFO] [stdout] test config::tests::layout_options_defaults_populate_missing_keys ... ok
[INFO] [stdout] test config::tests::line_segments_parse_in_order ... ok
[INFO] [stdout] test config::tests::line_with_segments_and_numbered_children_coexist ... ok
[INFO] [stdout] test config::tests::io_error_carries_path_in_display ... ok
[INFO] [stdout] test config::tests::from_str_validated_allows_separator_and_other_known_layout_options_keys ... ok
[INFO] [stdout] test config::tests::context_bar_allows_decoration_keys_without_warning ... ok
[INFO] [stdout] test config::tests::load_validated_file_path_surfaces_parse_error_with_path ... ok
[INFO] [stdout] test config::tests::layout_options_color_accepts_all_three_variants ... ok
[INFO] [stdout] test config::tests::layout_options_rejects_unknown_color_variant ... ok
[INFO] [stdout] test config::tests::layout_field_defaults_to_single_line_when_omitted ... ok
[INFO] [stdout] test config::tests::load_validated_surfaces_unknown_key_warnings ... ok
[INFO] [stdout] test config::tests::empty_env_values_are_ignored ... ok
[INFO] [stdout] test config::tests::layout_field_parses_kebab_case_variants ... ok
[INFO] [stdout] test config::tests::line_numbered_keys_preserved_verbatim_for_builder_validation ... ok
[INFO] [stdout] test config::tests::from_str_validated_allows_implemented_and_forward_compat_top_level_keys ... ok
[INFO] [stdout] test config::tests::line_numbered_only_parses ... ok
[INFO] [stdout] test config::tests::line_unknown_scalar_key_does_not_fail_parse_forward_compat ... ok
[INFO] [stdout] test config::tests::load_returns_none_for_missing_file ... ok
[INFO] [stdout] test config::tests::load_validated_returns_none_for_missing_file ... ok
[INFO] [stdout] test config::tests::layout_options_omitted_entirely_is_ok ... ok
[INFO] [stdout] test config::tests::malformed_toml_reports_parse_error ... ok
[INFO] [stdout] test config::tests::schema_for_config_round_trips_as_valid_json ... ok
[INFO] [stdout] test config::tests::model_segment_allows_format_key_without_warning ... ok
[INFO] [stdout] test config::tests::plugin_dirs_defaults_to_empty_when_absent ... ok
[INFO] [stdout] test config::tests::rate_limit_reset_segments_allow_compact_and_use_days_without_warning ... ok
[INFO] [stdout] test config::tests::rate_limit_reset_warns_on_threshold_color_which_does_not_apply ... ok
[INFO] [stdout] test config::tests::returns_none_when_no_home_and_no_xdg ... ok
[INFO] [stdout] test config::tests::rate_limit_segments_allow_shared_bar_keys_without_warning ... ok
[INFO] [stdout] test config::tests::schema_directive_wrapped_body_round_trips_as_toml ... ok
[INFO] [stdout] test config::tests::unknown_top_level_key_is_forward_compatible ... ok
[INFO] [stdout] test config::tests::segment_override_priority_parses ... ok
[INFO] [stdout] test config::tests::segment_override_width_parses_both_sides ... ok
[INFO] [stdout] test config::tests::use_days_warns_on_percent_segment_schema ... ok
[INFO] [stdout] test config::tests::reset_segment_allows_absolute_format_keys_without_warning ... ok
[INFO] [stdout] test config::tests::validated_and_silent_parse_yield_identical_config_on_clean_input ... ok
[INFO] [stdout] test config::tests::workspace_segment_warns_when_format_key_set ... ok
[INFO] [stdout] test config::tests::xdg_config_home_is_implicit ... ok
[INFO] [stdout] test data_context::cache::tests::atomic_write_json_rejects_path_without_parent ... ok
[INFO] [stdout] test data_context::cache::tests::cache_clear_is_idempotent_on_missing_file ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_for_zero_byte_file ... ok
[INFO] [stdout] test config::tests::plugin_dirs_deserializes_from_toml_as_path_list ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_for_corrupt_json ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_for_non_utf8_bytes ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_for_schema_mismatch ... ok
[INFO] [stdout] test data_context::cache::tests::lock_read_legacy_non_json_uses_mtime_plus_30s ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_when_missing ... ok
[INFO] [stdout] test config::tests::rate_limit_percent_segments_allow_format_and_invert_without_warning ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_tolerates_entry_with_both_data_and_error ... ok
[INFO] [stdout] test data_context::cache::tests::cache_reads_rfc3339_z_suffix_serde_format ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_returns_none_for_clock_skew ... ok
[INFO] [stdout] test data_context::cache::tests::lock_error_omitted_from_serialized_form_when_none ... ok
[INFO] [stdout] test data_context::cache::tests::lock_read_caps_pathological_blocked_until ... ok
[INFO] [stdout] test data_context::cache::tests::cache_clear_removes_existing_file ... ok
[INFO] [stdout] test data_context::cache::tests::cache_round_trip_preserves_error_entry ... ok
[INFO] [stdout] test data_context::cache::tests::lock_read_non_utf8_routes_through_legacy_fallback ... ok
[INFO] [stdout] test data_context::cache::tests::cache_round_trip_preserves_data_entry ... ok
[INFO] [stdout] test data_context::cascade::tests::classify_persist_error_routes_io_failure_to_error ... ok
[INFO] [stdout] test data_context::cascade::tests::cascade_tolerates_missing_cache_and_lock_stores ... ok
[INFO] [stdout] test data_context::cache::tests::round_trip_preserves_limits_in_both_directions ... ok
[INFO] [stdout] test data_context::cache::tests::lock_read_returns_none_when_missing ... ok
[INFO] [stdout] test data_context::cascade::tests::classify_persist_error_routes_lock_kind_into_message ... ok
[INFO] [stdout] test data_context::cache::tests::cache_round_trip_preserves_unknown_buckets ... ok
[INFO] [stdout] test data_context::cascade::tests::credential_failure_other_than_missing_preserves_variant_tag ... ok
[INFO] [stdout] test data_context::cascade::tests::classify_persist_error_routes_permission_denied_to_error_on_unix ... ok
[INFO] [stderr] linesmith [warn]: cascade: cache read failed: cache I/O error on /tmp/.tmp3pgE6m/blocked/nested/usage.json: not a directory
[INFO] [stdout] test data_context::cascade::tests::credential_variant_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::cache_write_failure_does_not_block_returned_data ... ok
[INFO] [stdout] test data_context::cache::tests::cache_read_surfaces_permission_denied ... FAILED
[INFO] [stderr] linesmith [error]: cascade: cache write failed: cache I/O error on /tmp/.tmp3pgE6m/blocked/nested: not a directory
[INFO] [stdout] test data_context::cascade::tests::endpoint_401_with_empty_jsonl_surfaces_unauthorized ... ok
[INFO] [stdout] test data_context::cache::tests::cache_write_creates_missing_parent_directory ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_403_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cache::tests::lock_round_trip ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_401_does_not_serve_stale_cache ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_403_surfaces_forbidden_not_network_error ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_429_with_empty_jsonl_surfaces_ratelimited ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_429_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::active_lock_with_no_cached_data_does_not_hit_endpoint ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_401_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::active_lock_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_malformed_response_falls_through_to_jsonl ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_network_error_falls_through_same_as_timeout ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_200_writes_cache_and_lock ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_timeout_without_stale_falls_through_to_jsonl ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_timeout_without_stale_or_jsonl_surfaces_original_error ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_429_writes_lock_with_retry_after_backoff ... ok
[INFO] [stdout] test data_context::cascade::tests::active_forbidden_lock_rejects_stale_cached_data ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_429_with_stale_cache_serves_stale ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_403_writes_lock_with_auth_backoff ... ok
[INFO] [stdout] test data_context::cascade::tests::clock_skew_future_cached_at_treats_entry_as_stale ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_401_writes_lock_so_peers_skip_the_stale_token ... ok
[INFO] [stdout] test data_context::cascade::tests::every_lock_reachable_usage_error_round_trips_through_its_code ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_403_does_not_serve_stale_cache ... ok
[INFO] [stdout] test data_context::cascade::tests::jsonl_fallback_clamps_future_dated_block_start_to_now ... ok
[INFO] [stdout] test data_context::cascade::tests::jsonl_fallback_surfaces_five_hour_window_with_ends_at ... ok
[INFO] [stdout] test data_context::cascade::tests::no_credentials_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::forbidden_round_trips_through_the_persisted_lock_code ... ok
[INFO] [stdout] test data_context::cascade::tests::active_lock_serves_cached_error_without_hitting_endpoint ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_timeout_with_stale_cache_serves_stale ... ok
[INFO] [stdout] test data_context::cascade::tests::active_unauthorized_lock_rejects_stale_cached_data ... ok
[INFO] [stdout] test data_context::cascade::tests::active_lock_with_cached_error_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_401_clears_cache_so_peers_skip_fresh_short_circuit ... ok
[INFO] [stdout] test data_context::cascade::tests::route_persist_error_passes_msg_through_unchanged ... ok
[INFO] [stdout] test data_context::cascade::tests::route_persist_error_dispatches_error_class_to_error_closure_only ... ok
[INFO] [stdout] test data_context::cascade::tests::no_credentials_with_empty_jsonl_still_surfaces_nocredentials ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_timeout_writes_lock_with_error_ttl ... ok
[INFO] [stdout] test data_context::cascade::tests::lock_written_on_429_blocks_next_process_from_hitting_endpoint ... ok
[INFO] [stdout] test data_context::cascade::tests::endpoint_non_401_failure_preserves_cache_for_stale_serve ... ok
[INFO] [stdout] test data_context::cascade::tests::route_persist_error_dispatches_debug_class_to_debug_closure_only ... ok
[INFO] [stdout] test data_context::cascade::tests::fresh_disk_cache_short_circuits_without_reading_credentials ... ok
[INFO] [stdout] test data_context::cascade::tests::invocation_after_401_does_not_serve_stale_cache_via_lock_active ... ok
[INFO] [stdout] test data_context::cascade::tests::invocation_after_401_falls_through_to_jsonl_when_available ... ok
[INFO] [stdout] test data_context::cascade::tests::fresh_cache_is_source_endpoint_not_jsonl ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::env_dir_candidate_included_when_set ... ok
[INFO] [stdout] test data_context::cascade::tests::subprocess_failed_cred_preserves_subprocess_tag ... ok
[INFO] [stdout] test data_context::cascade::tests::no_credentials_surfaces_nocredentials_not_timeout ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::env_dir_absent_when_not_set ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::xdg_default_root_is_home_dot_config ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_no_files_returns_no_credentials ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::xdg_preferred_over_legacy_when_both_roots_present ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_no_home_returns_no_credentials ... ok
[INFO] [stdout] test data_context::credentials::tests::credential_error_code_taxonomy ... ok
[INFO] [stdout] test data_context::credentials::tests::parse_error_display_does_not_leak_token_bytes ... ok
[INFO] [stdout] test data_context::credentials::tests::parses_valid_credentials_bytes ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::candidate_list_includes_xdg_when_home_unset ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_falls_through_to_legacy ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_reads_existing_env_dir_credentials ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::env_dir_set_but_empty_dir_falls_through_to_xdg ... ok
[INFO] [stdout] test data_context::credentials::tests::credentials_debug_redacts_token ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_falls_through_to_xdg ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::resolve_credentials_end_to_end_no_files ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_empty_token ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::xdg_wins_when_both_xdg_and_legacy_files_exist ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_non_string_access_token ... ok
[INFO] [stdout] test data_context::credentials::tests::scopes_default_to_empty_when_missing ... ok
[INFO] [stdout] test data_context::credentials::tests::cascade::xdg_path_probed_even_when_home_is_unset ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_absent_access_token_key_as_missing_field ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_null_token_as_empty_token ... ok
[INFO] [stdout] test data_context::error::usage_error_tests::display_covers_every_variant ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_invalid_json ... ok
[INFO] [stdout] test data_context::error::usage_error_tests::code_flattens_wrapping_variants_via_delegation ... ok
[INFO] [stdout] test data_context::credentials::tests::rejects_missing_claude_ai_oauth ... ok
[INFO] [stdout] test data_context::cascade::tests::expired_lock_does_not_gate_fetch ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_builds_url_without_double_slash ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_401_to_unauthorized ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_happy_path_parses_live_shape ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_429_with_http_date_retry_after ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_429_with_integer_retry_after ... ok
[INFO] [stdout] test data_context::fetcher::tests::default_user_agent_includes_version_and_crate_name ... ok
[INFO] [stdout] test data_context::error::usage_error_tests::source_chains_through_wrapping_variants ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_connection_refused_to_network_error ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_malformed_json_to_parse_error ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_timeout_to_usage_timeout ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_403_to_forbidden ... ok
[INFO] [stdout] test data_context::cascade::tests::stale_cache_with_active_lock_serves_stale_without_credentials ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_500_to_network_error ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_garbage_returns_none ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_http_date_future ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_204_empty_body_surfaces_parse_error ... ok
[INFO] [stdout] test data_context::credentials::tests::oversized_file_rejected_before_parse ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_passes_timeout_through_to_transport ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_401_display_does_not_leak_token ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_caps_pathological_values ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_http_date_past_returns_none ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_zero ... ok
[INFO] [stdout] test data_context::fetcher::tests::resolve_proxy_returns_none_silently_when_no_env_vars_set ... ok
[INFO] [stdout] test data_context::fetcher::tests::resolve_proxy_returns_probe_value_and_skips_env_check ... ok
[INFO] [stdout] test data_context::fetcher::tests::resolve_proxy_warns_with_var_name_only_when_value_unparseable ... ok
[INFO] [stdout] test data_context::fetcher::tests::parse_retry_after_integer_seconds ... ok
[INFO] [stdout] test data_context::fetcher::tests::resolve_proxy_skips_empty_env_values_without_warning ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_5xx_to_network_error ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_is_clean_when_no_gix_repo_held ... ok
[INFO] [stdout] test data_context::cascade::tests::stale_cache_without_lock_triggers_fetch_and_overwrites ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_passes_token_through_to_transport ... ok
[INFO] [stdout] test data_context::fetcher::tests::ureq_transport_construction_pins_user_agent_and_proxy_path ... ok
[INFO] [stdout] test data_context::fetcher::tests::fetch_maps_429_without_retry_after_to_default_backoff ... ok
[INFO] [stdout] test data_context::git::tests::bare_repo_classifies_as_bare ... ok
[INFO] [stdout] test data_context::git::tests::dirty_is_clean_when_no_gix_repo_held ... ok
[INFO] [stdout] test data_context::fetcher::tests::resolve_proxy_warns_for_first_unparseable_var_in_ureq_precedence_order ... ok
[INFO] [stdout] test data_context::cache::tests::concurrent_writes_produce_intact_file ... ok
[INFO] [stdout] test data_context::git::tests::head_kind_str_covers_every_variant ... ok
[INFO] [stdout] test data_context::git::tests::non_repo_directory_returns_ok_none ... ok
[INFO] [stdout] test data_context::git::tests::upstream_is_none_when_no_gix_repo_held ... ok
[INFO] [stdout] test data_context::git::tests::main_checkout_classifies_as_main ... ok
[INFO] [stdout] test data_context::git::tests::resolve_repo_classifies_hand_built_linked_worktree ... ok
[INFO] [stdout] test data_context::git::tests::unborn_head_reports_symbolic_ref_target ... ok
[INFO] [stderr] HEAD is now at 09fb01f tracked
[INFO] [stdout] test data_context::git::tests::upstream_is_none_on_detached_head ... ok
[INFO] [stdout] test data_context::git::tests::dirty_detects_modified_tracked_file ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_counts_untracked_file ... ok
[INFO] [stdout] test data_context::jsonl::tests::active_block_computed_from_recent_entries ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_dedupes_on_message_id ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_dedupes_across_cascade_roots ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_happy_path_produces_active_block_and_7d_window ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_keeps_missing_id_entries_individually ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_old_only_transcript_has_no_active_block ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_reads_xdg_projects_when_home_unset ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_returns_directory_missing_when_no_roots_exist ... ok
[INFO] [stdout] test data_context::jsonl::tests::aggregate_returns_no_entries_when_roots_empty ... ok
[INFO] [stdout] test data_context::jsonl::tests::block_models_dedupes_within_block ... ok
[INFO] [stdout] test data_context::jsonl::tests::entries_exactly_5h_apart_stay_in_same_block ... ok
[INFO] [stdout] test data_context::jsonl::tests::claude_config_dir_only_no_home_no_xdg ... ok
[INFO] [stdout] test data_context::jsonl::tests::entry_at_exactly_7d_boundary_is_included ... ok
[INFO] [stdout] test data_context::jsonl::tests::entry_older_than_7d_excluded_from_window ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_is_clean_on_committed_repo_with_no_changes ... ok
[INFO] [stdout] test data_context::jsonl::tests::five_hour_block_end_derives_from_start ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_counts_staged_file ... ok
[INFO] [stdout] test data_context::jsonl::tests::floor_to_grain_returns_input_when_floor_underflows_min ... ok
[INFO] [stdout] test data_context::jsonl::tests::jsonl_error_code_taxonomy_is_unique ... ok
[INFO] [stdout] test data_context::jsonl::tests::floor_to_grain_hourly_truncates_subhour_components ... ok
[INFO] [stdout] test data_context::jsonl::tests::no_active_block_when_last_entry_is_older_than_window ... ok
[INFO] [stdout] test data_context::jsonl::tests::parses_full_record_shape ... ok
[INFO] [stdout] test data_context::jsonl::tests::parses_sparse_record_shape ... ok
[INFO] [stdout] test data_context::jsonl::tests::project_roots_falls_back_to_home_when_xdg_unset ... ok
[INFO] [stdout] test data_context::jsonl::tests::project_roots_includes_env_dir_when_set ... ok
[INFO] [stdout] test data_context::jsonl::tests::gap_of_5h_plus_one_ns_opens_new_block ... ok
[INFO] [stdout] test data_context::jsonl::tests::future_timestamp_inside_5h_block_is_counted_as_mild_skew ... ok
[INFO] [stdout] test data_context::jsonl::tests::new_block_starts_on_gap_exceeding_window ... ok
[INFO] [stdout] test data_context::jsonl::tests::project_roots_includes_xdg_when_home_unset ... ok
[INFO] [stdout] test data_context::jsonl::tests::project_roots_omits_env_dir_when_unset ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_counts_unstaged_file ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_tallies_all_three_categories ... ok
[INFO] [stdout] test data_context::git::tests::dirty_detects_untracked_file ... ok
[INFO] [stdout] test data_context::git::tests::upstream_is_none_when_no_tracking_branch_configured ... ok
[INFO] [stdout] test data_context::git::tests::dirty_and_dirty_counts_use_independent_cells ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_skips_malformed_lines_and_advances_past_them ... ok
[INFO] [stdout] test data_context::jsonl::tests::token_counts_from_parts_pins_positional_argument_order ... ok
[INFO] [stdout] test data_context::jsonl::tests::token_counts_total_saturates_on_overflow ... ok
[INFO] [stdout] test data_context::jsonl::tests::unknown_fields_are_dropped ... ok
[INFO] [stderr] linesmith [warn]: usage endpoint sent `limits` as an object, expected an array; ignoring
[INFO] [stdout] test data_context::jsonl::tests::seven_day_window_excludes_future_timestamps ... ok
[INFO] [stderr] linesmith [warn]: usage endpoint `limits[1]` unusable, dropping: missing field `percent`
[INFO] [stdout] test data_context::jsonl::tests::usage_limit_reset_keeps_some_over_later_none ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_reads_all_lines_on_first_call ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_skips_non_utf8_line_and_keeps_later_valid_lines ... ok
[INFO] [stdout] test data_context::git::tests::dirty_is_clean_on_committed_repo_with_no_changes ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_returns_empty_for_missing_file ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_offset_monotonically_advances_on_repeat_reads ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_only_reads_new_lines_on_second_call ... ok
[INFO] [stdout] test data_context::jsonl::tests::usage_limit_reset_picks_most_recent ... ok
[INFO] [stdout] test data_context::usage::tests::bucket_resets_at_accepts_null ... ok
[INFO] [stdout] test data_context::usage::tests::extra_usage_null_utilization_parses_as_none ... ok
[INFO] [stdout] test data_context::usage::tests::into_endpoint_usage_preserves_unknown_buckets ... ok
[INFO] [stdout] test data_context::usage::tests::jsonl_usage_smart_ctor_stores_windows ... ok
[INFO] [stdout] test data_context::usage::tests::limits_degrades_a_non_array_to_none ... ok
[INFO] [stdout] test data_context::usage::tests::limits_drops_only_the_malformed_element ... ok
[INFO] [stdout] test data_context::usage::tests::limits_null_and_missing_both_yield_none ... ok
[INFO] [stdout] test data_context::usage::tests::limits_parses_alongside_the_flatten_catch_all ... ok
[INFO] [stdout] test data_context::usage::tests::limits_percent_accepts_an_integer ... ok
[INFO] [stdout] test data_context::usage::tests::injected_codename_lands_in_unknown_buckets ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_skips_partial_trailing_line ... ok
[INFO] [stdout] test data_context::usage::tests::extra_usage_utilization_clamps ... ok
[INFO] [stdout] test data_context::usage::tests::limits_percent_clamps_out_of_range ... ok
[INFO] [stdout] test data_context::usage::tests::known_buckets_matches_usage_api_response_fields ... ok
[INFO] [stdout] test data_context::usage::tests::parses_live_capture_losslessly ... ok
[INFO] [stdout] test data_context::jsonl::tests::tailer_resets_on_truncation ... ok
[INFO] [stdout] test data_context::usage::tests::limits_survive_a_cache_round_trip ... ok
[INFO] [stdout] test data_context::usage::tests::utilization_clamps_below_zero ... ok
[INFO] [stdout] test data_context::usage::tests::utilization_rejects_non_number ... ok
[INFO] [stdout] test data_context::xdg::tests::cache_scope_falls_back_to_home_dot_cache ... ok
[INFO] [stdout] test data_context::xdg::tests::config_scope_does_not_borrow_xdg_cache_home ... ok
[INFO] [stdout] test data_context::xdg::tests::config_scope_uses_xdg_config_home ... ok
[INFO] [stdout] test data_context::xdg::tests::preserves_non_utf8_xdg_cache_home ... ok
[INFO] [stdout] test data_context::usage::tests::unrecognized_kind_and_severity_degrade_rather_than_fail ... ok
[INFO] [stdout] test data_context::xdg::tests::empty_sub_does_not_append_trailing_slash ... ok
[INFO] [stdout] test data_context::xdg::tests::from_os_options_filters_empty_strings_to_none ... ok
[INFO] [stdout] test data_context::usage::tests::utilization_clamps_above_one_hundred ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_current_usage_all_null_is_silent_none ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_current_usage_pure_type_drift_suppresses_collapse_warn ... ok
[INFO] [stdout] test data_context::xdg::tests::config_scope_falls_back_to_home_dot_config ... ok
[INFO] [stdout] test data_context::xdg::tests::returns_none_when_neither_xdg_nor_home_is_set ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_current_usage_mixed_type_drift_and_silent_absence_still_warns_collapse ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_current_usage_partial_population_warns_and_collapses ... ok
[INFO] [stdout] test input::normalizers::claude::tests::string_leaf_warn_uses_path_not_key ... ok
[INFO] [stdout] test input::normalizers::claude::tests::try_u64_required_finds_key_with_literal_dot ... ok
[INFO] [stdout] test input::normalizers::tests::detect_falls_back_to_claude_when_no_signal ... ok
[INFO] [stdout] test input::normalizers::tests::detect_falls_back_when_cost_is_non_object ... ok
[INFO] [stdout] test input::normalizers::tests::detect_matches_claude_when_total_api_duration_ms_is_null ... ok
[INFO] [stdout] test data_context::git::tests::classify_kind_returns_basename_for_real_linked_worktree ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_git_worktree_path_empty_name_populated_warns ... ok
[INFO] [stdout] test input::normalizers::claude::tests::string_leaf_finds_key_with_literal_dot ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_git_worktree_asymmetric_empty_warns ... ok
[INFO] [stdout] test input::normalizers::claude::tests::parse_git_worktree_both_empty_is_silent_none ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_accepts_dash_separated_aliases ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_parses_canonical_aliases ... ok
[INFO] [stderr] linesmith [warn]: context_window.used_percentage: expected number, got String; degrading leaf to None
[INFO] [stdout] test input::normalizers::tests::tool_from_str_unknown_value_routes_to_tool_other_with_trimmed_input ... ok
[INFO] [stderr] linesmith [warn]: context_window.context_window_size: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::normalizers::tests::detect_opts_override_used_when_env_unset ... ok
[INFO] [stderr] linesmith [warn]: context_window.total_input_tokens: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test data_context::usage::tests::parses_empty_response ... ok
[INFO] [stderr] linesmith [warn]: context_window.total_output_tokens: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::normalizers::tests::tool_from_str_every_canonical_variant_has_all_four_spellings ... ok
[INFO] [stderr] linesmith [warn]: context_window.context_window_size = 4294967296 exceeds u32::MAX; degrading leaf to None
[INFO] [stdout] test input::normalizers::tests::detect_opts_override_wins_over_heuristic ... ok
[INFO] [stdout] test input::normalizers::tests::detect_returns_claude_when_cost_total_api_duration_ms_present ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_returns_none_for_empty_and_whitespace ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_trims_surrounding_whitespace ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_unknown_with_known_substring_stays_other ... ok
[INFO] [stdout] test data_context::xdg::tests::cache_scope_prefers_xdg_cache_home_over_home ... ok
[INFO] [stdout] test input::normalizers::tests::tool_from_str_is_case_insensitive ... ok
[INFO] [stderr] linesmith [warn]: agent: wrapper present but `name` field missing; degrading to None (possible CC schema drift)
[INFO] [stderr] linesmith [warn]: agent.name: expected string, got Number; degrading to None
[INFO] [stderr] linesmith [warn]: agent: expected object, got String; degrading to None
[INFO] [stdout] test input::tests::context_window_explicit_null_treated_as_none ... ok
[INFO] [stderr] linesmith [warn]: cost.total_lines_removed: missing; degrading leaf to None (possible CC schema drift)
[INFO] [stderr] linesmith [warn]: context_window.current_usage: only 3/4 token fields populated; collapsing to None per ADR-0014 all-or-nothing rule (possible CC schema drift)
[INFO] [stdout] test input::tests::context_window_wrapper_with_all_leaves_drift_collapses_to_none ... ok
[INFO] [stdout] test input::tests::context_window_size_above_u32_max_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::cost_absent_treated_as_none ... ok
[INFO] [stdout] test data_context::usage::tests::scoped_model_name_collapses_every_absence ... ok
[INFO] [stdout] test input::tests::agent_absent_null_or_empty_yields_none ... ok
[INFO] [stdout] test input::tests::cost_explicit_null_treated_as_none ... ok
[INFO] [stdout] test input::tests::agent_name_typed_wrong_degrades_to_none ... ok
[INFO] [stdout] test input::tests::agent_non_object_degrades_to_none ... ok
[INFO] [stdout] test input::tests::cost_missing_sub_field_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::current_usage_inner_missing_collapses_whole_turn_usage ... ok
[INFO] [stderr] linesmith [warn]: context_window.current_usage: expected object, got String; degrading to None
[INFO] [stderr] linesmith [warn]: context_window.total_output_tokens: null; degrading leaf to None (possible CC schema drift)
[INFO] [stdout] test input::tests::current_usage_non_object_degrades_to_none ... ok
[INFO] [stdout] test input::tests::current_usage_present_parses_all_four_fields ... ok
[INFO] [stdout] test input::tests::current_usage_survives_when_peer_leaf_is_null ... ok
[INFO] [stdout] test input::tests::effort_bare_string_still_parses ... ok
[INFO] [stderr] linesmith [warn]: cost.total_cost_usd: expected number, got String; degrading leaf to None
[INFO] [stdout] test input::tests::cost_total_cost_usd_non_numeric_degrades_leaf_only ... ok
[INFO] [stderr] linesmith [warn]: effort: expected object or string, got Number; degrading to None
[INFO] [stdout] test input::tests::effort_non_object_non_string_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: cost.total_cost_usd: expected number, got String; degrading leaf to None
[INFO] [stdout] test input::tests::effort_object_form_parses ... ok
[INFO] [stderr] linesmith [warn]: cost.total_duration_ms: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::tests::cost_total_cost_usd_accepts_zero_and_tiny_positive ... ok
[INFO] [stderr] linesmith [warn]: cost.total_api_duration_ms: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::tests::cost_wrapper_with_all_leaves_drift_collapses_to_none ... ok
[INFO] [stderr] linesmith [warn]: cost.total_lines_added: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::tests::current_usage_inner_null_collapses_whole_turn_usage ... ok
[INFO] [stderr] linesmith [warn]: cost.total_lines_removed: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::tests::current_usage_absent_is_none ... ok
[INFO] [stderr] linesmith [warn]: context_window.current_usage: only 3/4 token fields populated; collapsing to None per ADR-0014 all-or-nothing rule (possible CC schema drift)
[INFO] [stdout] test input::tests::effort_object_missing_level_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: effort: wrapper present but `level` missing; degrading to None (possible CC schema drift)
[INFO] [stdout] test input::tests::current_usage_inner_wrong_type_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: context_window.current_usage.input_tokens: expected unsigned integer, got String; degrading leaf to None
[INFO] [stdout] test input::tests::cost_wrong_type_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: cost: expected object, got String; degrading to None
[INFO] [stdout] test input::tests::effort_object_null_level_maps_to_none ... ok
[INFO] [stderr] linesmith [warn]: effort.level: expected string, got Number; degrading to None
[INFO] [stdout] test input::tests::effort_object_non_string_level_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: context_window.total_output_tokens: null; degrading leaf to None (possible CC schema drift)
[INFO] [stdout] test input::tests::effort_top_level_null_maps_to_none ... ok
[INFO] [stderr] linesmith [warn]: context_window.total_input_tokens: null; degrading leaf to None (possible CC schema drift)
[INFO] [stdout] test input::tests::effort_object_unknown_level_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: output_style: wrapper present but `name` field missing; degrading to None (possible CC schema drift)
[INFO] [stdout] test input::tests::model_family::folds_case_on_the_prefix_but_preserves_the_family ... ok
[INFO] [stderr] linesmith [warn]: output_style.name: expected string, got Number; degrading to None
[INFO] [stdout] test input::tests::missing_used_percentage_degrades_leaf_to_none ... ok
[INFO] [stderr] linesmith [warn]: effort: unknown level "ultra" at effort; degrading to None (possible CC schema drift — known: low, medium, high, max, xhigh)
[INFO] [stdout] test input::tests::malformed_json_carries_exact_source_position ... ok
[INFO] [stdout] test input::tests::missing_model_degrades_to_none ... ok
[INFO] [stdout] test input::tests::model_family::handles_bedrock_and_vertex_vendor_prefixes ... ok
[INFO] [stdout] test input::tests::json_type_of_maps_each_variant ... ok
[INFO] [stdout] test input::tests::model_family::handles_degenerate_ids ... ok
[INFO] [stdout] test input::tests::model_family::rejects_a_token_that_is_only_a_variant_marker ... ok
[INFO] [stdout] test input::tests::model_family::rejects_an_all_numeric_tail ... ok
[INFO] [stdout] test input::tests::model_family::strips_the_variant_marker ... ok
[INFO] [stdout] test input::tests::empty_object_payload_returns_all_none_top_level ... ok
[INFO] [stdout] test input::tests::model_family::takes_the_first_non_numeric_token ... ok
[INFO] [stdout] test input::tests::git_worktree_absent_key_treated_as_none ... ok
[INFO] [stdout] test input::tests::model_id::a_non_string_id_warns_and_leaves_display_name_intact ... ok
[INFO] [stdout] test input::tests::null_total_output_tokens_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::null_used_percentage_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::out_of_range_number_rejected_at_json_layer ... ok
[INFO] [stdout] test input::tests::null_context_window_size_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::null_total_input_tokens_degrades_leaf_only ... ok
[INFO] [stdout] test input::tests::output_style_absent_or_null_yields_none ... ok
[INFO] [stderr] linesmith [warn]: output_style: expected object, got String; degrading to None
[INFO] [stdout] test input::tests::output_style_name_typed_wrong_degrades_to_none ... ok
[INFO] [stdout] test input::tests::parse_default_equivalent_to_parse_with_opts_default ... ok
[INFO] [stdout] test input::tests::model_family::rejects_ids_with_no_claude_token ... ok
[INFO] [stdout] test input::tests::model_id::reads_a_string_id ... ok
[INFO] [stdout] test input::tests::effort_unknown_string_degrades_to_none ... ok
[INFO] [stdout] test input::tests::model_family::skips_purely_numeric_tokens ... ok
[INFO] [stdout] test input::tests::model_id::degrades_on_missing_null_and_empty ... ok
[INFO] [stdout] test input::tests::output_style_non_object_degrades_to_none ... ok
[INFO] [stdout] test input::tests::parse_error_display_formats_root_path_readably ... ok
[INFO] [stdout] test input::tests::parse_error_invalid_value_display_includes_tool_path_and_reason ... ok
[INFO] [stdout] test input::tests::parse_error_type_mismatch_display_includes_tool_path_and_kinds ... ok
[INFO] [stdout] test input::tests::cost_lines_added_accepts_large_value_without_truncation ... ok
[INFO] [stdout] test input::tests::parses_minimal_claude_payload ... ok
[INFO] [stdout] test input::tests::parses_output_style ... ok
[INFO] [stdout] test input::tests::parses_payload_with_worktree ... ok
[INFO] [stdout] test input::tests::parses_top_level_version_string ... ok
[INFO] [stdout] test input::tests::parses_vim_object_form ... ok
[INFO] [stdout] test input::tests::parse_with_opts_tool_override_stamps_parse_error_tool ... ok
[INFO] [stdout] test input::tests::parse_with_opts_tool_override_stamps_status_context_tool ... ok
[INFO] [stdout] test input::tests::parse_with_opts_tool_override_stamps_type_mismatch_tool ... ok
[INFO] [stdout] test input::tests::percent_from_f64_rejects_values_that_would_narrow_into_range ... ok
[INFO] [stdout] test input::tests::parses_agent_name ... ok
[INFO] [stdout] test input::tests::parses_context_window ... ok
[INFO] [stdout] test input::tests::parses_vim_string_form_for_compat ... ok
[INFO] [stdout] test input::tests::percent_complement_stays_in_range ... ok
[INFO] [stdout] test input::tests::percent_from_f64_clamped_clamps_finite_values_and_rejects_nan ... ok
[INFO] [stdout] test input::tests::percent_new_rejects_out_of_range ... ok
[INFO] [stdout] test input::tests::rejects_malformed_json ... ok
[INFO] [stdout] test input::tests::pre_first_api_call_payload_renders_other_segments ... ok
[INFO] [stdout] test input::tests::tool_display_renders_canonical_strings ... ok
[INFO] [stdout] test input::tests::version_absent_or_null_or_empty_yields_none ... ok
[INFO] [stdout] test input::tests::used_percentage_above_100_clamps_instead_of_rejecting ... ok
[INFO] [stdout] test input::tests::used_percentage_below_0_rejects_as_invalid_value ... ok
[INFO] [stdout] test input::tests::used_percentage_in_range_passes_through_unchanged ... ok
[INFO] [stderr] linesmith [warn]: vim.mode: expected string, got Number; degrading to None
[INFO] [stderr] linesmith [warn]: workspace.git_worktree: expected object, got String; degrading to None (worktree only)
[INFO] [stdout] test input::tests::vim_object_non_string_mode_degrades_to_none ... ok
[INFO] [stdout] test input::tests::wrong_type_git_worktree_degrades_to_none ... ok
[INFO] [stdout] test input::tests::wrong_type_used_percentage_degrades_leaf_to_none ... ok
[INFO] [stdout] test input::tests::vim_object_missing_mode_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: vim: wrapper present but `mode` missing; degrading to None (possible CC schema drift)
[INFO] [stdout] test layout::decision::tests::constructors_accept_invariant_boundaries ... ok
[INFO] [stderr] linesmith [warn]: vim: expected object or string, got Number; degrading to None
[INFO] [stdout] test input::tests::vim_non_object_non_string_degrades_to_none ... ok
[INFO] [stdout] test layout::decision::tests::derives_clone_debug_partial_eq ... ok
[INFO] [stderr] linesmith [warn]: vim: unknown mode "surrogate" at vim.mode; degrading to None (possible CC schema drift — known: normal, insert, visual, command, replace)
[INFO] [stdout] test layout::tests::all_priority_zero_keeps_every_segment_even_when_overfull ... ok
[INFO] [stdout] test layout::decision::tests::priority_drop_accepts_zero_dropped_width ... ok
[INFO] [stdout] test input::tests::vim_unknown_mode_degrades_segment_not_whole_parse ... ok
[INFO] [stdout] test layout::decision::tests::remediation_pins_per_variant_phrasing ... ok
[INFO] [stdout] test layout::tests::apply_width_bounds_drops_below_min ... ok
[INFO] [stdout] test input::tests::version_surrounding_whitespace_is_trimmed ... ok
[INFO] [stderr] linesmith [warn]: version: expected string, got Number; degrading to None
[INFO] [stdout] test layout::tests::apply_width_bounds_passthrough_within_range ... ok
[INFO] [stdout] test input::tests::version_typed_wrong_degrades_to_none ... ok
[INFO] [stderr] linesmith [warn]: context_window.current_usage: only 2/4 token fields populated; collapsing to None per ADR-0014 all-or-nothing rule (possible CC schema drift)
[INFO] [stdout] test layout::tests::dropped_lead_satellite_does_not_inherit_neighbor_group_color ... ok
[INFO] [stdout] test layout::tests::apply_width_bounds_truncates_above_max ... ok
[INFO] [stdout] test input::tests::current_usage_missing_inner_field_degrades_to_none ... ok
[INFO] [stdout] test input::tests::vim_absent_or_null_yields_none ... ok
[INFO] [stdout] test input::tests::current_usage_null_is_none ... ok
[INFO] [stdout] test layout::tests::emit_priority_drop_via_truncatable_path_when_reflow_target_below_floor ... ok
[INFO] [stdout] test layout::tests::drops_in_descending_priority_order ... ok
[INFO] [stdout] test layout::tests::emit_reflow_applied_when_truncatable_segment_end_ellipsis_fits ... ok
[INFO] [stdout] test layout::tests::emit_priority_drop_when_segment_dropped_under_pressure ... ok
[INFO] [stdout] test layout::tests::emit_shrink_applied_when_shrink_to_fit_succeeds ... ok
[INFO] [stdout] test layout::tests::group_scan_steps_over_powerline_separator ... ok
[INFO] [stdout] test layout::tests::emit_width_bound_under_min_drop_when_render_below_min_floor ... ok
[INFO] [stderr] linesmith [warn]: context_window.used_percentage = 101.7 > 100; clamping to 100
[INFO] [stdout] test layout::tests::group_with_three_members_all_inherit_lead ... ok
[INFO] [stdout] test layout::tests::hidden_lead_satellite_re_leads_and_keeps_own_color ... ok
[INFO] [stdout] test layout::tests::leading_fuses_left_segment_is_its_own_lead ... ok
[INFO] [stdout] test layout::tests::group_satellite_inherits_lead_color ... ok
[INFO] [stdout] test layout::tests::empty_input_renders_empty_string ... ok
[INFO] [stdout] test layout::tests::mix_drops_positives_keeps_zeros ... ok
[INFO] [stdout] test layout::tests::apply_width_bounds_none_is_passthrough ... ok
[INFO] [stdout] test layout::tests::no_decisions_emitted_when_no_pressure_no_bounds ... ok
[INFO] [stdout] test input::tests::used_percentage_fractional_overshoot_clamps_to_100 ... ok
[INFO] [stdout] test layout::tests::no_width_pressure_renders_all_with_separators ... ok
[INFO] [stdout] test layout::tests::group_satellite_keeps_its_own_decorations ... ok
[INFO] [stdout] test layout::tests::emit_width_bound_over_max_truncate_when_render_above_max ... ok
[INFO] [stdout] test layout::tests::no_trailing_separator ... ok
[INFO] [stdout] test layout::tests::drops_highest_priority_under_pressure ... ok
[INFO] [stdout] test layout::tests::non_truncatable_drops_unchanged_under_pressure ... ok
[INFO] [stdout] test layout::tests::emit_multiple_decisions_in_iteration_order_under_compound_pressure ... ok
[INFO] [stdout] test layout::tests::multi_span_satellite_recolors_every_span ... ok
[INFO] [stdout] test layout::tests::ok_none_is_silently_hidden ... ok
[INFO] [stdout] test layout::tests::emit_priority_drop_does_not_panic_on_zero_width_segment ... ok
[INFO] [stdout] test layout::tests::osc8_pair_balanced_when_hyperlinked_run_truncated_to_zero ... ok
[INFO] [stdout] test layout::tests::plugin_declared_fg_satellite_yields_to_group ... ok
[INFO] [stdout] test layout::tests::priority_drop_recomputes_budget_with_powerline_separators ... ok
[INFO] [stdout] test layout::tests::powerline_chevrons_are_charged_to_total_width_in_layout ... ok
[INFO] [stdout] test layout::tests::powerline_separator_emits_padded_chevron_with_correct_width ... ok
[INFO] [stdout] test layout::tests::priority_ties_drop_rightmost_first ... ok
[INFO] [stdout] test layout::tests::reflow_drops_when_truncation_would_fall_below_floor ... ok
[INFO] [stdout] test layout::tests::reflow_iterates_when_first_truncation_insufficient ... ok
[INFO] [stdout] test layout::tests::reflow_respects_explicit_width_min_floor ... ok
[INFO] [stdout] test layout::tests::reflow_truncates_highest_priority_before_dropping ... ok
[INFO] [stdout] test layout::tests::render_context_threads_terminal_width_into_segments ... ok
[INFO] [stdout] test layout::tests::osc8_pair_balanced_when_hyperlinked_run_is_truncated ... ok
[INFO] [stdout] test layout::tests::push_osc8_open_strips_c1_string_terminator_and_nul ... ok
[INFO] [stdout] test layout::tests::push_osc8_open_strips_control_chars_from_url ... ok
[INFO] [stdout] test layout::tests::recolored_satellite_merges_spans_that_become_identical ... ok
[INFO] [stdout] test layout::tests::render_inline_none_separator_collapses_neighbors ... ok
[INFO] [stdout] test layout::tests::render_to_runs_fans_a_spanned_segment_into_one_run_per_span ... ok
[INFO] [stdout] test layout::tests::render_to_runs_emits_literal_separator_with_default_style ... ok
[INFO] [stdout] test layout::tests::render_to_runs_emits_powerline_chevron_with_muted_role ... ok
[INFO] [stdout] test layout::tests::render_to_runs_emits_segment_then_separator_then_segment ... ok
[INFO] [stdout] test data_context::git::tests::dirty_counts_tallies_same_file_staged_and_modified_in_both_columns ... ok
[INFO] [stdout] test layout::tests::priority_zero_never_drops_even_over_budget ... ok
[INFO] [stdout] test layout::tests::render_to_runs_round_trip_holds_under_capability_none ... ok
[INFO] [stdout] test layout::tests::render_to_runs_empty_input_yields_no_runs ... ok
[INFO] [stdout] test layout::tests::render_items_wraps_each_styled_segment_under_palette16 ... ok
[INFO] [stdout] test layout::tests::render_to_runs_skips_separator_none_between_segments ... ok
[INFO] [stdout] test layout::tests::render_to_runs_with_one_survivor_emits_no_trailing_separator ... ok
[INFO] [stdout] test layout::tests::render_to_runs_then_runs_to_ansi_matches_render_with_observers ... ok
[INFO] [stdout] test layout::tests::reflow_does_not_touch_priority_zero_even_when_truncatable ... ok
[INFO] [stdout] test layout::tests::render_to_runs_preserves_segment_style ... ok
[INFO] [stdout] test layout::tests::render_to_runs_drops_segments_under_width_pressure ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_emits_osc8_around_unstyled_run ... ok
[INFO] [stderr] linesmith [warn]: segment shrink_to_fit returned width 17 > target 3; rejecting
[INFO] [stdout] test layout::tests::render_to_runs_round_trip_holds_under_width_pressure ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_capability_none_emits_unwrapped_text ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_drops_hyperlink_when_not_supported ... ok
[INFO] [stdout] test layout::tests::render_to_runs_round_trip_holds_with_hyperlinks_enabled ... ok
[INFO] [stdout] test layout::tests::render_to_runs_skips_empty_text_segment_run ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_emits_independent_osc8_pairs_for_adjacent_hyperlinked_runs ... ok
[INFO] [stdout] test layout::tests::render_with_observers_constructs_render_context_from_terminal_width_arg ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_emits_no_osc8_when_style_has_no_hyperlink ... ok
[INFO] [stdout] test layout::tests::shrink_to_fit_honors_configured_width_min_floor ... ok
[INFO] [stdout] test layout::tests::shrink_to_fit_rejects_too_wide_response_and_drops ... ok
[INFO] [stdout] test layout::tests::shrink_to_fit_replaces_full_render_when_compact_form_fits ... ok
[INFO] [stdout] test layout::tests::shrink_to_fit_runs_before_truncatable_end_ellipsis ... ok
[INFO] [stdout] test layout::tests::total_width_sums_all_layout_items ... ok
[INFO] [stdout] test layout::tests::total_width_single_segment_has_no_separator ... ok
[INFO] [stdout] test layout::tests::runs_to_ansi_emits_osc8_around_styled_run_when_hyperlinks_supported ... ok
[INFO] [stdout] test layout::tests::total_width_returns_u32_beyond_u16_range ... ok
[INFO] [stdout] test layout::tests::truncate_does_not_split_zwj_emoji_sequence ... ok
[INFO] [stdout] test layout::tests::total_width_zero_for_empty ... ok
[INFO] [stdout] test layout::tests::truncate_preserves_combining_mark_with_base ... ok
[INFO] [stdout] test layout::tests::truncate_to_zero_yields_empty ... ok
[INFO] [stdout] test layout::tests::segment_error_is_logged_and_hides_segment ... ok
[INFO] [stdout] test layout::tests::separator_none_not_charged_to_budget ... ok
[INFO] [stdout] test logging::tests::apply_sets_recognized_level_without_writing ... ok
[INFO] [stdout] test logging::tests::apply_writes_warning_to_injected_sink_and_resets_to_default ... ok
[INFO] [stdout] test logging::tests::captured_sink_drain_returns_entries_and_empties_buffer ... ok
[INFO] [stdout] test logging::tests::captured_sink_dropped_counter_resets_on_detailed_drain ... ok
[INFO] [stdout] test logging::tests::captured_sink_emit_seq_is_monotonic_across_drains ... ok
[INFO] [stdout] test layout::tests::try_reflow_preserves_segment_id_reference ... ok
[INFO] [stdout] test layout::tests::ungrouped_segment_keeps_its_own_color ... ok
[INFO] [stdout] test logging::tests::captured_sink_evicts_oldest_when_full_and_counts_drops ... ok
[INFO] [stdout] test layout::tests::user_pinned_satellite_keeps_its_color_over_group ... ok
[INFO] [stdout] test logging::tests::captured_sink_last_drain_seq_marks_in_frame_emits_as_seen ... ok
[INFO] [stdout] test logging::tests::captured_sink_legacy_drain_also_resets_dropped_counter ... ok
[INFO] [stdout] test logging::tests::captured_sink_records_error_bypassing_off_level ... ok
[INFO] [stdout] test logging::tests::captured_sink_skips_debug_emit_when_level_warn ... ok
[INFO] [stdout] test logging::tests::captured_sink_with_capacity_clamps_zero_to_one ... ok
[INFO] [stdout] test logging::tests::debug_enables_every_lower_level ... ok
[INFO] [stdout] test logging::tests::decide_init_keeps_default_when_env_unset ... ok
[INFO] [stdout] test logging::tests::decide_init_parses_recognized_levels ... ok
[INFO] [stdout] test logging::tests::decide_init_warns_on_garbage ... ok
[INFO] [stdout] test layout::tests::truncate_drops_spans_degrading_to_whole_segment_style ... ok
[INFO] [stdout] test logging::tests::default_level_is_warn ... ok
[INFO] [stdout] test layout::tests::truncate_handles_wide_grapheme_without_splitting ... ok
[INFO] [stdout] test layout::tests::truncate_to_max_cells_one_emits_only_ellipsis ... ok
[INFO] [stdout] test logging::tests::apply_keeps_level_when_env_unset ... ok
[INFO] [stdout] test logging::tests::emit_error_fires_at_every_level ... ok
[INFO] [stdout] test logging::tests::from_u8_saturates_out_of_range_to_debug_in_release ... ok
[INFO] [stdout] test layout::tests::render_with_observers_emits_powerline_chevron_wrapped_in_muted_sgr ... ok
[INFO] [stdout] test logging::tests::concrete_sink_types_remain_thread_safe ... ok
[INFO] [stdout] test logging::tests::from_u8_roundtrips_known_bytes ... ok
[INFO] [stdout] test logging::tests::captured_sink_records_emit_timestamp ... ok
[INFO] [stdout] test logging::tests::parse_rejects_error_and_info_aliases ... ok
[INFO] [stdout] test logging::tests::parse_accepts_common_aliases ... ok
[INFO] [stdout] test logging::tests::parse_rejects_garbage ... ok
[INFO] [stdout] test layout::tests::respects_inline_literal_separator ... ok
[INFO] [stdout] test layout::tests::satellite_inherits_lead_color_after_lead_is_shrunk ... ok
[INFO] [stdout] test layout::tests::shrink_to_fit_falls_back_to_drop_when_compact_form_too_wide ... ok
[INFO] [stdout] test data_context::git::tests::upstream_reports_zero_ahead_zero_behind_when_in_sync ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::all_tool_variants_map_to_snake_case_kind ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::context_window_current_usage_mirrors_all_four_fields ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::config_is_passed_through_as_provided ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::context_window_exposes_used_and_remaining_as_floats ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::cost_lines_fields_round_trip_as_i64 ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::each_lazy_dep_surfaces_as_tagged_error_when_stub ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::effort_surfaces_as_snake_case_string ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::env_non_whitelisted_key_absent ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::declared_source_shows_up_as_tagged_error_when_stub ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::env_whitelist_keys_present_even_when_env_is_empty ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::git_dep_maps_ok_none_to_unit_data ... ok
[INFO] [stdout] test logging::tests::install_sink_blocks_until_in_flight_emit_completes_and_emission_lands_on_prior_sink ... ok
[INFO] [stdout] test logging::tests::emit_routes_to_thread_local_sink_even_when_global_level_is_off ... ok
[INFO] [stdout] test logging::tests::install_sink_returns_prior_for_manual_restore ... ok
[INFO] [stdout] test logging::tests::captured_sink_records_warn_emit_with_compact_format ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::git_dep_maps_ok_some_to_populated_map ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::option_fields_become_unit_when_none ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_empty_array_and_object_round_trip ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::git_dep_reports_error_variant_when_gix_failed ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_nested_array_preserves_all_items_as_escape_hatch ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_at_exact_max_depth_survives_one_deeper_collapses ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_nested_arrays_beyond_max_depth_collapse_to_unit ... ok
[INFO] [stdout] test data_context::git::tests::upstream_reports_ahead_only_when_local_leads ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_u64_above_i64_max_falls_through_to_f64 ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_oversize_string_preserves_full_content_as_escape_hatch ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::tool_claude_code_has_only_kind ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::tool_other_carries_forensic_name ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_nested_object_preserves_all_entries_as_escape_hatch ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::raw_json_object_round_trips_recursively ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_at_exact_max_map_size_are_not_truncated ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_truncation_survives_deterministically ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_value_depth_resets_per_entry ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_value_nested_object_truncates_under_strict ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_key_at_exact_max_string_size_survives ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_value_nested_array_truncates_under_strict ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_value_multibyte_string_truncates_at_utf8_boundary ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::usage_endpoint_mirror_preserves_every_field_plugins_depend_on ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::usage_jsonl_variant_with_no_active_block_exposes_unit_five_hour ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::version_surfaces_as_string_when_present ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::undeclared_sources_absent ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_drop_oversize_keys ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::top_level_has_status_config_env ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::unknown_buckets_value_oversize_string_is_truncated_under_strict ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::usage_jsonl_variant_mirrors_tokens_and_ends_at ... ok
[INFO] [stdout] test plugins::output::tests::control_chars_in_plugin_separator_are_stripped ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::workspace_worktree_preserves_name_and_path ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::vim_output_style_agent_name_surface_as_strings_when_present ... ok
[INFO] [stdout] test plugins::output::tests::control_chars_in_plugin_text_are_stripped ... ok
[INFO] [stdout] test plugins::ctx_mirror::tests::workspace_without_worktree_emits_unit ... ok
[INFO] [stdout] test plugins::output::tests::empty_hyperlink_string_does_not_set_link ... ok
[INFO] [stdout] test plugins::output::tests::decoration_wrong_type_rejected ... ok
[INFO] [stdout] test plugins::output::tests::empty_runs_rejected ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_empty_body_rejected ... ok
[INFO] [stdout] test plugins::output::tests::all_separator_strings_map_correctly ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_missing_hash_rejected ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_non_hex_digits_rejected ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_wrong_length_rejected ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_uppercase_accepted ... ok
[INFO] [stdout] test plugins::output::tests::multi_run_rejected_with_deferred_note ... ok
[INFO] [stdout] test plugins::output::tests::hyperlink_field_threads_to_style ... ok
[INFO] [stdout] test plugins::output::tests::non_string_hyperlink_rejected ... ok
[INFO] [stdout] test plugins::output::tests::non_map_non_unit_return_rejected ... ok
[INFO] [stdout] test plugins::output::tests::right_separator_empty_string_is_literal ... ok
[INFO] [stdout] test plugins::output::tests::right_separator_literal_preserves_user_string ... ok
[INFO] [stdout] test plugins::output::tests::hex_color_alpha_form_rejected ... ok
[INFO] [stdout] test plugins::output::tests::right_separator_non_string_rejected ... ok
[INFO] [stdout] test plugins::output::tests::missing_runs_key_rejected ... ok
[INFO] [stdout] test plugins::output::tests::single_run_text_only ... ok
[INFO] [stdout] test plugins::output::tests::run_text_wrong_type_rejected ... ok
[INFO] [stdout] test plugins::output::tests::runs_field_non_array_rejected ... ok
[INFO] [stdout] test plugins::output::tests::runs_element_non_map_rejected ... ok
[INFO] [stdout] test plugins::output::tests::right_separator_space ... ok
[INFO] [stdout] test plugins::output::tests::single_run_with_hex_fg ... ok
[INFO] [stdout] test plugins::output::tests::unit_return_hides_segment ... ok
[INFO] [stdout] test plugins::output::tests::run_without_text_rejected ... ok
[INFO] [stdout] test plugins::output::tests::unknown_role_rejected ... ok
[INFO] [stdout] test plugins::output::tests::unsupported_bg_field_silently_ignored ... ok
[INFO] [stdout] test plugins::segment::tests::dep_from_token_covers_every_known_dep ... ok
[INFO] [stdout] test plugins::output::tests::single_run_with_decorations ... ok
[INFO] [stdout] test plugins::output::tests::single_run_with_role ... ok
[INFO] [stdout] test plugins::output::tests::every_role_parses_via_snake_case_token ... ok
[INFO] [stdout] test plugins::segment::tests::declared_deps_surface_via_trait ... ok
[INFO] [stdout] test plugins::segment::tests::operation_limit_kills_infinite_loop_without_hang ... ok
[INFO] [stdout] test plugins::segment::tests::deadline_abort_surfaces_clear_segment_error ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_returning_malformed_shape_maps_to_segment_error ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_can_read_terminal_width_from_ctx_render ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_receives_config_passed_in ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_can_read_ctx_env_from_rhai_side ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_returning_unit_hides_segment ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_throw_cannot_impersonate_deadline_abort ... ok
[INFO] [stdout] test plugins::segment::tests::render_state_drop_clears_thread_locals ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_runtime_error_maps_to_segment_error ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_sees_status_fields_via_ctx ... ok
[INFO] [stdout] test presets::tests::body_returns_none_for_unknown_name ... ok
[INFO] [stdout] test presets::tests::cost_focused_preset_segments_match_spec ... ok
[INFO] [stdout] test presets::tests::developer_preset_segments_match_spec ... ok
[INFO] [stdout] test presets::tests::body_lookup_is_case_sensitive ... ok
[INFO] [stdout] test presets::tests::every_preset_parses_without_warnings ... ok
[INFO] [stdout] test presets::tests::minimal_preset_segments_are_model_and_context_window ... ok
[INFO] [stdout] test presets::tests::power_user_preset_is_multi_line_with_two_lines ... ok
[INFO] [stdout] test presets::tests::preset_names_are_unique ... ok
[INFO] [stdout] test presets::tests::worktree_heavy_preset_segments_match_spec ... ok
[INFO] [stdout] test runtime::config::tests::parse_error_preserves_validation_warnings_collected_before_type_mismatch ... ok
[INFO] [stdout] test segments::agent::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::agent::tests::hidden_when_absent ... ok
[INFO] [stdout] test segments::agent::tests::renders_active_agent ... ok
[INFO] [stdout] test segments::builder::tests::back_to_back_merge_chains_drop_every_intermediate_separator ... ok
[INFO] [stdout] test segments::builder::tests::build_default_segments_emits_borrowed_ids_in_canonical_order ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_consumed_plugins_threads_across_three_or_more_lines ... ok
[INFO] [stdout] test presets::tests::registry_has_five_presets_in_stable_order ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_does_not_promote_when_segments_populated ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_explicit_single_line_returns_one_line_from_segments ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_default_layout_with_numbered_tables_warns_and_ignores_them ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_dedupes_within_line_but_not_across_lines ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_drops_non_numeric_keys_with_warning ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_returns_one_inner_vec_per_numbered_table ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_sorts_by_parsed_integer_not_lexicographic ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_warns_per_empty_numbered_segments ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_with_no_numbered_tables_falls_back_to_single_line ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_promotes_to_multi_line_when_layout_unset_and_segments_empty ... ok
[INFO] [stdout] test plugins::segment::tests::known_deps_surface_through_segment_render_pipeline ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_single_line_default_returns_one_line_with_default_segments ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_single_line_with_numbered_tables_warns_and_ignores_them ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_unknown_scalar_key_under_line_warns_and_drops ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_applies_width_override ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_dedupes_duplicates_with_warning ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_empty_config_falls_back_to_defaults ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_falls_back_to_first_line_for_multi_line_configs ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_falls_back_to_line_one_even_when_top_segments_populated ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_drops_zero_and_negative_keys ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_ignores_top_level_segments_when_numbered_present ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_forward_compat_keys_dont_break_parsing ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_multi_line_with_only_invalid_numbered_keys_falls_through_to_single_line ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_multi_line_with_only_invalid_keys_falls_back_to_single_line ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_records_config_id_on_each_segment ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_skips_unknown_ids_and_warns ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_warns_on_explicitly_empty_segment_list ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_warns_on_inverted_width_bounds ... ok
[INFO] [stdout] test segments::builder::tests::character_field_on_segment_entry_warns_and_is_ignored ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_uses_configured_line_order ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_uses_default_order_when_config_missing ... ok
[INFO] [stdout] test plugins::segment::tests::plugin_returning_single_run_renders ... ok
[INFO] [stdout] test segments::builder::tests::default_icon_renders_when_layout_options_are_absent ... ok
[INFO] [stdout] test segments::builder::tests::consecutive_separator_entries_warn_with_specific_message ... ok
[INFO] [stdout] test segments::builder::tests::build_lines_plugin_referenced_in_two_lines_warns_specifically_on_second ... ok
[INFO] [stdout] test segments::builder::tests::default_icon_renders_when_icons_mode_is_nerdfont ... ok
[INFO] [stdout] test segments::builder::tests::default_line_fuses_nothing ... ok
[INFO] [stdout] test segments::builder::tests::empty_segment_icon_disables_default ... ok
[INFO] [stdout] test segments::builder::tests::built_in_id_wins_over_plugin_with_same_id ... ok
[INFO] [stdout] test segments::builder::tests::group_absent_divides_with_separator ... ok
[INFO] [stdout] test segments::builder::tests::build_segments_applies_priority_override ... ok
[INFO] [stdout] test segments::builder::tests::group_on_separator_entry_warns_and_is_ignored ... ok
[INFO] [stdout] test segments::builder::tests::group_pending_carries_to_the_next_surviving_segment ... ok
[INFO] [stdout] test segments::builder::tests::group_persists_across_an_explicit_separator ... ok
[INFO] [stdout] test segments::builder::tests::group_false_overrides_the_merge_implication ... ok
[INFO] [stdout] test segments::builder::tests::group_true_on_trailing_segment_is_inert ... ok
[INFO] [stdout] test segments::builder::tests::inline_table_separator_with_character_overrides_global_default ... ok
[INFO] [stdout] test segments::builder::tests::icons_off_suppresses_default_icon ... ok
[INFO] [stdout] test segments::builder::tests::inline_table_separator_round_trips_through_config_parse ... ok
[INFO] [stdout] test segments::builder::tests::invalid_style_string_warns_and_leaves_segment_style_unchanged ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_absent_section_resolves_to_space ... ok
[INFO] [stdout] test segments::builder::tests::inline_table_separator_without_character_uses_layout_default ... ok
[INFO] [stdout] test segments::builder::tests::empty_style_string_is_noop_and_preserves_segment_declared_style ... ok
[INFO] [stdout] test segments::builder::tests::group_chains_across_three_segments ... ok
[INFO] [stdout] test segments::builder::tests::kindless_inline_table_entry_warns_and_drops ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_arbitrary_string_renders_as_literal ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_pipe_literal_no_warning ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_handles_mixed_case_and_whitespace ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_single_space_renders_as_literal_not_keyword ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_powerline_lays_chevrons_between_segments ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_whitespace_only_renders_as_literal ... ok
[INFO] [stdout] test segments::builder::tests::leading_separator_entry_warns_with_specific_message ... ok
[INFO] [stdout] test segments::builder::tests::malformed_segment_entry_with_wrong_value_type_warns_at_build_time ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_space_is_default ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_capsule_warns_and_falls_back_to_space ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_typo_renders_as_literal_not_warn ... ok
[INFO] [stdout] test segments::builder::tests::layout_separator_empty_string_yields_none ... ok
[INFO] [stdout] test segments::builder::tests::merge_and_group_true_together_abut_and_fuse ... ok
[INFO] [stdout] test segments::builder::tests::merge_flag_clears_after_one_boundary ... ok
[INFO] [stdout] test segments::builder::tests::merge_flag_suppresses_explicit_separator_entry_at_boundary ... ok
[INFO] [stdout] test segments::builder::tests::plugin_receives_extra_keys_from_segments_table_as_ctx_config ... ok
[INFO] [stdout] test segments::builder::tests::merge_implies_group_when_group_unset ... ok
[INFO] [stdout] test segments::builder::tests::merge_field_on_separator_entry_warns_and_is_ignored ... ok
[INFO] [stdout] test segments::builder::tests::plugin_runtime_literal_override_replaces_inline_powerline ... ok
[INFO] [stdout] test segments::builder::tests::plugin_compact_form_separator_override_wins_over_pre_shrink_inline ... ok
[INFO] [stdout] test segments::builder::tests::plugin_runtime_separator_override_replaces_inline_separator ... ok
[INFO] [stdout] test segments::builder::tests::powerline_width_invalid_warns_and_falls_back_to_1 ... ok
[INFO] [stdout] test segments::builder::tests::plugin_runtime_override_on_last_segment_is_silently_discarded ... ok
[INFO] [stdout] test segments::builder::tests::powerline_width_2_propagates_to_inline_separator ... ok
[INFO] [stdout] test segments::builder::tests::powerline_width_max_warns_and_falls_back_to_1 ... ok
[INFO] [stdout] test segments::builder::tests::plugin_id_resolves_through_build_segments ... ok
[INFO] [stdout] test segments::builder::tests::powerline_width_zero_warns_and_falls_back_to_1 ... ok
[INFO] [stdout] test segments::builder::tests::powerline_width_default_is_1_when_unset ... ok
[INFO] [stdout] test segments::builder::tests::segment_icon_override_replaces_default ... ok
[INFO] [stdout] test segments::builder::tests::segment_icon_override_renders_when_icons_off ... ok
[INFO] [stdout] test segments::builder::tests::style_override_replaces_segment_declared_style_at_render_time ... ok
[INFO] [stdout] test segments::builder::tests::resolve_segment_id_returns_borrowed_for_every_built_in ... ok
[INFO] [stdout] test segments::builder::tests::group_true_fuses_while_keeping_the_separator ... ok
[INFO] [stdout] test segments::builder::tests::resolve_segment_id_returns_owned_for_non_built_in_ids ... ok
[INFO] [stdout] test segments::builder::tests::style_override_with_explicit_fg_populates_fg_slot ... ok
[INFO] [stdout] test segments::builder::tests::unknown_inline_table_keys_round_trip_through_extra_bag ... ok
[INFO] [stdout] test segments::builder::tests::width_merge_empty_override_keeps_inner_default ... ok
[INFO] [stdout] test segments::builder::tests::user_constructed_adjacent_separators_drop_second ... ok
[INFO] [stdout] test segments::builder::tests::merge_flag_suppresses_implicit_interleave_at_boundary ... ok
[INFO] [stdout] test segments::builder::tests::width_merge_max_only_inherits_min_from_inner_default ... ok
[INFO] [stdout] test segments::context_bar::tests::braille_fill_swaps_full_and_empty_preset_glyphs ... ok
[INFO] [stdout] test segments::builder::tests::unknown_id_with_plugin_registry_still_warns ... ok
[INFO] [stdout] test segments::context_bar::tests::all_decoration_off_collapses_to_a_single_styled_run ... ok
[INFO] [stdout] test segments::context_bar::tests::brackets_false_omits_delimiters ... ok
[INFO] [stdout] test segments::context_bar::tests::characters_override_wins_over_fill_preset ... ok
[INFO] [stdout] test segments::context_bar::tests::cells_one_below_half_renders_empty_with_color_role ... ok
[INFO] [stdout] test segments::builder::tests::whitespace_only_style_string_is_noop_and_preserves_segment_declared_style ... ok
[INFO] [stdout] test segments::builder::tests::width_merge_both_sides_override_inner_default ... ok
[INFO] [stdout] test segments::context_bar::tests::default_renders_brackets_percentage_and_dim_trough ... ok
[INFO] [stdout] test segments::context_bar::tests::frac_above_half_renders_partial_distinct_from_round ... ok
[INFO] [stdout] test segments::context_bar::tests::custom_width_changes_bar_length ... ok
[INFO] [stdout] test segments::context_bar::tests::frac_just_below_half_drops_partial_block ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_accepts_low_pair_below_defaults ... ok
[INFO] [stdout] test segments::context_bar::tests::default_spans_color_frame_fill_trough_and_percentage ... ok
[INFO] [stdout] test segments::context_bar::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_parses_eighth_fill ... ok
[INFO] [stdout] test segments::context_bar::tests::decorated_render_width_matches_text_width ... ok
[INFO] [stdout] test segments::context_bar::tests::dim_empty_false_colors_trough_with_threshold_role ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_reads_open_close_chars ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_reads_thresholds_table ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_rejects_lone_green_against_default_yellow ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_rejects_multi_cell_bracket ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_rejects_multi_cell_glyph ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_rejects_inverted_pair_and_keeps_defaults ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_reads_toggle_bools ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_sets_width ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_on_negative_width ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_on_unknown_fill ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_partial_characters_override_leaves_others_default ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_reads_characters_table ... ok
[INFO] [stdout] test segments::context_bar::tests::full_percent_span_structure_has_no_trough ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_on_zero_width ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_accepts_high_pair_above_defaults ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_on_non_bool_toggle ... ok
[INFO] [stdout] test segments::context_bar::tests::hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::context_bar::tests::green_at_one_below_threshold ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_on_non_string_character ... ok
[INFO] [stdout] test segments::context_bar::tests::one_cell_width_renders_single_char ... ok
[INFO] [stdout] test segments::context_bar::tests::pct_is_rounded_before_threshold_so_text_and_bar_agree ... ok
[INFO] [stdout] test segments::context_bar::tests::pct_is_rounded_so_high_fractional_paints_red_with_full_bar ... ok
[INFO] [stdout] test segments::context_bar::tests::percentage_rounding_matches_format_at_more_boundaries ... ok
[INFO] [stdout] test segments::context_bar::tests::from_extras_warns_when_threshold_out_of_range ... ok
[INFO] [stdout] test segments::context_bar::tests::percentage_uses_bankers_rounding_to_match_text ... ok
[INFO] [stdout] test segments::context_bar::tests::pct_round_ties_to_even_matches_format_rounding ... ok
[INFO] [stdout] test segments::context_bar::tests::percentage_false_omits_suffix ... ok
[INFO] [stdout] test segments::context_bar::tests::renders_fifty_percent_at_threshold_boundary_yellow ... ok
[INFO] [stdout] test segments::context_bar::tests::renders_zero_percent_as_all_empty ... ok
[INFO] [stdout] test segments::context_bar::tests::renders_full_at_one_hundred ... ok
[INFO] [stdout] test segments::context_bar::tests::rendered_width_matches_configured_cells_for_default_chars ... ok
[INFO] [stderr] linesmith [debug]: x
[INFO] [stdout] test segments::context_bar::tests::renders_partial_block_when_fraction_geq_half ... ok
[INFO] [stdout] test segments::context_bar::tests::rounds_down_when_fraction_lt_half ... ok
[INFO] [stdout] test segments::context_bar::tests::thresholds_new_rejects_inverted ... ok
[INFO] [stdout] test segments::context_bar::tests::zero_percent_span_structure_is_all_trough ... ok
[INFO] [stdout] test segments::context_window::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::context_bar::tests::yellow_at_one_below_red_threshold ... ok
[INFO] [stdout] test segments::context_window::tests::format_size_non_round_values_rendered_literally ... ok
[INFO] [stdout] test segments::context_window::tests::format_size_round_millions_use_m_suffix ... ok
[INFO] [stdout] test segments::context_window::tests::format_size_round_values_use_k_suffix ... ok
[INFO] [stdout] test logging::tests::install_sink_blocks_until_in_flight_emit_error_completes ... ok
[INFO] [stdout] test segments::context_bar::tests::priority_drops_before_context_window ... ok
[INFO] [stdout] test segments::context_bar::tests::red_threshold_at_eighty_percent ... ok
[INFO] [stdout] test segments::context_window::tests::renders_one_million_size_as_m_suffix ... ok
[INFO] [stdout] test segments::context_window::tests::renders_non_round_size_literally ... ok
[INFO] [stdout] test segments::context_window::tests::renders_percent_only_when_size_is_null ... ok
[INFO] [stdout] test segments::context_window::tests::hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::context_window::tests::renders_percent_and_sonnet_200k ... ok
[INFO] [stdout] test segments::context_window::tests::renders_size_only_when_used_is_null ... ok
[INFO] [stdout] test segments::cost::tests::hidden_when_cost_absent ... ok
[INFO] [stdout] test logging::tests::lsm_debug_skips_format_when_suppressed ... ok
[INFO] [stdout] test segments::cost::tests::renders_zero_cost ... ok
[INFO] [stdout] test logging::tests::off_suppresses_every_level ... ok
[INFO] [stdout] test segments::effort::tests::hidden_when_effort_absent ... ok
[INFO] [stdout] test segments::effort::tests::renders_each_level ... ok
[INFO] [stdout] test segments::cost::tests::renders_two_decimal_places_with_muted_role ... ok
[INFO] [stdout] test segments::extra_usage::tests::currency_falls_back_to_percent_when_monthly_limit_missing ... ok
[INFO] [stdout] test segments::context_window::tests::format_size_zero_renders_literally ... ok
[INFO] [stdout] test segments::effort::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test logging::tests::test_capture_warns_captures_emit_error_regardless_of_level ... ok
[INFO] [stdout] test segments::context_window::tests::hidden_when_both_used_and_size_null ... ok
[INFO] [stdout] test segments::context_window::tests::rounds_percent_to_nearest_integer ... ok
[INFO] [stdout] test segments::extra_usage::tests::declares_usage_as_its_only_data_dep ... ok
[INFO] [stdout] test segments::cost::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test logging::tests::sink_guard_restores_prior_sink_on_drop_lifo_three_deep ... ok
[INFO] [stdout] test segments::extra_usage::tests::from_extras_warns_on_duration_format_string ... ok
[INFO] [stdout] test segments::extra_usage::tests::hidden_when_is_enabled_false ... ok
[INFO] [stdout] test segments::extra_usage::tests::renders_error_instead_of_hiding_when_fetch_fails ... ok
[INFO] [stdout] test segments::extra_usage::tests::renders_remaining_credits_in_currency_format ... ok
[INFO] [stdout] test segments::extra_usage::tests::from_extras_applies_extra_usage_format_knobs ... ok
[INFO] [stdout] test segments::extra_usage::tests::hidden_when_extra_usage_missing ... ok
[INFO] [stdout] test segments::extra_usage::tests::hidden_under_jsonl_fallback ... ok
[INFO] [stdout] test logging::tests::test_capture_warns_returns_function_result_and_captured_emissions ... ok
[INFO] [stdout] test logging::tests::test_capture_warns_subsequent_call_starts_empty ... ok
[INFO] [stdout] test segments::extra_usage::tests::renders_percent_format_when_configured ... ok
[INFO] [stdout] test segments::extra_usage::tests::non_usd_currency_renders_iso_code_prefix ... ok
[INFO] [stdout] test segments::git_branch::tests::ahead_behind_hidden_when_terminal_width_below_threshold ... ok
[INFO] [stdout] test segments::git_branch::tests::ahead_behind_hide_when_zero_and_hide_below_cells_compose_multiplicatively ... ok
[INFO] [stdout] test segments::git_branch::tests::applies_label_when_configured ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_combines_with_ahead_behind ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_empty_icon_renders_bare_count ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_honors_custom_icons ... ok
[INFO] [stdout] test segments::git_branch::tests::declares_git_data_dep ... ok
[INFO] [stdout] test segments::git_branch::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::git_branch::tests::dirty_marker_hidden_when_terminal_width_below_threshold ... ok
[INFO] [stdout] test segments::git_branch::tests::format_template_parse_rejects_missing_placeholder ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_all_zero_dirty_some_renders_zeros_when_shown ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_clean_renders_branch_only_single_run ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_full_render_with_ahead_and_behind ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_dirty_marker_hidden_below_threshold ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_hides_zero_categories_by_default ... ok
[INFO] [stdout] test segments::git_branch::tests::format_template_render_substitutes_placeholder ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_renders_all_three_categories_color_coded ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_degrades_to_indicator_on_uncounted_dirty ... ok
[INFO] [stdout] test segments::git_branch::tests::counts_mode_shows_zeros_when_count_hide_zero_false ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_counts_mode_enables_counts_format ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_reads_ahead_behind_hide_below_cells ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_unknown_format_warns_and_keeps_indicator_default ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_reads_ahead_behind_knobs ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_reads_counts_icons_and_count_hide_zero ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_reads_dirty_hide_below_cells ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_reads_label_and_dirty_knobs ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_rejects_max_length_wrong_type ... ok
[INFO] [stdout] test segments::git_branch::tests::hides_ahead_behind_when_no_upstream_by_default ... ok
[INFO] [stdout] test segments::git_branch::tests::hides_on_bare_repo ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_rejects_max_length_zero ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_rejects_short_sha_length_out_of_range ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_ahead_when_local_leads ... ok
[INFO] [stdout] test segments::git_branch::tests::per_marker_thresholds_compose_independently ... ok
[INFO] [stdout] test segments::git_branch::tests::hides_when_not_in_repo ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_hidden_format_turns_dirty_off ... ok
[INFO] [stdout] test segments::git_branch::tests::hides_on_gix_error ... ok
[INFO] [stdout] test segments::git_branch::tests::default_templates_contain_placeholder ... ok
[INFO] [stdout] test segments::git_branch::tests::dirty_hide_below_cells_default_zero_keeps_existing_behavior ... ok
[INFO] [stdout] test segments::git_branch::tests::enabled_false_overrides_hide_below_cells ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_submodule_like_main ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_warns_on_ahead_format_missing_placeholder ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_ahead_with_custom_format ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_other_ref_full_name ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_warns_on_behind_format_missing_placeholder ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_question_mark_when_no_upstream_opted_in ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_behind_when_remote_leads ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_detached_as_short_sha_in_parens ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_unborn_as_symbolic_ref_name ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_both_when_diverged ... ok
[INFO] [stdout] test segments::git_branch::tests::shows_zeros_when_configured ... ok
[INFO] [stdout] test segments::git_branch::tests::renders_branch_name ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_keeps_configured_label_in_compact_form ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_returns_compact_form_when_target_fits ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_returns_none_outside_repo ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_returns_none_when_even_compact_form_overflows ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_strips_markers_even_when_thresholds_would_keep_them ... ok
[INFO] [stdout] test segments::git_branch::tests::skips_ahead_behind_on_unborn_head ... ok
[INFO] [stdout] test segments::git_branch::tests::skips_ahead_behind_on_detached_head ... ok
[INFO] [stdout] test segments::git_branch::tests::truncate_middle_keeps_short_strings_verbatim ... ok
[INFO] [stdout] test segments::git_branch::tests::truncate_middle_preserves_prefix_and_suffix ... ok
[INFO] [stdout] test segments::layout_type_tests::builders_chain_on_segment_defaults ... ok
[INFO] [stdout] test segments::layout_type_tests::built_in_by_id_rejects_unknown ... ok
[INFO] [stdout] test segments::git_branch::tests::skips_ahead_behind_on_other_ref_head ... ok
[INFO] [stdout] test segments::git_branch::tests::skips_ahead_behind_on_unborn_head_even_with_hide_when_no_upstream_false ... ok
[INFO] [stdout] test segments::git_branch::tests::from_extras_warns_on_negative_hide_below_cells_and_keeps_default ... ok
[INFO] [stdout] test segments::layout_type_tests::built_in_by_id_resolves_every_default_segment ... ok
[INFO] [stdout] test segments::git_branch::tests::truncate_middle_degrades_when_marker_exceeds_budget ... ok
[INFO] [stdout] test segments::git_branch::tests::hides_ahead_behind_when_zero_by_default ... ok
[INFO] [stdout] test segments::layout_type_tests::built_in_by_id_resolves_additional_documented_ids ... ok
[INFO] [stdout] test segments::git_branch::tests::shrink_to_fit_returns_none_in_bare_repo ... ok
[INFO] [stdout] test segments::layout_type_tests::icon_prefixed_spanned_segment_degrades_on_truncation ... ok
[INFO] [stdout] test segments::layout_type_tests::from_spans_single_run_folds_to_none_lifting_its_style ... ok
[INFO] [stdout] test segments::layout_type_tests::from_spans_empty_input_normalizes_to_none ... ok
[INFO] [stdout] test segments::layout_type_tests::overridden_segment_delegates_render_to_inner ... ok
[INFO] [stdout] test segments::layout_type_tests::from_spans_concatenates_text_and_merges_adjacent_same_style ... ok
[INFO] [stdout] test segments::layout_type_tests::overridden_segment_replaces_width_bounds ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_all_control_input_collapses_to_empty ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_counts_cells_not_bytes_for_middle_dot ... ok
[INFO] [stdout] test segments::builder::tests::width_merge_min_only_inherits_max_from_inner_default ... ok
[INFO] [stdout] test segments::layout_type_tests::from_spans_skips_empty_spans_and_sanitizes_control_chars ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_strips_common_c0_controls ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_preserves_unicode_without_controls ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_strips_c1_controls_and_del ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_empty_string_stays_empty ... ok
[INFO] [stdout] test segments::layout_type_tests::recolor_for_group_repaints_style_and_spans_keeping_decorations ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_computes_width ... ok
[INFO] [stdout] test segments::git_branch::tests::truncate_middle_handles_zero_budget ... ok
[INFO] [stdout] test segments::layout_type_tests::built_in_by_id_resolves_every_id_in_built_in_segment_ids ... ok
[INFO] [stdout] test segments::layout_type_tests::built_in_by_id_threads_extras_to_version_segment ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_strips_csi_clear_screen_injection ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_strips_osc_set_title_with_bel_terminator ... ok
[INFO] [stdout] test segments::layout_type_tests::from_spans_does_not_merge_same_role_different_modifiers ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_with_separator_exposes_override ... ok
[INFO] [stdout] test segments::layout_type_tests::icon_override_strips_control_chars ... ok
[INFO] [stdout] test segments::layout_type_tests::segment_defaults_default_priority_is_128 ... ok
[INFO] [stdout] test segments::layout_type_tests::segment_error_display_includes_message_only_without_source ... ok
[INFO] [stdout] test segments::layout_type_tests::segment_error_display_chains_source ... ok
[INFO] [stdout] test segments::layout_type_tests::segment_error_source_chain_is_walkable ... ok
[INFO] [stdout] test segments::layout_type_tests::segments_declare_their_default_icons ... ok
[INFO] [stdout] test segments::layout_type_tests::line_item_debug_renders_each_variant ... ok
[INFO] [stdout] test segments::layout_type_tests::shrink_to_fit_passthrough_returns_none_when_inner_declines ... ok
[INFO] [stdout] test segments::layout_type_tests::rendered_segment_with_separator_also_strips_controls ... ok
[INFO] [stdout] test segments::layout_type_tests::style_override_wholesale_replaces_inner_declared_style ... ok
[INFO] [stdout] test segments::layout_type_tests::shrink_to_fit_reserves_icon_width_so_compact_form_fits_target ... ok
[INFO] [stdout] test segments::layout_type_tests::user_color_pinned_reflects_color_bearing_override_only ... ok
[INFO] [stdout] test segments::layout_type_tests::style_override_preserves_inner_none_return ... ok
[INFO] [stdout] test segments::layout_type_tests::user_style_override_flattens_spans_then_icon_prepends ... ok
[INFO] [stdout] test segments::layout_type_tests::user_style_override_preserves_inner_hyperlink ... ok
[INFO] [stdout] test segments::layout_type_tests::shrink_to_fit_passthrough_keeps_inner_style_when_no_user_override ... ok
[INFO] [stdout] test segments::layout_type_tests::separator_widths_match_expected ... ok
[INFO] [stdout] test segments::layout_type_tests::width_bounds_rejects_inverted_range ... ok
[INFO] [stdout] test segments::layout_type_tests::shrink_to_fit_passthrough_reaches_inner_with_user_style_applied ... ok
[INFO] [stdout] test segments::layout_type_tests::with_priority_preserves_other_defaults ... ok
[INFO] [stdout] test segments::layout_type_tests::with_icon_prefix_coalesces_into_first_span_when_style_matches ... ok
[INFO] [stdout] test segments::layout_type_tests::with_icon_prefix_prepends_separate_span_when_style_differs ... ok
[INFO] [stdout] test segments::layout_type_tests::overridden_segment_replaces_priority ... ok
[INFO] [stdout] test segments::layout_type_tests::without_spans_collapses_to_single_run ... ok
[INFO] [stdout] test segments::model::tests::compact_passes_through_when_no_parenthetical ... ok
[INFO] [stdout] test segments::model::tests::compact_handles_multi_word_qualifier ... ok
[INFO] [stdout] test segments::model::tests::compact_picks_rightmost_paren_pair_with_multiple_parentheticals ... ok
[INFO] [stdout] test segments::model::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::model::tests::compact_does_not_mutate_non_claude_code_display_names ... ok
[INFO] [stdout] test segments::model::tests::from_extras_accepts_compact_value ... ok
[INFO] [stdout] test segments::model::tests::compact_preserves_parenthetical_not_ending_in_context ... ok
[INFO] [stdout] test segments::model::tests::compact_strips_context_word_from_parenthetical ... ok
[INFO] [stdout] test segments::model::tests::from_extras_default_is_compact ... ok
[INFO] [stdout] test segments::model::tests::from_extras_warns_on_non_string_format ... ok
[INFO] [stdout] test segments::model::tests::from_extras_warns_on_unknown_format_and_keeps_default ... ok
[INFO] [stdout] test segments::model::tests::full_preserves_anthropics_verbatim_string ... ok
[INFO] [stdout] test segments::model::tests::hidden_when_display_name_is_whitespace_only ... ok
[INFO] [stdout] test segments::model::tests::shorten_context_label_returns_none_for_bare_suffix ... ok
[INFO] [stdout] test segments::model::tests::shorten_context_label_returns_none_when_paren_has_no_leading_space ... ok
[INFO] [stdout] test segments::output_style::tests::hidden_when_absent ... ok
[INFO] [stdout] test segments::model::tests::hidden_when_display_name_is_empty ... ok
[INFO] [stdout] test segments::progress_bar::tests::braille_ramp_is_seven_levels_plus_full ... ok
[INFO] [stdout] test segments::progress_bar::tests::render_bar_rate_limit_shape_round_no_brackets_one_decimal ... ok
[INFO] [stdout] test segments::model::tests::from_extras_accepts_full_value ... ok
[INFO] [stdout] test segments::model::tests::shorten_context_label_returns_none_for_no_suffix ... ok
[INFO] [stdout] test segments::output_style::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::progress_bar::tests::thresholds_new_rejects_inverted_or_out_of_range ... ok
[INFO] [stdout] test segments::progress_bar::tests::eighth_ramp_picks_glyph_by_fractional_eighth ... ok
[INFO] [stdout] test segments::progress_bar::tests::render_bar_emits_bracket_fill_trough_percentage_spans ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::defaults_preserve_pre_s0vw_shape_but_enable_threshold_color ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_absolute_defaults_apply_when_knobs_missing ... ok
[INFO] [stdout] test segments::progress_bar::tests::half_partial_matches_context_bar_geometry ... ok
[INFO] [stdout] test segments::progress_bar::tests::ramp_rounds_near_full_fraction_up_into_a_whole_cell ... ok
[INFO] [stdout] test segments::progress_bar::tests::round_partial_has_no_glyph_and_rounds_to_whole_cells ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::does_not_read_extra_usage_field ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::from_extras_flips_progress_to_percent_on_invalid_width ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::hidden_when_five_hour_bucket_absent ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_unsupported_locale_warns_and_uses_en_us ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::from_extras_warns_on_bad_format_string ... ok
[INFO] [stdout] test segments::output_style::tests::renders_named_style ... ok
[INFO] [stdout] test segments::progress_bar::tests::thresholds_role_ramp ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::apply_bar_extras_parses_fill_brackets_threshold_and_thresholds ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::apply_bar_extras_warns_on_bad_fill_and_inverted_thresholds ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::declares_usage_as_its_only_data_dep ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::from_extras_applies_format_invert_and_common_knobs ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::renders_inverted_percent_when_configured ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::jsonl_mode_renders_compact_tokens_with_stale_marker ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::progress_bar_at_one_hundred_is_entirely_filled_cells ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::jsonl_mode_ignores_invert_and_progress_knobs ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::renders_error_table_strings ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::progress_bar_at_zero_is_entirely_empty_cells ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_absolute_with_full_knobs ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_absolute_format_renders_end_to_end_from_toml ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_compact_format_drops_suffix_spaces ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_declares_usage_as_its_only_data_dep ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_from_extras_applies_duration_format_knobs ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_from_extras_warns_on_percent_format_string ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_unknown_hour_format_warns_and_uses_24h ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_unknown_tz_warns_and_falls_back_to_system_local ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::jsonl_mode_hides_when_no_active_block ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_jsonl_mode_hides_when_ends_at_in_past ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_progress_format_divides_by_five_hour_window_not_seven_day ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::absolute_12h_morning_strips_zero_pad ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_renders_error_when_usage_fails ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_hidden_when_resets_at_in_past ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_hidden_when_five_hour_bucket_absent ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_hidden_when_resets_at_missing ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::absolute_12h_renders_with_am_pm ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_renders_countdown_in_default_format ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_invalid_progress_width_does_not_clobber_absolute_format ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::renders_percent_happy_path ... ok
[INFO] [stdout] test segments::rate_limit::config::tests::parse_reset_format_duration_value_parses ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::absolute_renders_correct_zone_across_dst_transition ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::currency_uses_dollar_for_usd ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::bar_text_reuses_shared_geometry_flat ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::currency_clamps_negative_to_zero ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::currency_defaults_to_dollar_when_unset ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_jsonl_mode_derives_reset_from_five_hour_window_ends_at ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::reset_jsonl_mode_hides_when_block_inactive ... ok
[INFO] [stdout] test segments::rate_limit::five_hour::tests::renders_progress_bar_when_format_is_progress ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::absolute_24h_renders_with_tz_abbreviation ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::absolute_renders_in_explicit_zone_distinct_from_utc ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::currency_uses_iso_code_prefix_for_non_usd ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_clamps_days_to_four_digits ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_hours_and_minutes_compact ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_hours_and_minutes_non_compact ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::empty_label_drops_colon_separator ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::error_rendering_covers_spec_table ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::error_rendering_drops_label_when_empty ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::extra_currency_falls_back_to_percent_when_monthly_limit_missing ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::extra_currency_renders_remaining_credits ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_sub_minute_renders_lt_1m ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_uses_days_when_configured ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::extra_returns_none_when_no_data_available ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_reset_absolute_under_jsonl_keeps_stale_marker ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_drops_decimal_at_ten_k_and_above ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_minutes_only ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_reset_dispatches_absolute_branch ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_round_hour_drops_minutes ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::percent_format_progress_bar_at_50pct ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::jsonl_tokens_renders_megabytes_when_above_one_million ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::jsonl_tokens_empty_stale_marker_suppresses_prefix ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_single_decimal_for_small_k_values ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_switches_to_megabytes_and_gigabytes ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::percent_format_escalates_to_error_above_yellow ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::percent_format_inverts_text_but_colors_by_raw_usage ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::progress_brackets_wrap_cells_with_frame_role ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_under_one_thousand_renders_integer ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::progress_bar_full_at_100pct ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::threshold_color_off_keeps_flat_info ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_handles_u64_max_without_panic ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::inverted_progress_colors_red_when_raw_usage_is_high ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::format_tokens_pins_unit_boundaries ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::jsonl_tokens_compact_format_with_stale_marker ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::duration_text_skips_days_when_use_days_false ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::threshold_color_off_renders_fully_flat_progress_bar ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::a_configured_label_is_kept_on_the_error_render ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::progress_spans_color_label_fill_dim_trough_and_percentage ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::progress_eighth_fill_renders_ramp_glyph_through_rate_limit ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::a_configured_label_replaces_the_model_name ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::progress_bar_empty_at_zero ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::always_hides_a_bucket_that_names_no_model_when_no_label_is_set ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::hides_when_no_scoped_bucket_is_present ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::always_renders_a_non_matching_bucket ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::always_renders_when_the_session_has_no_model_id ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_hides_when_the_family_does_not_match ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::hides_when_the_endpoint_sent_no_limits ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_hides_when_the_session_has_no_model_id ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_renders_when_the_family_matches ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_takes_array_order_among_matches ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::the_error_render_is_labelled_even_with_no_bucket_to_name_one ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::always_picks_the_highest_percent_among_several ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::an_unparseable_model_id_hides_under_smart_and_renders_under_always ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_matches_the_claude_3_generation ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::always_renders_a_bucket_that_names_no_model_when_a_label_is_set ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::smart_matches_through_the_1m_marker ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::declares_usage_as_its_only_data_dep ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::from_extras_warns_on_a_non_string_visibility ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::jsonl_mode_renders_compact_tokens_with_stale_marker ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::jsonl_mode_still_renders_on_zero_tokens ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::from_extras_applies_percent_format_knobs ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::hides_in_jsonl_mode ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::hidden_when_seven_day_bucket_absent ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::matching_drives_visibility_not_the_servers_active_flag ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::renders_inverted_percent_when_configured ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_declares_usage_as_its_only_data_dep ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::invert_reaches_the_renderer ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::from_extras_parses_visibility ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::renders_error_when_usage_fails ... ok
[INFO] [stdout] test segments::rate_limit::format::tests::percent_format_rounds_to_one_decimal_with_label ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::renders_percent_happy_path ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_hidden_when_resets_at_in_past ... ok
[INFO] [stdout] test segments::rate_limit::model_scoped::tests::from_extras_warns_and_defaults_on_an_unknown_visibility ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_invalid_progress_width_does_not_clobber_absolute_format ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_hidden_under_jsonl_fallback ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_hidden_when_seven_day_bucket_absent ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_exact_minute_without_trailing_zero_seconds ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_exact_hour_without_trailing_zero_minutes ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_hidden_when_resets_at_missing ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_hour_with_seconds_only_drops_them ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_hours_and_minutes_drops_seconds ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_just_below_an_hour ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_long_sessions_at_hour_resolution ... ok
[INFO] [stdout] test segments::rate_limit::window::tests::seven_day_reset_returns_err_when_endpoint_bucket_absent ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_renders_error_when_usage_fails ... ok
[INFO] [stdout] test segments::session_duration::tests::sub_second_durations_floor_to_zero_seconds ... ok
[INFO] [stdout] test segments::tokens::tests::all_four_segments_share_priority ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_use_days_false_emits_hours_only ... ok
[INFO] [stdout] test segments::rate_limit::window::tests::seven_day_reset_returns_err_under_jsonl ... ok
[INFO] [stdout] test segments::session_duration::tests::hidden_when_cost_absent ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_with_timer_role ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_cached_sums_cache_creation_and_read_with_muted_role ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_input_hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_cached_hidden_when_current_usage_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_cached_hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_cached_renders_zero_when_both_fields_zero ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_output_renders_current_usage_output_with_muted_role ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_from_extras_applies_duration_format_knobs ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_minutes_and_seconds ... ok
[INFO] [stdout] test segments::session_duration::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_total_saturates_on_overflow ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_input_renders_current_usage_input_with_muted_role ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_total_hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_total_hidden_when_current_usage_absent ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_from_extras_warns_on_percent_format_string ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_sub_minute_as_seconds_only ... ok
[INFO] [stdout] test segments::vim::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_output_hidden_when_context_window_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_output_hidden_when_current_usage_absent ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_total_sums_all_four_fields ... ok
[INFO] [stdout] test segments::version::tests::custom_prefix_passes_through ... ok
[INFO] [stdout] test segments::workspace::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::version::tests::defaults_use_expected_priority ... ok
[INFO] [stdout] test segments::version::tests::empty_prefix_emits_raw_version ... ok
[INFO] [stdout] test segments::version::tests::from_extras_warns_on_non_string_prefix_and_keeps_default ... ok
[INFO] [stdout] test segments::tokens::tests::tokens_input_hidden_when_current_usage_absent ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_renders_countdown_with_days_by_default ... ok
[INFO] [stdout] test segments::rate_limit::seven_day::tests::reset_progress_format_divides_by_seven_day_window_not_five_hour ... ok
[INFO] [stderr] linesmith: parse: invalid JSON at 1:2: key must be a string at line 1 column 2
[INFO] [stdout] test segments::version::tests::hidden_when_absent ... ok
[INFO] [stdout] test segments::version::tests::renders_with_default_v_prefix ... ok
[INFO] [stdout] test segments::session_duration::tests::renders_zero_seconds ... ok
[INFO] [stdout] test segments::vim::tests::hidden_when_absent ... ok
[INFO] [stdout] test segments::workspace::tests::hidden_when_project_dir_has_no_basename ... ok
[INFO] [stdout] test segments::workspace::tests::hostile_project_dir_basename_is_stripped_of_control_chars ... ok
[INFO] [stdout] test segments::workspace::tests::renders_basename_on_gix_walk_failed ... ok
[INFO] [stdout] test segments::workspace::tests::renders_worktree_name_containing_slash_verbatim ... ok
[INFO] [stdout] test tests::full_payload_renders_model_context_workspace ... ok
[INFO] [stdout] test segments::workspace::tests::hostile_worktree_name_is_stripped_of_control_chars ... ok
[INFO] [stdout] test tests::malformed_json_renders_marker_and_succeeds ... ok
[INFO] [stdout] test tests::minimal_payload_renders_model_then_workspace ... ok
[INFO] [stdout] test tests::missing_columns_falls_back_silently ... ok
[INFO] [stdout] test tests::os_width_wins_over_columns_env ... ok
[INFO] [stdout] test tests::unparseable_columns_falls_back_and_warns ... ok
[INFO] [stdout] test tests::zero_columns_falls_back_and_warns ... ok
[INFO] [stdout] test segments::workspace::tests::renders_basename_in_submodule ... ok
[INFO] [stdout] test theme::catppuccin::tests::all_four_flavors_registered ... ok
[INFO] [stdout] test theme::catppuccin::tests::every_flavor_maps_primary_to_its_canonical_mauve ... ok
[INFO] [stdout] test theme::catppuccin::tests::extended_dim_roles_fall_through_to_base_roles ... ok
[INFO] [stdout] test theme::catppuccin::tests::latte_light_theme_maps_foreground_to_dark_text ... ok
[INFO] [stdout] test theme::catppuccin::tests::mocha_downgrades_truecolor_to_palette16_without_panicking ... ok
[INFO] [stdout] test segments::workspace::tests::declares_git_data_dep ... ok
[INFO] [stdout] test theme::catppuccin::tests::every_flavor_maps_timer_to_its_canonical_pink_distinct_from_muted ... ok
[INFO] [stdout] test segments::vim::tests::renders_each_mode ... ok
[INFO] [stdout] test theme::dracula::tests::dark_theme_foreground_is_light ... ok
[INFO] [stdout] test theme::catppuccin::tests::builtin_names_lists_all_four_catppuccin_flavors ... ok
[INFO] [stdout] test theme::dracula::tests::extended_dim_roles_fall_through_to_base ... ok
[INFO] [stdout] test segments::workspace::tests::renders_basename_on_gix_corrupt_repo ... ok
[INFO] [stdout] test theme::catppuccin::tests::every_flavor_maps_every_base_role ... ok
[INFO] [stdout] test tests::columns_beyond_u16_range_warns ... ok
[INFO] [stdout] test theme::catppuccin::tests::mocha_dark_theme_maps_foreground_to_light_text ... ok
[INFO] [stdout] test theme::gruvbox::tests::primary_maps_to_canonical_bright_purple ... ok
[INFO] [stdout] test theme::gruvbox::tests::truecolor_downgrades_to_palette16_without_panicking ... ok
[INFO] [stdout] test theme::dracula::tests::registered_in_builtin_registry ... ok
[INFO] [stdout] test theme::nord::tests::dark_theme_foreground_is_light ... ok
[INFO] [stdout] test theme::nord::tests::extended_dim_roles_fall_through_to_base ... ok
[INFO] [stdout] test theme::nord::tests::primary_maps_to_canonical_nord8 ... ok
[INFO] [stdout] test theme::nord::tests::registered_in_builtin_registry ... ok
[INFO] [stdout] test theme::nord::tests::truecolor_downgrades_to_palette16_without_panicking ... ok
[INFO] [stdout] test theme::rose_pine::tests::extended_dim_roles_fall_through_to_base ... ok
[INFO] [stdout] test theme::dracula::tests::primary_maps_to_canonical_pink ... ok
[INFO] [stdout] test theme::gruvbox::tests::registered_in_builtin_registry ... ok
[INFO] [stdout] test theme::rose_pine::tests::registered_in_builtin_registry ... ok
[INFO] [stdout] test theme::gruvbox::tests::dark_theme_foreground_is_light ... ok
[INFO] [stdout] test theme::dracula::tests::truecolor_downgrades_to_palette16_without_panicking ... ok
[INFO] [stdout] test theme::style_syntax::tests::all_four_decorations_compose ... ok
[INFO] [stdout] test theme::rose_pine::tests::truecolor_downgrades_to_palette16_without_panicking ... ok
[INFO] [stdout] test theme::rose_pine::tests::dark_theme_foreground_is_light ... ok
[INFO] [stdout] test theme::style_syntax::tests::duplicate_decoration_token_is_idempotent ... ok
[INFO] [stdout] test theme::style_syntax::tests::duplicate_role_token_last_wins ... ok
[INFO] [stdout] test theme::style_syntax::tests::empty_string_yields_default_style ... ok
[INFO] [stdout] test theme::gruvbox::tests::extended_dim_roles_fall_through_to_base ... ok
[INFO] [stdout] test theme::style_syntax::tests::error_display_quotes_offending_input ... ok
[INFO] [stdout] test theme::style_syntax::tests::duplicate_fg_token_last_wins ... ok
[INFO] [stdout] test theme::rose_pine::tests::success_and_info_both_map_to_foam ... ok
[INFO] [stdout] test theme::style_syntax::tests::extended_role_with_underscore_and_hyphen_both_work ... ok
[INFO] [stdout] test theme::style_syntax::tests::bare_close_paren_errors ... ok
[INFO] [stdout] test theme::rose_pine::tests::primary_maps_to_canonical_iris ... ok
[INFO] [stdout] test theme::style_syntax::tests::fg_hex_and_decoration ... ok
[INFO] [stdout] test theme::style_syntax::tests::fg_named_color ... ok
[INFO] [stdout] test theme::style_syntax::tests::fg_rgb_function ... ok
[INFO] [stdout] test theme::style_syntax::tests::fg_rgb_with_spaces_inside_parens_is_one_token ... ok
[INFO] [stdout] test theme::style_syntax::tests::invalid_fg_errors_with_input ... ok
[INFO] [stdout] test theme::style_syntax::tests::malformed_fg_directive_errors ... ok
[INFO] [stdout] test theme::style_syntax::tests::mixed_case_directive_prefix_parses ... ok
[INFO] [stdout] test theme::style_syntax::tests::parser_populates_both_fg_and_role_when_both_specified ... ok
[INFO] [stdout] test theme::style_syntax::tests::role_directive_parses_timer ... ok
[INFO] [stdout] test theme::style_syntax::tests::stray_close_paren_errors_before_reaching_parse_color ... ok
[INFO] [stdout] test theme::style_syntax::tests::unclosed_paren_errors ... ok
[INFO] [stdout] test theme::style_syntax::tests::unknown_token_errors ... ok
[INFO] [stdout] test theme::style_syntax::tests::unknown_role_errors_with_input ... ok
[INFO] [stdout] test theme::style_syntax::tests::whitespace_only_yields_default_style ... ok
[INFO] [stdout] test theme::tests::base_roles_fall_back_to_themselves ... ok
[INFO] [stdout] test theme::tests::builtin_names_lists_default_and_minimal ... ok
[INFO] [stdout] test theme::tests::default_theme_always_available ... ok
[INFO] [stdout] test theme::style_syntax::tests::malformed_role_directive_errors ... ok
[INFO] [stdout] test theme::style_syntax::tests::case_insensitive_tokens ... ok
[INFO] [stdout] test theme::tests::builtin_names_lists_all_curated_presets ... ok
[INFO] [stdout] test theme::style_syntax::tests::nested_parens_are_one_token ... ok
[INFO] [stdout] test theme::style_syntax::tests::order_does_not_matter ... ok
[INFO] [stdout] test theme::tests::default_theme_maps_every_base_role ... ok
[INFO] [stdout] test theme::tests::downgrade_strips_color_under_no_capability ... ok
[INFO] [stdout] test theme::tests::downgrade_truecolor_near_white_grayscale_saturates_without_overflow ... ok
[INFO] [stdout] test theme::tests::downgrade_truecolor_red_to_16_picks_red_family ... ok
[INFO] [stdout] test theme::tests::downgrade_truecolor_to_256_grayscale_uses_gray_ramp ... ok
[INFO] [stdout] test segments::workspace::tests::renders_basename_in_bare_repo ... ok
[INFO] [stdout] test segments::workspace::tests::renders_directory_outside_repo ... ok
[INFO] [stdout] test theme::tests::downgrade_truecolor_to_256_uses_cube_for_color ... ok
[INFO] [stdout] test theme::tests::downgrade_palette256_cube_to_16_picks_a_color ... ok
[INFO] [stdout] test theme::style_syntax::tests::role_directive_sets_role ... ok
[INFO] [stdout] test segments::workspace::tests::renders_basename_in_main_checkout ... ok
[INFO] [stdout] test theme::tests::downgrade_palette256_grayscale_routes_to_blacks_or_whites ... ok
[INFO] [stdout] test theme::style_syntax::tests::role_plus_decorations_combine ... ok
[INFO] [stdout] test theme::tests::downgrade_palette256_low_16_passes_through_identity ... ok
[INFO] [stdout] test theme::tests::downgrade_preserves_matching_or_richer_capability ... ok
[INFO] [stdout] test segments::workspace::tests::renders_hybrid_inside_linked_worktree ... ok
[INFO] [stdout] test theme::tests::force_from_floor_overrides_dumb_term_when_env_probe_returns_none ... ok
[INFO] [stdout] test theme::tests::force_from_floors_at_palette16_when_both_inputs_are_none ... ok
[INFO] [stdout] test theme::tests::force_from_truecolor_from_either_side_wins ... ok
[INFO] [stdout] test theme::tests::every_curated_preset_maps_every_base_role ... ok
[INFO] [stdout] test tests::columns_env_used_when_os_width_missing ... ok
[INFO] [stdout] test theme::tests::extended_role_fallbacks_match_spec_table ... ok
[INFO] [stdout] test theme::tests::from_env_vars_colorterm_garbage_falls_through_to_term ... ok
[INFO] [stdout] test theme::tests::force_from_picks_max_of_both_inputs ... ok
[INFO] [stdout] test theme::tests::from_env_vars_colorterm_truecolor_overrides_term_dumb ... ok
[INFO] [stdout] test theme::tests::from_env_vars_dumb_or_missing_term_is_none ... ok
[INFO] [stdout] test theme::tests::from_env_vars_unknown_term_is_palette16 ... ok
[INFO] [stdout] test theme::tests::minimal_theme_emits_only_decorations ... ok
[INFO] [stdout] test theme::tests::minimal_theme_returns_no_color_for_every_role ... ok
[INFO] [stdout] test theme::tests::default_theme_extended_roles_fall_back_to_base ... ok
[INFO] [stdout] test theme::tests::sgr_open_role_under_palette16_emits_ansi_code ... ok
[INFO] [stdout] test theme::tests::sgr_open_underline_only_emits_sgr4 ... ok
[INFO] [stdout] test theme::tests::sgr_reset_is_stable_and_short ... ok
[INFO] [stdout] test theme::tests::sgr_open_explicit_fg_wins_over_role ... ok
[INFO] [stdout] test theme::tests::sgr_open_truecolor_fg_emits_38_2_sequence ... ok
[INFO] [stdout] test theme::tests::unknown_theme_name_returns_none ... ok
[INFO] [stdout] test theme::tokyo_night::tests::dark_theme_foreground_is_light ... ok
[INFO] [stdout] test theme::tests::sgr_open_plain_style_emits_nothing ... ok
[INFO] [stdout] test theme::tests::sgr_open_full_decoration_stack_keeps_order ... ok
[INFO] [stdout] test theme::tokyo_night::tests::extended_dim_roles_fall_through_to_base ... ok
[INFO] [stdout] test theme::tokyo_night::tests::truecolor_downgrades_to_palette16_without_panicking ... ok
[INFO] [stdout] test theme::tokyo_night::tests::unmapped_timer_falls_through_to_muted ... ok
[INFO] [stdout] test theme::tests::from_env_vars_falls_back_to_term_256color ... ok
[INFO] [stdout] test theme::tests::role_count_matches_enum_discriminant_range ... ok
[INFO] [stdout] test theme::tests::sgr_open_bold_only_emits_sgr1 ... ok
[INFO] [stdout] test theme::tests::from_env_vars_prefers_colorterm_truecolor ... ok
[INFO] [stdout] test theme::tests::sgr_open_combines_decorations_and_color ... ok
[INFO] [stdout] test theme::tests::sgr_open_dim_only_emits_sgr2 ... ok
[INFO] [stdout] test theme::tokyo_night::tests::registered_in_builtin_registry ... ok
[INFO] [stdout] test theme::tests::sgr_open_role_under_no_capability_drops_color_keeps_decoration ... ok
[INFO] [stdout] test theme::user::tests::parse_rgb_function_form ... ok
[INFO] [stdout] test theme::user::tests::parse_rgb_rejects_out_of_range_channels ... ok
[INFO] [stdout] test theme::tokyo_night::tests::primary_maps_to_canonical_magenta ... ok
[INFO] [stdout] test theme::user::tests::parse_unknown_named_color_errors ... ok
[INFO] [stdout] test theme::user::tests::registry_user_theme_overrides_built_in_with_warning ... ok
[INFO] [stdout] test theme::user::tests::registry_with_built_ins_contains_every_compiled_theme ... ok
[INFO] [stdout] test theme::user::tests::parse_hex_case_insensitive ... ok
[INFO] [stdout] test theme::user::tests::registry_skips_bad_files_with_diagnostic ... ok
[INFO] [stdout] test theme::user::tests::parse_hex_rejects_non_hex_chars ... ok
[INFO] [stdout] test theme::user::tests::parse_hex_rejects_bad_length ... ok
[INFO] [stdout] test theme::user::tests::registry_ignores_non_toml_files ... ok
[INFO] [stdout] test theme::user::tests::theme_file_omitting_timer_falls_back_to_muted ... ok
[INFO] [stdout] test theme::user::tests::theme_file_parses_minimum_required_sections ... ok
[INFO] [stdout] test theme::user::tests::theme_file_timer_invalid_color_surfaces_role_label ... ok
[INFO] [stdout] test theme::user::tests::registry_iter_yields_built_ins_first_then_user ... ok
[INFO] [stdout] test theme::user::tests::spec_metadata_keys_parse_silently ... ok
[INFO] [stdout] test theme::user::tests::theme_file_extended_roles_populate_when_present ... ok
[INFO] [stdout] test theme::user::tests::theme_file_invalid_color_value_surfaces_role_label ... ok
[INFO] [stdout] test theme::user::tests::theme_file_missing_required_role_fails_to_deserialize ... ok
[INFO] [stdout] test theme::user::tests::theme_file_timer_role_populates_when_present ... ok
[INFO] [stdout] test theme::user::tests::user_theme_renders_through_downgrade_without_panicking ... ok
[INFO] [stdout] test theme::user::tests::parse_hex_3_digit_expands ... ok
[INFO] [stdout] test theme::user::tests::parse_hex_6_digit ... ok
[INFO] [stdout] test theme::user::tests::registry_user_vs_user_collision_first_file_wins ... ok
[INFO] [stdout] test theme::user::tests::parse_none_and_empty_yield_no_color ... ok
[INFO] [stdout] test theme::user::tests::parse_named_canonical_forms ... ok
[INFO] [stdout] test theme::user::tests::valid_timer_extended_key_emits_no_warning ... ok
[INFO] [stdout] test theme::user::tests::registry_missing_user_dir_is_silent ... ok
[INFO] [stdout] test theme::user::tests::unknown_role_in_theme_file_warns_with_path ... ok
[INFO] [stdout] test theme::user::tests::unknown_key_in_roles_extended_warns ... ok
[INFO] [stdout] test theme::user::tests::unknown_top_level_key_in_theme_file_warns ... ok
[INFO] [stdout] test data_context::git::tests::upstream_reports_behind_only_when_remote_leads ... ok
[INFO] [stdout] test data_context::git::tests::upstream_reports_both_when_diverged ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- data_context::cache::tests::cache_read_surfaces_permission_denied stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'data_context::cache::tests::cache_read_surfaces_permission_denied' (4585) panicked at src/data_context/cache.rs:859:14:
[INFO] [stdout] called `Result::unwrap_err()` on an `Ok` value: None
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fd5d76c2191 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5fd5d76de13a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x5fd5d76c85ac - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5fd5d7698396 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5fd5d76b8219 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x5fd5d7156f50 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5fd5d76b8542 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5fd5d7698442 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5fd5d7690c49 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5fd5d769954d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x5fd5d76de95c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5fd5d76de732 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stdout]   12:     0x5fd5d6dd4d0a - linesmith_core[64e4787d5e7b6185]::data_context::cache::tests::cache_read_surfaces_permission_denied
[INFO] [stdout]   13:     0x5fd5d6e9cf79 - <linesmith_core[64e4787d5e7b6185]::data_context::cache::tests::cache_read_surfaces_permission_denied::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5fd5d714a23b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   15:     0x5fd5d71578a5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5fd5d7151164 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5fd5d715aa02 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5fd5d76c0b99 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x7556ca225dfa - <unknown>
[INFO] [stdout]   20:     0x7556ca2b93d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     data_context::cache::tests::cache_read_surfaces_permission_denied
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1304 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a", kill_on_drop: false }`
[INFO] [stdout] cc054fa671beaa360da288962583fae99beddcac18494686bc0d6011638ba30a
