[INFO] cloning repository https://github.com/Xiang-98/TokenMini
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Xiang-98/TokenMini" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiang-98%2FTokenMini", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiang-98%2FTokenMini'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3968c1dbcfc4947f83445053979d419b7af214dd
[INFO] testing Xiang-98/TokenMini against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiang-98%2FTokenMini" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Xiang-98/TokenMini
[INFO] finished tweaking git repo https://github.com/Xiang-98/TokenMini
[INFO] tweaked toml for git repo https://github.com/Xiang-98/TokenMini written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Xiang-98/TokenMini 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 git repo https://github.com/Xiang-98/TokenMini 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded halfbrown v0.2.5
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded value-trait v0.10.1
[INFO] [stderr]   Downloaded serial_test v3.5.0
[INFO] [stderr]   Downloaded serial_test_derive v3.5.0
[INFO] [stderr]   Downloaded simd-json v0.14.3
[INFO] [stderr]   Downloaded rusqlite v0.32.1
[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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9
[INFO] running `Command { std: "docker" "start" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", 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" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9" "/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" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", 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" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling halfbrown v0.2.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling value-trait v0.10.1
[INFO] [stderr]    Compiling simd-json v0.14.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling tokscale-core v3.0.0 (/opt/rustwide/workdir/vendor/tokscale-core)
[INFO] [stderr]    Compiling tokenmini_core v0.1.0 (/opt/rustwide/workdir/crates/tokenmini_core)
[INFO] [stdout] warning: fields `publication_generation` and `opencode_subscriptions` are never read
[INFO] [stdout]   --> crates/tokenmini_core/src/agent_usage.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AgentUsagePayload {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     publication_generation: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     opencode_subscriptions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentUsagePayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Dns` and `Tls` are never constructed
[INFO] [stdout]   --> crates/tokenmini_core/src/agent_usage.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) enum TransportCategory {
[INFO] [stdout]    |                 ----------------- variants in this enum
[INFO] [stdout] 85 |     Timeout,
[INFO] [stdout] 86 |     Dns,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 87 |     Tls,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransportCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fraction` is never used
[INFO] [stdout]    --> crates/tokenmini_core/src/agent_usage.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl UsageWindow {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub(crate) fn from_fraction(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_claude_keychain_write` is never used
[INFO] [stdout]     --> crates/tokenmini_core/src/agent_usage.rs:3192:4
[INFO] [stdout]      |
[INFO] [stdout] 3192 | fn prepare_claude_keychain_write<'a>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", 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" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serial_test v3.5.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling tokscale-core v3.0.0 (/opt/rustwide/workdir/vendor/tokscale-core)
[INFO] [stderr]    Compiling tokenmini_core v0.1.0 (/opt/rustwide/workdir/crates/tokenmini_core)
[INFO] [stdout] warning: fields `publication_generation` and `opencode_subscriptions` are never read
[INFO] [stdout]   --> crates/tokenmini_core/src/agent_usage.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AgentUsagePayload {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     publication_generation: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     opencode_subscriptions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentUsagePayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Dns` and `Tls` are never constructed
[INFO] [stdout]   --> crates/tokenmini_core/src/agent_usage.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) enum TransportCategory {
[INFO] [stdout]    |                 ----------------- variants in this enum
[INFO] [stdout] 85 |     Timeout,
[INFO] [stdout] 86 |     Dns,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 87 |     Tls,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransportCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fraction` is never used
[INFO] [stdout]    --> crates/tokenmini_core/src/agent_usage.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 474 | impl UsageWindow {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub(crate) fn from_fraction(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 53.93s
[INFO] running `Command { std: "docker" "inspect" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", 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" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: fields `publication_generation` and `opencode_subscriptions` are never read
[INFO] [stderr]   --> crates/tokenmini_core/src/agent_usage.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct AgentUsagePayload {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 52 |     publication_generation: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     opencode_subscriptions: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AgentUsagePayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Dns` and `Tls` are never constructed
[INFO] [stderr]   --> crates/tokenmini_core/src/agent_usage.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub(crate) enum TransportCategory {
[INFO] [stderr]    |                 ----------------- variants in this enum
[INFO] [stderr] 85 |     Timeout,
[INFO] [stderr] 86 |     Dns,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 87 |     Tls,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TransportCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_fraction` is never used
[INFO] [stderr]    --> crates/tokenmini_core/src/agent_usage.rs:478:19
[INFO] [stderr]     |
[INFO] [stderr] 474 | impl UsageWindow {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 478 |     pub(crate) fn from_fraction(
[INFO] [stderr]     |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tokenmini_core` (lib test) generated 3 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tokenmini_core-e4ecf5f07f1771d7)
[INFO] [stdout] 
[INFO] [stdout] running 302 tests
[INFO] [stdout] test agent_account_scope::tests::account_scope_source_has_no_legacy_installation_key_query ... ok
[INFO] [stdout] test agent_account_scope::tests::different_installation_keys_cannot_link_the_same_identifier ... ok
[INFO] [stdout] test agent_account_scope::tests::corrupt_quarantine_failure_preserves_authenticated_recovery_evidence ... ok
[INFO] [stdout] test agent_account_scope::tests::account_final_directory_symlink_fails_before_chmod_or_artifact_creation ... ok
[INFO] [stdout] test agent_account_scope::tests::atomic_metadata_quarantine_hard_link_closes_collision_race ... ok
[INFO] [stdout] test agent_account_scope::tests::authenticated_payload_with_missing_schema_fields_is_quarantined ... ok
[INFO] [stdout] test agent_account_scope::tests::concurrent_first_creation_persists_one_winner_under_the_file_lock ... ok
[INFO] [stdout] test agent_account_scope::tests::authenticated_binding_conflict_is_preserved_not_quarantined ... ok
[INFO] [stdout] test agent_account_scope::tests::length_prefix_and_hmac_known_vectors_are_stable_and_domain_separated ... ok
[INFO] [stdout] test agent_account_scope::tests::dangling_metadata_quarantine_collision_is_not_overwritten ... ok
[INFO] [stdout] test agent_account_scope::tests::active_metadata_symlink_fails_closed_without_touching_target ... ok
[INFO] [stdout] test agent_account_scope::tests::installation_key_inode_replacement_fails_closed ... ok
[INFO] [stdout] test agent_account_scope::tests::installation_key_read_failure_and_invalid_lengths_preserve_artifacts ... ok
[INFO] [stdout] test agent_account_scope::tests::metadata_lock_symlink_fails_closed_before_lock_acquisition ... ok
[INFO] [stdout] test agent_account_scope::tests::metadata_quarantine_unlink_failure_rolls_back_link ... ok
[INFO] [stdout] test agent_account_scope::tests::existing_installation_key_is_reloaded_on_every_call_without_a_process_cache ... ok
[INFO] [stdout] test agent_account_scope::tests::authoritative_normalization_is_frozen ... ok
[INFO] [stdout] test agent_account_scope::tests::authoritative_scope_quarantines_corrupt_metadata_before_hmac ... ok
[INFO] [stdout] test agent_account_scope::tests::metadata_symlink_with_missing_key_never_creates_or_replaces_key ... ok
[INFO] [stdout] test agent_account_scope::tests::conflicting_two_process_transfers_fail_closed ... ok
[INFO] [stdout] test agent_account_scope::tests::orphaned_metadata_name_accepts_only_production_canonical_numbers ... ok
[INFO] [stdout] test agent_account_scope::tests::installation_key_round_trip_is_exact_and_owner_only ... ok
[INFO] [stdout] test agent_account_scope::tests::installation_key_path_attacks_fail_closed_without_mutating_artifacts ... ok
[INFO] [stdout] test agent_account_scope::tests::atomic_installation_key_failures_leave_no_partial_file_or_temp ... ok
[INFO] [stdout] test agent_account_scope::tests::quarantine_failure_does_not_create_or_replace_the_key ... ok
[INFO] [stdout] test agent_account_scope::tests::directory_sync_failure_returns_unavailable_but_keeps_valid_metadata ... ok
[INFO] [stdout] test agent_account_scope::tests::lock_failure_preserves_last_valid_metadata ... ok
[INFO] [stdout] test agent_account_scope::tests::orphan_quarantine_collision_uses_unique_suffix_without_overwrite ... ok
[INFO] [stdout] test agent_account_scope::tests::missing_key_with_only_v3_preserves_history_and_defers_one_poll ... ok
[INFO] [stdout] test agent_account_scope::tests::missing_key_quarantines_metadata_preserves_v3_and_defers_one_poll ... ok
[INFO] [stdout] test agent_account_scope::tests::refresh_lock_is_owner_only_and_failure_is_typed ... ok
[INFO] [stdout] test agent_account_scope::tests::refresh_lock_symlink_fails_closed_before_lock_acquisition ... ok
[INFO] [stdout] test agent_account_scope::tests::orphaned_metadata_inspection_failure_fails_closed_without_creating_key ... ok
[INFO] [stdout] test agent_account_scope::tests::forged_negative_timestamp_orphan_does_not_defer_first_scope ... ok
[INFO] [stdout] test agent_account_scope::tests::secure_random_failure_creates_no_key_or_metadata ... ok
[INFO] [stdout] test agent_account_scope::tests::orphaned_metadata_non_regular_entries_fail_closed_without_touching_targets ... ok
[INFO] [stdout] test agent_antigravity::tests::extracts_flags_both_forms ... ok
[INFO] [stdout] test agent_account_scope::tests::persisted_files_are_owner_only_and_contain_no_raw_or_plain_sha_values ... ok
[INFO] [stdout] test agent_antigravity::tests::local_route_fails_closed_without_authenticated_email ... ok
[INFO] [stdout] test agent_antigravity::tests::gemini_home_falls_back_for_trim_empty_root ... ok
[INFO] [stdout] test agent_antigravity::tests::maps_available_models_and_quota_buckets ... ok
[INFO] [stdout] test agent_antigravity::tests::gemini_home_uses_nonempty_configured_root_unchanged ... ok
[INFO] [stdout] test agent_antigravity::tests::orchestration_local_success_and_primary_terminal_do_not_call_later_routes ... ok
[INFO] [stdout] test agent_antigravity::tests::parses_local_user_status_quotas ... ok
[INFO] [stdout] test agent_antigravity::tests::orchestration_schema_and_transient_precedence_is_fail_closed ... ok
[INFO] [stdout] test agent_antigravity::tests::prefers_last_id_when_single_secret ... ok
[INFO] [stdout] test agent_antigravity::tests::parses_lsof_listen_port ... ok
[INFO] [stdout] test agent_account_scope::tests::metadata_save_failure_is_unavailable_and_preserves_last_valid_bytes ... ok
[INFO] [stdout] test agent_account_scope::tests::mac_or_schema_corruption_is_quarantined_then_next_poll_recovers ... ok
[INFO] [stdout] test agent_account_scope::tests::restored_metadata_is_tightened_before_read_without_changing_bytes ... ok
[INFO] [stdout] test agent_account_scope::tests::key_loss_reloads_replacement_key_before_metadata_recovery ... ok
[INFO] [stdout] test agent_account_scope::tests::symlinked_ancestor_is_allowed_when_final_account_directory_is_real ... ok
[INFO] [stdout] test agent_account_scope::tests::refresh_reuses_an_existing_new_fingerprint_lineage_when_old_is_unseen ... ok
[INFO] [stdout] test agent_antigravity::tests::scans_and_pairs_oauth_client_from_bytes ... ok
[INFO] [stdout] test agent_antigravity::tests::remote_scope_and_presentation_ignore_unbound_active_email ... ok
[INFO] [stdout] test agent_antigravity::tests::resolves_remote_plan_from_tier ... ok
[INFO] [stdout] test agent_antigravity::tests::stage4_antigravity_identity_and_duplicate_rules_are_deterministic ... ok
[INFO] [stdout] test agent_copilot::tests::maps_premium_and_chat_snapshots ... ok
[INFO] [stdout] test agent_copilot::tests::malformed_snapshot_percentage_does_not_poison_valid_sibling ... ok
[INFO] [stdout] test agent_antigravity::tests::stage4_antigravity_rejects_invalid_fractions_at_every_source ... ok
[INFO] [stdout] test agent_copilot::tests::parses_reset_date ... ok
[INFO] [stdout] test agent_copilot::tests::stage4_copilot_maps_shared_reset_to_both_quota_cards ... ok
[INFO] [stdout] test agent_copilot::tests::zero_entitlement_and_missing_fields_do_not_create_usable_windows ... ok
[INFO] [stdout] test agent_copilot::tests::rejects_invalid_remaining_percentages_before_wire ... ok
[INFO] [stdout] test agent_copilot::tests::rejects_percentages_that_contradict_absolute_quota ... ok
[INFO] [stdout] test agent_grok::tests::builds_both_weekly_and_monthly_windows ... ok
[INFO] [stdout] test agent_antigravity::tests::gemini_home_falls_back_on_environment_errors ... ok
[INFO] [stdout] test agent_grok::tests::falls_back_to_overall_credit_percent ... ok
[INFO] [stdout] test agent_grok::tests::client_id_from_key ... ok
[INFO] [stdout] test agent_grok::tests::lookalike_only_auth_json_yields_no_credentials ... ok
[INFO] [stdout] test agent_grok::tests::is_grok_auth_entry_key_requires_exact_issuer ... ok
[INFO] [stdout] test agent_grok::tests::maps_weekly_window_from_period ... ok
[INFO] [stdout] test agent_grok::tests::matching_entry_logout_remains_absent ... ok
[INFO] [stdout] test agent_grok::tests::empty_week_shows_zero_percent_weekly_not_error ... ok
[INFO] [stdout] test agent_grok::tests::matching_entry_tokens_are_trimmed_at_load ... ok
[INFO] [stdout] test agent_account_scope::tests::same_marker_reuses_lineage_across_sources_but_external_replacement_fragments ... ok
[INFO] [stdout] test agent_grok::tests::matching_entry_non_string_tokens_are_terminal ... ok
[INFO] [stdout] test agent_grok::tests::monthly_window_explicit_zero_used_is_zero_percent ... ok
[INFO] [stdout] test agent_grok::tests::monthly_only_without_weekly_is_an_error ... ok
[INFO] [stdout] test agent_grok::tests::monthly_timeout_server_error_malformed_or_invalid_still_shows_weekly ... ok
[INFO] [stdout] test agent_grok::tests::monthly_window_falls_back_to_usage_total_used ... ok
[INFO] [stdout] test agent_grok::tests::monthly_window_prefers_flat_used_over_usage_total ... ok
[INFO] [stdout] test agent_grok::tests::malformed_weekly_percent_with_valid_period_is_not_zero ... ok
[INFO] [stdout] test agent_antigravity::tests::refresh_rejects_concurrent_account_switch_without_touching_b ... ok
[INFO] [stdout] test agent_grok::tests::monthly_window_rejects_negative_used ... ok
[INFO] [stdout] test agent_grok::tests::no_usable_windows_is_an_error ... ok
[INFO] [stdout] test agent_grok::tests::picks_real_issuer_over_lookalike_sibling ... ok
[INFO] [stdout] test agent_grok::tests::prefers_grok_build_product_percent ... ok
[INFO] [stdout] test agent_grok::tests::monthly_window_without_explicit_used_is_none ... ok
[INFO] [stdout] test agent_grok::tests::picks_auth_x_ai_entry_never_a_sibling ... ok
[INFO] [stdout] test agent_grok::tests::rejects_invalid_usage_percentages_before_wire ... ok
[INFO] [stdout] test agent_grok::tests::save_credentials_surfaces_missing_entry_as_err ... ok
[INFO] [stdout] test agent_antigravity::tests::orchestration_primary_forbidden_uses_secondary_result ... ok
[INFO] [stdout] test agent_grok::tests::stage4_grok_period_routes_are_exact_and_fail_closed ... ok
[INFO] [stdout] test agent_grok::tests::foreign_only_auth_json_yields_no_credentials ... ok
[INFO] [stdout] test agent_grok::tests::whitespace_refresh_token_is_not_a_scope_marker ... ok
[INFO] [stdout] test agent_antigravity::tests::refresh_transient_uses_lock_reloaded_binding_not_outer_binding ... ok
[INFO] [stdout] test agent_grok::tests::save_credentials_preserves_concurrent_login_and_sibling_changes ... ok
[INFO] [stdout] test agent_grok::tests::weekly_window_rejects_malformed_or_nonweekly_period_without_percent ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_accepts_millis_and_string_expiry ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_loads_when_token_fresh ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_expired_with_refresh_token_still_loads ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_expired_without_refresh_is_absent ... ok
[INFO] [stdout] test agent_kimi::tests::derives_used_from_remaining_and_accepts_reset_aliases ... ok
[INFO] [stdout] test agent_kimi::tests::invalid_numbers_skip_window_without_fabricating_zero ... ok
[INFO] [stdout] test agent_kimi::tests::missing_limits_still_shows_weekly ... ok
[INFO] [stdout] test agent_kimi::tests::maps_weekly_and_rate_limit_windows ... ok
[INFO] [stdout] test agent_account_scope::tests::refresh_crash_points_keep_old_and_new_recoverable_without_partial_metadata ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_malformed_json_is_an_error ... ok
[INFO] [stdout] test agent_grok::tests::atomic_write_preserves_private_permissions ... ok
[INFO] [stdout] test agent_grok::tests::whitespace_refresh_evidence_never_binds_across_access_tokens ... ok
[INFO] [stdout] test agent_kimi::tests::cli_credential_unknown_expiry_loads_and_tries_token ... ok
[INFO] [stdout] test agent_kimi::tests::scope_marker_prefers_refresh_token ... ok
[INFO] [stdout] test agent_kimi::tests::window_duration_unit_conversion ... ok
[INFO] [stdout] test agent_kimi::tests::no_usable_windows_means_empty ... ok
[INFO] [stdout] test agent_kimi::tests::response_failure_classification ... ok
[INFO] [stdout] test agent_kimi::tests::reset_time_epoch_values_are_accepted ... ok
[INFO] [stdout] test agent_mimo::tests::credit_amount_parsing ... ok
[INFO] [stdout] test agent_mimo::tests::monthly_window_sums_current_cycle_only ... ok
[INFO] [stdout] test agent_opencode_go::tests::anchored_month_clamps_short_months ... ok
[INFO] [stdout] test agent_opencode_go::tests::billing_day_parses_day_and_optional_time ... ok
[INFO] [stdout] test agent_opencode_go::tests::monthly_window_anchor_override_wins_over_earliest_usage ... ok
[INFO] [stdout] test agent_opencode_go::tests::monthly_window_anchors_to_earliest_usage ... ok
[INFO] [stdout] test agent_opencode_go::tests::monthly_window_without_rows_uses_calendar_month ... ok
[INFO] [stdout] test agent_opencode_go::tests::session_window_omitted_without_recent_usage ... ok
[INFO] [stdout] test agent_opencode_go::tests::session_window_sums_trailing_five_hours_only ... ok
[INFO] [stdout] test agent_opencode_go::tests::weekly_window_uses_iso_utc_week ... ok
[INFO] [stdout] test agent_quota_duration::tests::candidate_change_does_not_divide_or_guess_cycle_count ... ok
[INFO] [stdout] test agent_quota_duration::tests::candidate_confirmation_after_timeout_restarts_watching ... ok
[INFO] [stdout] test agent_quota_duration::tests::candidate_confirms_at_exact_fifteen_minute_boundary ... ok
[INFO] [stdout] test agent_mimo::tests::empty_usage_renders_positive_zero_percent ... ok
[INFO] [stdout] test agent_quota_duration::tests::copilot_calendar_duration_preserves_28_to_31_day_months ... ok
[INFO] [stdout] test agent_quota_duration::tests::malformed_present_evidence_is_invalid_without_fallback ... ok
[INFO] [stdout] test agent_opencode_go::tests::api_key_parsed_only_from_opencode_go_entry ... ok
[INFO] [stdout] test agent_mimo::tests::credit_rates_match_published_plan_table ... ok
[INFO] [stdout] test agent_quota_duration::tests::missing_and_invalid_evidence_are_typed ... ok
[INFO] [stdout] test agent_account_scope::tests::reinstall_with_consistent_key_and_metadata_restores_the_same_scope ... ok
[INFO] [stdout] test agent_quota_duration::tests::observed_requires_stable_old_reset_boundary_and_next_poll_confirmation ... ok
[INFO] [stdout] test agent_opencode_go::tests::config_file_billing_day_is_parsed ... ok
[INFO] [stdout] test agent_quota_duration::tests::precedence_prefers_provider_then_contract_then_observed ... ok
[INFO] [stdout] test agent_quota_duration::tests::duplicate_reset_updates_stability_without_manufacturing_boundary ... ok
[INFO] [stdout] test agent_quota_duration::tests::persisted_observed_state_validation_rejects_out_of_bounds_timestamps ... ok
[INFO] [stdout] test agent_quota_duration::tests::five_hour_and_seven_day_durations_are_exact ... ok
[INFO] [stdout] test agent_quota_duration::tests::ready_state_validation_keeps_exact_duration ... ok
[INFO] [stdout] test agent_quota_duration::tests::sliding_backward_and_missed_boundaries_restart_learning ... ok
[INFO] [stdout] test agent_kimi::tests::save_credentials_preserves_siblings_and_skips_concurrent_change ... ok
[INFO] [stdout] test agent_quota_history::tests::atomic_history_quarantine_hard_link_closes_collision_race ... ok
[INFO] [stdout] test agent_account_scope::tests::atomic_metadata_failure_points_never_leave_partial_json ... ok
[INFO] [stdout] test agent_quota_history::tests::atomic_failure_keeps_last_valid_bytes_and_removes_temp ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_duplicate_observation_key_fails_closed_without_mutation ... ok
[INFO] [stdout] test agent_grok::tests::refresh_transient_uses_lock_reloaded_binding_not_outer_binding ... ok
[INFO] [stdout] test agent_antigravity::tests::refresh_patches_unchanged_target_and_preserves_current_root_siblings ... ok
[INFO] [stdout] test agent_grok::tests::refresh_persistence_failure_keeps_usage_fresh_but_uncacheable ... ok
[INFO] [stdout] test agent_quota_history::tests::account_isolation_and_concurrent_transactions_do_not_lose_updates ... ok
[INFO] [stdout] test agent_quota_history::tests::active_history_symlink_fails_closed_without_touching_target ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_save_failure_preserves_pre_transaction_bytes ... ok
[INFO] [stdout] test agent_antigravity::tests::refresh_rejects_concurrent_logout_removal_and_malformed_root_without_restoring_a ... ok
[INFO] [stdout] test agent_quota_history::tests::evaluator_partial_coverage_gap_and_exact_half_tie_are_fail_closed ... ok
[INFO] [stdout] test agent_quota_history::tests::deterministic_series_eviction_uses_activity_then_full_key_order ... ok
[INFO] [stdout] test agent_quota_history::tests::generic_evaluator_has_phase_invariant_expected_and_exact_confidence_gates ... ok
[INFO] [stdout] test agent_account_scope::tests::metadata_only_orphan_recovery_key_write_failures_preserve_evidence_and_defer_scope ... ok
[INFO] [stdout] test agent_quota_history::tests::active_capacity_overflow_rolls_back_without_replacing_last_valid_store ... ok
[INFO] [stdout] test agent_quota_history::tests::global_sample_cap_evicts_old_completed_cycles_but_protects_current_partial ... ok
[INFO] [stdout] test agent_quota_history::tests::history_final_directory_symlink_fails_before_chmod_or_lock_creation ... ok
[INFO] [stdout] test agent_antigravity::tests::refresh_crash_boundaries_and_scope_gate_use_production_sequence ... ok
[INFO] [stdout] test agent_quota_history::tests::invalid_series_key_never_creates_store ... ok
[INFO] [stdout] test agent_grok::tests::refresh_crash_boundaries_and_scope_gate_use_production_sequence ... ok
[INFO] [stdout] test agent_quota_history::tests::copilot_calendar_contract_accepts_exact_month_boundaries ... ok
[INFO] [stdout] test agent_quota_history::tests::global_sample_eviction_tie_uses_series_key_order ... ok
[INFO] [stdout] test agent_quota_history::tests::corrupt_history_is_quarantined_byte_for_byte_then_rebuilt ... ok
[INFO] [stdout] test agent_quota_history::tests::corrupt_v3_migration_quarantines_then_rebuilds_atomically ... ok
[INFO] [stdout] test agent_quota_history::tests::dangling_history_quarantine_collision_is_not_overwritten ... ok
[INFO] [stdout] test agent_quota_history::tests::malformed_duration_evidence_does_not_create_series_or_store ... ok
[INFO] [stdout] test agent_quota_history::tests::future_last_activity_is_quarantined_before_observed_fallback ... ok
[INFO] [stdout] test agent_quota_history::tests::migration_corrupt_inputs_and_v1_sentinel_are_left_untouched ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_existing_future_active_series_precedes_new_candidate ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_result_reports_complete_cycles_after_retention ... ok
[INFO] [stdout] test agent_quota_history::tests::codex_v2_migration_is_account_bound_idempotent_and_read_only ... ok
[INFO] [stdout] test agent_quota_history::tests::history_lock_symlink_fails_closed_without_touching_target ... ok
[INFO] [stdout] test agent_quota_history::tests::known_observation_does_not_fake_observed_ready ... ok
[INFO] [stdout] test agent_quota_history::tests::missing_reset_and_invalid_reading_are_typed_without_touching_store ... ok
[INFO] [stdout] test agent_quota_history::tests::post_replace_directory_sync_failure_keeps_committed_bytes ... ok
[INFO] [stdout] test agent_quota_history::tests::quarantine_unlink_failure_rolls_back_link_and_preserves_source ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_observation_key_protects_existing_history_without_explicit_emission ... ok
[INFO] [stdout] test agent_quota_history::tests::known_route_can_coexist_with_real_observed_confirmation ... ok
[INFO] [stdout] test agent_quota_history::tests::migration_collision_losers_do_not_advance_activity ... ok
[INFO] [stdout] test agent_quota_history::tests::retention_keeps_latest_cycle_horizon_and_current_partial_only ... ok
[INFO] [stdout] test agent_quota_history::tests::restored_history_is_tightened_before_read_without_changing_bytes ... ok
[INFO] [stdout] test agent_quota_history::tests::same_origin_collision_uses_timestamp_usage_then_serialized_tuple ... ok
[INFO] [stdout] test agent_quota_history::tests::same_phase_bucket_requires_one_point_usage_delta ... ok
[INFO] [stdout] test agent_quota_history::tests::migration_stale_caller_uses_post_lock_validation_clock ... ok
[INFO] [stdout] test agent_quota_history::tests::history_directory_file_and_lock_are_owner_only ... ok
[INFO] [stdout] test agent_quota_history::tests::known_reset_jitter_stays_in_normalized_cycle_and_keeps_partial_history ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_emitted_existing_without_observation_stays_active ... ok
[INFO] [stdout] test agent_quota_history::tests::late_ready_history_is_quarantined_before_observed_fallback ... ok
[INFO] [stdout] test agent_quota_history::tests::later_backward_observation_restarts_learning_after_newer_commit ... ok
[INFO] [stdout] test agent_quota_history::tests::validate_series_rejects_cross_field_mismatches_and_stale_activity ... ok
[INFO] [stdout] test agent_quota_history::tests::stale_caller_after_newer_commit_preserves_history_without_quarantine_or_lost_update ... ok
[INFO] [stdout] test agent_usage::tests::atomic_write_replaces_existing_file_contents ... ok
[INFO] [stdout] test agent_quota_history::tests::stale_older_reset_after_newer_commit_preserves_state_and_rejects_observed_duration ... ok
[INFO] [stdout] test agent_usage::tests::claude_file_refresh_rejects_concurrent_target_change_without_touching_b ... ok
[INFO] [stdout] test agent_usage::tests::claude_file_refresh_preserves_concurrent_top_level_sibling ... ok
[INFO] [stdout] test agent_usage::tests::claude_gate_is_binding_scoped_and_expires ... ok
[INFO] [stdout] test agent_usage::tests::claude_keychain_write_decision_pins_account_and_rejects_target_mismatch ... ok
[INFO] [stdout] test agent_usage::tests::claude_login_precedence_falls_through_only_for_absent_credentials ... ok
[INFO] [stdout] test agent_usage::tests::claude_keychain_logout_blocks_stale_file_login_and_allows_setup_token ... ok
[INFO] [stdout] test agent_quota_history::tests::validate_sample_requires_current_cycle_bounds ... ok
[INFO] [stdout] test agent_usage::tests::claude_login_usage_gates_current_binding_before_refresh_and_request ... ok
[INFO] [stdout] test agent_usage::tests::claude_refresh_blank_access_token_is_terminal_before_metadata_or_save ... ok
[INFO] [stdout] test agent_usage::tests::claude_refresh_response_ignores_invalid_optional_refresh_token ... ok
[INFO] [stdout] test agent_usage::tests::claude_refresh_transient_uses_lock_reloaded_binding_not_outer_binding ... ok
[INFO] [stdout] test agent_usage::tests::claude_user_agent_uses_first_version_token ... ok
[INFO] [stdout] test agent_usage::tests::codex_credit_is_usable_only_when_balance_is_finite ... ok
[INFO] [stdout] test agent_usage::tests::claude_refresh_invalid_new_refresh_preserves_old_marker_and_store ... ok
[INFO] [stdout] test agent_usage::tests::claude_refresh_crash_boundaries_and_scope_gate_use_production_sequence ... ok
[INFO] [stdout] test agent_quota_history::tests::symlinked_ancestor_is_allowed_when_final_history_directory_is_real ... ok
[INFO] [stdout] test agent_quota_history::tests::migration_two_first_runs_merge_without_duplicate_series ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_patches_unchanged_target_and_preserves_siblings ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_rejects_concurrent_account_switch_without_touching_b ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_canonicalizes_tokens_and_preserves_unrotated_marker ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_rejects_concurrent_logout_without_restoring_a ... ok
[INFO] [stdout] test agent_usage::tests::decodes_claude_alias_windows_without_duplicate_error ... ok
[INFO] [stdout] test agent_quota_history::tests::observed_confirmation_accepts_exact_boundary_and_rejects_timeout ... ok
[INFO] [stdout] test agent_usage::tests::codex_unknown_and_anonymous_windows_are_structural_and_skip_history ... ok
[INFO] [stdout] test agent_usage::tests::maps_claude_oauth_windows ... ok
[INFO] [stdout] test agent_usage::tests::maps_codex_additional_model_limits ... ok
[INFO] [stdout] test agent_usage::tests::maps_codex_primary_and_secondary_windows ... ok
[INFO] [stdout] test agent_usage::tests::merge_claude_credentials_rotates_tokens_and_preserves_other_fields ... ok
[INFO] [stdout] test agent_usage::tests::parses_claude_credentials_file ... ok
[INFO] [stdout] test agent_usage::tests::parses_retry_after_seconds_and_http_date ... ok
[INFO] [stdout] test agent_usage::tests::parses_unified_ratelimit_headers ... ok
[INFO] [stdout] test agent_usage::tests::provider_adapters_reject_invalid_percentages_before_wire ... ok
[INFO] [stdout] test agent_usage::tests::last_good_same_binding_fallback_preserves_clean_snapshot_without_enrichment ... ok
[INFO] [stdout] test agent_usage::tests::provider_payloads_isolate_malformed_percentage_rows ... ok
[INFO] [stdout] test agent_usage::tests::provider_quota_pace_v3_fixture_locks_production_serializer ... ok
[INFO] [stdout] test agent_usage::tests::reads_claude_code_oauth_token_via_lookup ... ok
[INFO] [stdout] test agent_usage::tests::refreshes_or_expires_cached_windows ... ok
[INFO] [stdout] test agent_quota_history::tests::provider_precedes_contract_and_invalid_provider_does_not_fall_through ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_transient_uses_lock_reloaded_binding_not_outer_binding ... ok
[INFO] [stdout] test agent_usage::tests::stage0_freezes_claude_named_windows_and_invalid_baseline ... ok
[INFO] [stdout] test agent_usage::tests::stage0_freezes_codex_additional_identity_baseline ... ok
[INFO] [stdout] test agent_usage::tests::stage1_credential_markers_follow_the_frozen_provider_routes ... ok
[INFO] [stdout] test agent_usage::tests::last_good_mismatch_unbound_terminal_and_absent_clear_cache ... ok
[INFO] [stdout] test agent_usage::tests::stage4_batch_maps_results_once_without_network ... ok
[INFO] [stdout] test agent_usage::tests::provider_cache_binding_requires_structural_exact_match ... ok
[INFO] [stdout] test agent_usage::tests::stage4_claude_weekly_alias_groups_share_canonical_contracts ... ok
[INFO] [stdout] test agent_usage::tests::stage4_claude_json_and_headers_share_canonical_duration_contracts ... ok
[INFO] [stdout] test agent_usage::tests::stage4_codex_and_claude_matrix_assigns_semantic_keys ... ok
[INFO] [stdout] test agent_usage::tests::stage4_chained_identity_collisions_keep_only_actual_uniques ... ok
[INFO] [stdout] test agent_usage::tests::stage4_historical_eta_and_will_last_are_exactly_coherent ... ok
[INFO] [stdout] test agent_usage::tests::stage4_claude_extra_usage_is_active_without_recording_an_observation ... ok
[INFO] [stdout] test agent_usage::tests::stage4_duplicate_snapshot_rows_are_removed_before_history_and_wire ... ok
[INFO] [stdout] test agent_usage::tests::stage4_scope_error_is_sticky_and_skips_history ... ok
[INFO] [stdout] test agent_usage::tests::stage4_wire_rejects_available_without_historical_pace ... ok
[INFO] [stdout] test agent_usage::tests::stage4_wire_rejects_internal_nested_drift_and_preserves_observed_learning ... ok
[INFO] [stdout] test agent_usage::tests::status_before_body_enforces_terminal_transient_and_claude_exception ... ok
[INFO] [stdout] test agent_usage::tests::stage4_incoherent_historical_result_is_typed_unavailable ... ok
[INFO] [stdout] test agent_usage::tests::structured_transport_diagnostic_serializes_only_allowlisted_fields ... ok
[INFO] [stdout] test agent_usage::tests::string_key_uses_first_valid_snake_or_camel_alias ... ok
[INFO] [stdout] test agent_usage::tests::unified_reset_text_is_relative ... ok
[INFO] [stdout] test agent_usage::tests::unified_window_rejects_invalid_fraction_before_wire ... ok
[INFO] [stdout] test agent_usage::tests::unified_windows_skip_missing_and_unparseable ... ok
[INFO] [stdout] test agent_usage::tests::verified_binding_failure_prevents_every_provider_request ... ok
[INFO] [stdout] test agent_usage::tests::stage4_learning_history_uses_batch_complete_cycles ... ok
[INFO] [stdout] test opencode_integrations::tests::auth_path_falls_back_for_empty_xdg_data_root ... ok
[INFO] [stdout] test opencode_integrations::tests::auth_path_falls_back_on_environment_errors ... ok
[INFO] [stdout] test opencode_integrations::tests::auth_path_preserves_whitespace_only_xdg_data_root ... ok
[INFO] [stdout] test opencode_integrations::tests::auth_path_uses_nonempty_xdg_data_root ... ok
[INFO] [stdout] test opencode_integrations::tests::copilot_file_loader_treats_missing_as_absent_and_io_or_json_as_terminal ... ok
[INFO] [stdout] test opencode_integrations::tests::copilot_lineage_marker_uses_first_valid_refresh_or_access ... ok
[INFO] [stdout] test opencode_integrations::tests::copilot_loader_distinguishes_absent_from_terminal_evidence ... ok
[INFO] [stdout] test opencode_integrations::tests::copilot_loader_rejects_non_utf8_canonical_location ... ok
[INFO] [stdout] test agent_usage::tests::uncacheable_or_invalid_success_clears_prior_last_good ... ok
[INFO] [stdout] test opencode_integrations::tests::labels_oauth_providers_only ... ok
[INFO] [stdout] test pi_usage::tests::auth_key_reads_trimmed_provider_key ... ok
[INFO] [stdout] test pi_usage::tests::reads_provider_rows_from_session_jsonl ... ok
[INFO] [stdout] test agent_usage::tests::stage0_freezes_codex_duration_roles_and_unknown_window_baseline ... ok
[INFO] [stdout] test tests::guarded_passes_success_through ... ok
[INFO] [stdout] test tests::local_source_context_builders_preserve_home_filters_and_env_roots ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_crash_boundaries_and_scope_gate_use_production_sequence ... ok
[INFO] [stdout] test tests::publication_gate_serializes_pointer_publication ... ok
[INFO] [stdout] test tests::publication_generation_exhaustion_fails_closed ... ok
[INFO] [stdout] test tests::publication_generation_handles_return_order_reversal ... ok
[INFO] [stdout] test tests::select_user_home_prefers_non_empty_home ... ok
[INFO] [stdout] test tests::select_user_home_returns_none_without_candidates ... ok
[INFO] [stdout] test tests::select_user_home_uses_platform_fallback_for_missing_or_empty_home ... ok
[INFO] [stdout] test usage_graph::tests::ffi_keeps_all_normalized_token_lanes ... ok
[INFO] [stdout] test pi_usage::tests::mco_roots_from_config_and_env ... ok
[INFO] [stdout] test pi_usage::tests::reads_mco_artifact_streams ... ok
[INFO] [stdout] test tests::guarded_converts_panic_to_error_envelope ... ok
[INFO] [stdout] test tests::publication_gate_keeps_panic_envelope_before_next_run ... ok
[INFO] [stdout] test agent_usage::tests::codex_refresh_rejects_invalid_success_schema_before_state_or_usage ... ok
[INFO] [stdout] test agent_quota_history::tests::batch_new_candidates_admit_by_key_not_input_order ... ok
[INFO] [stdout] test agent_quota_history::tests::observed_duplicate_sliding_backward_and_missed_boundaries_do_not_sample ... ok
[INFO] [stdout] test agent_quota_history::tests::writes_schema_three_sorted_series_and_exact_sample_fields ... ok
[INFO] [stdout] test agent_quota_history::tests::unready_readings_never_become_retroactive_samples ... ok
[INFO] [stdout] test agent_quota_history::tests::ready_history_requires_matching_active_reset ... ok
[INFO] [stdout] test agent_quota_history::tests::stale_rollover_only_series_releases_capacity_after_fifty_six_days ... ok
[INFO] [stdout] test agent_quota_history::tests::later_known_backward_reset_invalidates_duration_without_sampling ... ok
[INFO] [stdout] test agent_quota_history::tests::restart_continues_watching_and_candidate_across_transactions ... ok
[INFO] [stdout] test agent_quota_history::tests::rollover_only_retention_keeps_fifty_five_day_idle_and_emitted_stale_key_for_poll ... ok
[INFO] [stdout] test agent_usage::tests::stage4_emitted_unavailable_series_survives_capacity_admission ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 302 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.41s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tokscale_core-f86b6d290c641686)
[INFO] [stdout] 
[INFO] [stdout] running 820 tests
[INFO] [stdout] test aggregator::tests::test_calculate_intensities_empty ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_intensities_levels ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_intensities_zero_cost ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_intensities_boundary_values ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_empty ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_empty ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_with_zero_token_days ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_invalid_date ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_saturates_overflowing_token_fold ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_session_groups_three_sessions ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_single_message ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_empty ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_preserves_sources ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_multiple_days ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_same_date_aggregation ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_saturates_overflowing_token_fold ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_multiple_dates ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_token_breakdown ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_counts_cost_only_days_as_active ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_date_large_dataset ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_single_year ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_summary_single_day ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_multiple_years ... ok
[INFO] [stdout] test aggregator::tests::test_generate_graph_result_empty ... ok
[INFO] [stdout] test aggregator::tests::test_streaming_aggregator_finalize_empty_accumulator_returns_empty ... ok
[INFO] [stdout] test aggregator::tests::test_streaming_aggregator_cross_file_dedup_drops_duplicate ... ok
[INFO] [stdout] test aggregator::tests::test_streaming_aggregator_no_dedup_all_messages_counted ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_session_empty ... ok
[INFO] [stdout] test aggregator::tests::test_session_contribution_serde_round_trip ... ok
[INFO] [stdout] test aggregator::tests::test_streaming_aggregator_store_memo_snapshot_hermes_zed_dedup ... ok
[INFO] [stdout] test aggregator::tests::test_streaming_aggregator_multi_day_bucketing_produces_separate_buckets ... ok
[INFO] [stdout] test clients::tests::test_client_counts_get_set_add_work ... ok
[INFO] [stdout] test clients::tests::test_client_def_resolve_path_combines_root_and_relative ... ok
[INFO] [stdout] test clients::tests::test_client_id_all_len_matches_count ... ok
[INFO] [stdout] test clients::tests::test_client_id_count ... ok
[INFO] [stdout] test clients::tests::test_client_id_iter_yields_all_in_order ... ok
[INFO] [stdout] test clients::tests::test_client_id_string_round_trip ... ok
[INFO] [stdout] test aggregator::tests::test_generate_graph_result_with_data ... ok
[INFO] [stdout] test clients::tests::test_grok_client_registered_as_local_session_source ... ok
[INFO] [stdout] test clients::tests::test_codex_root_uses_codex_home_env_var ... ok
[INFO] [stdout] test aggregator::tests::test_aggregate_by_session_picks_top_client_by_cost ... ok
[INFO] [stdout] test clients::tests::test_path_root_home_resolves_to_home_dir ... ok
[INFO] [stdout] test fs_atomic::tests::non_transient_error_attempts_once ... ok
[INFO] [stdout] test fs_atomic::tests::persistent_retryable_error_stops_after_five_attempts ... ok
[INFO] [stdout] test fs_atomic::tests::retries_sharing_violation_then_succeeds ... ok
[INFO] [stdout] test fs_atomic::tests::retries_access_denied_then_succeeds ... ok
[INFO] [stdout] test message_cache::tests::test_cached_path_preserves_non_utf8_bytes ... ok
[INFO] [stdout] test fs_atomic::tests::retry_attempts_and_backoff_follow_exact_sequence ... ok
[INFO] [stdout] test aggregator::tests::test_calculate_years_year_boundary ... ok
[INFO] [stdout] test message_cache::tests::test_check_path_returns_unchanged_for_matching_metadata_and_samples ... ok
[INFO] [stdout] test message_cache::tests::test_codex_incremental_cache_requires_newline_boundary ... ok
[INFO] [stdout] test message_cache::tests::test_codex_incremental_cache_reuses_full_hash ... ok
[INFO] [stdout] test message_cache::tests::test_codex_prefix_matches_appended_file ... ok
[INFO] [stdout] test message_cache::tests::test_check_path_returns_changed_when_sample_changes_with_same_metadata ... ok
[INFO] [stdout] test message_cache::tests::test_codex_prefix_matches_rejects_middle_rewrite_with_same_tail ... ok
[INFO] [stdout] test message_cache::tests::test_copilot_desktop_dynamic_event_set_adds_and_removes ... ok
[INFO] [stdout] test message_cache::tests::test_grok_fingerprint_tracks_signals_sidecar_changes ... ok
[INFO] [stdout] test message_cache::tests::test_grok_fingerprint_tracks_summary_and_events_sidecar_changes ... ok
[INFO] [stdout] test message_cache::tests::test_kimi_fingerprint_tracks_legacy_config_but_keeps_kimi_code_self_contained ... ok
[INFO] [stdout] test message_cache::tests::test_generic_sources_skip_full_hash ... ok
[INFO] [stdout] test message_cache::tests::test_old_codex_schema_is_rejected_before_decode_and_rebuilt ... ok
[INFO] [stdout] test message_cache::tests::test_related_non_not_found_read_failure_returns_none ... ok
[INFO] [stdout] test message_cache::tests::test_codex_prefix_matches_rejects_large_unsampled_rewrite ... ok
[INFO] [stdout] test message_cache::tests::test_related_path_identity_and_set_changes_miss_warm_cache ... ok
[INFO] [stdout] test message_cache::tests::test_source_fingerprint_changes_for_same_size_rewrite ... ok
[INFO] [stdout] test message_cache::tests::test_sqlite_check_detects_change_without_full_hash ... ok
[INFO] [stdout] test message_cache::tests::test_sqlite_source_fingerprint_tracks_sidecar_changes ... ok
[INFO] [stdout] test message_cache::tests::test_sqlite_fingerprint_skips_full_hash ... ok
[INFO] [stdout] test model_alias::tests::deserialize_is_lossy_over_non_string_values ... ok
[INFO] [stdout] test model_alias::tests::drops_empty_and_self_maps ... ok
[INFO] [stdout] test model_alias::tests::deserialize_of_non_object_is_empty ... ok
[INFO] [stdout] test model_alias::tests::empty_resolver_is_identity ... ok
[INFO] [stdout] test model_alias::tests::folds_three_variants_to_one_canonical ... ok
[INFO] [stdout] test model_alias::tests::invalidation_hook_fires_on_set_and_clear ... ok
[INFO] [stdout] test model_alias::tests::keys_match_case_and_dotted_insensitively ... ok
[INFO] [stdout] test model_alias::tests::miss_is_identity ... ok
[INFO] [stdout] test model_alias::tests::grouping_alias_snapshot_stable_across_mid_fold_reload ... ok
[INFO] [stdout] test model_alias::tests::resolution_is_single_hop ... ok
[INFO] [stdout] test model_alias::tests::reloadable_global_install_and_clear ... ok
[INFO] [stdout] test model_alias::tests::separator_insensitive_match_is_provider_agnostic ... ok
[INFO] [stdout] test model_alias::tests::serialize_round_trips_as_flat_map ... ok
[INFO] [stdout] test parser::tests::test_parse_error_display ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_empty ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_invalid_json ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_nested ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_not_found ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_simple ... ok
[INFO] [stdout] test parser::tests::test_parse_json_file_unicode ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_file_basic ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_file_empty ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_file_not_found ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_file_with_empty_lines ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_file_with_malformed_lines ... ok
[INFO] [stdout] test message_cache::tests::test_source_fingerprint_changes_for_large_same_size_unsampled_rewrite ... ok
[INFO] [stdout] test model_alias::tests::respects_capacity_cap ... ok
[INFO] [stdout] test parser::tests::test_parse_jsonl_large_file ... ok
[INFO] [stdout] test clients::tests::test_env_guard_restores_after_unwind ... ok
[INFO] [stdout] test clients::tests::test_path_root_config_ignores_env_when_disabled ... ok
[INFO] [stdout] test clients::tests::test_path_root_config_uses_override_when_set ... ok
[INFO] [stdout] test clients::tests::test_path_root_config_uses_xdg_config_home_when_override_unset ... ok
[INFO] [stdout] test clients::tests::test_path_root_env_var_ignores_env_when_disabled ... ok
[INFO] [stdout] test clients::tests::test_path_root_env_var_falls_back_when_unset ... ok
[INFO] [stdout] test clients::tests::test_path_root_env_var_uses_env_when_set ... ok
[INFO] [stdout] test clients::tests::test_path_root_xdg_data_falls_back_when_empty ... ok
[INFO] [stdout] test paths::tests::legacy_helpers_return_some_when_not_overridden ... ok
[INFO] [stdout] test clients::tests::test_path_root_xdg_data_ignores_env_when_disabled ... ok
[INFO] [stdout] test clients::tests::test_path_root_xdg_data_preserves_whitespace_when_set ... ok
[INFO] [stdout] test clients::tests::test_path_root_xdg_data_falls_back_when_unset ... ok
[INFO] [stdout] test message_cache::tests::test_fallback_cache_dir_prefers_runtime_dir ... ok
[INFO] [stdout] test paths::tests::linux_honors_xdg_config_home_when_set ... ok
[INFO] [stdout] test pricing::aliases::tests::resolves_model_name_aliases ... ok
[INFO] [stdout] test paths::tests::legacy_helpers_return_none_when_overridden ... ok
[INFO] [stdout] test clients::tests::test_path_root_xdg_data_uses_env_var_when_set ... ok
[INFO] [stdout] test paths::tests::unix_default_is_dot_config_tokscale_under_home ... ok
[INFO] [stdout] test paths::tests::get_config_dir_treats_empty_override_as_unset ... ok
[INFO] [stdout] test pricing::aliases::tests::resolves_kimi_k2p6_aliases_without_regressing_k2p5 ... ok
[INFO] [stdout] test pricing::custom::tests::drops_oversized_file ... ok
[INFO] [stdout] test pricing::custom::tests::loads_empty_when_file_missing ... ok
[INFO] [stdout] test pricing::cache::tests::load_falls_back_to_legacy_dirs_cache_path ... ok
[INFO] [stdout] test pricing::custom::tests::drops_entry_when_per_million_and_per_token_alias_both_set ... ok
[INFO] [stdout] test pricing::custom::tests::drops_entries_with_no_input_or_output_prices ... ok
[INFO] [stdout] test pricing::custom::tests::rejects_out_of_range_json_number_before_loading_entries ... ok
[INFO] [stdout] test pricing::custom::tests::rejects_non_finite_prices ... ok
[INFO] [stdout] test pricing::custom::tests::case_insensitive_lookup ... ok
[INFO] [stdout] test paths::tests::cache_dir_is_cache_subdir_of_config_dir ... ok
[INFO] [stdout] test paths::tests::env_override_is_returned_verbatim ... ok
[INFO] [stdout] test paths::tests::is_config_dir_overridden_treats_empty_string_as_unset ... ok
[INFO] [stdout] test pricing::custom::tests::loads_valid_file ... ok
[INFO] [stdout] test pricing::custom::tests::tolerates_malformed_entry_keeps_others ... ok
[INFO] [stdout] test pricing::custom::tests::loads_mixed_per_million_and_litellm_per_token_entries ... ok
[INFO] [stdout] test pricing::custom::tests::duplicate_keys_last_wins ... ok
[INFO] [stdout] test pricing::cache::tests::env_guard_restores_after_unwind ... ok
[INFO] [stdout] test pricing::custom::tests::tolerates_malformed_json ... ok
[INFO] [stdout] test pricing::litellm::tests::test_deserialize_model_pricing_with_above_272k_fields ... ok
[INFO] [stdout] test pricing::lookup::tests::choose_best_keeps_existing_cache_costs ... ok
[INFO] [stdout] test pricing::custom::tests::ignores_unknown_bookkeeping_fields ... ok
[INFO] [stdout] test pricing::custom::tests::drops_entries_with_zero_prices ... ok
[INFO] [stdout] test pricing::custom::tests::keeps_entries_with_input_or_output_price ... ok
[INFO] [stdout] test pricing::custom::tests::literal_duplicate_keys_last_wins ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_gemini_3_pro ... ok
[INFO] [stdout] test pricing::custom::tests::loads_litellm_per_token_fields ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_cost_calculation ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_case_insensitive ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_gemini_3_flash ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_claude ... ok
[INFO] [stdout] test pricing::lookup::tests::test_aws_opus_4_7_does_not_degrade_to_opus_4 ... ok
[INFO] [stdout] test pricing::litellm::tests::test_deserialize_model_pricing_without_above_200k_fields ... ok
[INFO] [stdout] test pricing::lookup::tests::choose_best_backfills_cache_costs_from_runner_up ... ok
[INFO] [stdout] test pricing::lookup::tests::test_aws_opus_4_8_does_not_degrade_to_opus_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_blocklist_auto ... ok
[INFO] [stdout] test pricing::lookup::tests::test_bare_brand_token_does_not_fuzzy_match_opus ... ok
[INFO] [stdout] test pricing::lookup::tests::test_anthropic_prefixed_haiku_variant_uses_canonical_pricing ... ok
[INFO] [stdout] test pricing::lookup::tests::test_blocklist_mini ... ok
[INFO] [stdout] test pricing::lookup::tests::test_calculate_cost_claude_sonnet_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_calculate_cost_tiered_all_buckets_with_reasoning_threshold_crossing ... ok
[INFO] [stdout] test pricing::lookup::tests::test_calculate_cost_gpt_5_2 ... ok
[INFO] [stdout] test pricing::litellm::tests::test_deserialize_model_pricing_with_above_200k_fields ... ok
[INFO] [stdout] test pricing::lookup::tests::test_calculate_cost_unknown_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_cache_write_applies_split ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_gpt ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_cache_read_applies_split ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_invalid_above_rate_falls_back_to_base_cache_write ... ok
[INFO] [stdout] test pricing::lookup::tests::test_bedrock_sonnet_never_billed_as_opus ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_above_200k_splits_input_and_output ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compound_provider_hint_prefers_reseller_over_prefix ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_boundary_at_200k_uses_base_rates ... ok
[INFO] [stdout] test pricing::lookup::tests::test_case_insensitive ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_above_272k_splits_gpt_5_5_tokens ... ok
[INFO] [stdout] test pricing::lookup::tests::fuzzy_match_does_not_resolve_generic_model_token ... ok
[INFO] [stdout] test pricing::lookup::tests::test_antigravity_prefix_with_tier_suffix ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_missing_base_input_only_charges_above_threshold ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_invalid_above_rate_falls_back_to_base_output_reasoning ... ok
[INFO] [stdout] test pricing::lookup::tests::test_exact_match_litellm ... ok
[INFO] [stdout] test pricing::lookup::tests::test_anthropic_prefixed_sonnet_variant_uses_canonical_pricing ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_is_applied_per_bucket ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_reasoning_boundary_at_200k_uses_base_output_rate ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_without_above_rate_uses_base_for_all_tokens ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_uses_multiple_thresholds_in_order ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_invalid_above_rate_falls_back_to_base ... ok
[INFO] [stdout] test pricing::lookup::tests::test_cross_source_fuzzy_provider_hint_wins_over_original_provider_fallback ... ok
[INFO] [stdout] test pricing::lookup::tests::test_compute_cost_tiered_invalid_above_rate_falls_back_to_base_cache_read ... ok
[INFO] [stdout] test pricing::lookup::tests::test_full_request_long_context_policy_is_identity_scoped ... ok
[INFO] [stdout] test pricing::lookup::tests::test_exact_match_gpt_5_5_litellm ... ok
[INFO] [stdout] test pricing::lookup::tests::test_fallback_suffix_with_tier_suffix ... ok
[INFO] [stdout] test pricing::lookup::tests::test_exact_match_openrouter ... ok
[INFO] [stdout] test pricing::lookup::tests::test_fallback_suffix_lookup ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_applies_terminal_reasoning_tier_guard ... ok
[INFO] [stdout] test pricing::lookup::tests::test_force_source_litellm ... ok
[INFO] [stdout] test pricing::lookup::tests::test_force_source_openrouter ... ok
[INFO] [stdout] test pricing::lookup::tests::test_free_variant_with_extra_suffix_falls_back_to_market_priced_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_exact_raw_built_in_parenthesized_key_precedes_tier_validation ... ok
[INFO] [stdout] test pricing::lookup::tests::test_free_variant_normalizes_to_market_priced_claude_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_helper_uses_terminal_segment ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_composes_suffixed_pricing_fixture ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_unknown_terminal_suffix_stays_none ... ok
[INFO] [stdout] test pricing::lookup::tests::test_gpt_5_5_cache_write_does_not_select_long_context ... ok
[INFO] [stdout] test pricing::lookup::tests::test_gpt_5_5_exact_threshold_stays_regular ... ok
[INFO] [stdout] test pricing::lookup::tests::test_gpt_5_5_threshold_includes_cache_read_and_reasoning ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_keeps_provider_selection_and_cache_backfill ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_terminal_upstream_exact_precedes_cursor_model_part ... ok
[INFO] [stdout] test pricing::lookup::tests::test_every_terminal_custom_result_uses_claude_never_degrade_guard ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_preserves_full_path_suffix_precedence ... ok
[INFO] [stdout] test pricing::lookup::tests::test_generic_prefix_fallback_resolves_terminal_alias_like_direct_lookup ... ok
[INFO] [stdout] test pricing::lookup::tests::test_fuzzy_match_gemini ... ok
[INFO] [stdout] test pricing::lookup::tests::test_fallback_suffix_prefers_exact_match ... ok
[INFO] [stdout] test pricing::lookup::tests::test_major_five_never_resolves_to_different_major ... ok
[INFO] [stdout] test pricing::lookup::tests::test_missing_exact_raw_invalid_parenthesized_built_in_key_fails_closed ... ok
[INFO] [stdout] test pricing::lookup::tests::test_no_false_positive_valid_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_major_five_resolves_once_dataset_knows_it ... ok
[INFO] [stdout] test pricing::lookup::tests::test_gpt_5_5_uses_full_request_long_context_rates ... ok
[INFO] [stdout] test pricing::lookup::tests::test_known_minor_shapes_resolve_per_family ... ok
[INFO] [stdout] test pricing::lookup::tests::test_grok_code_prefers_xai_over_azure ... ok
[INFO] [stdout] test pricing::lookup::tests::test_is_original_provider ... ok
[INFO] [stdout] test pricing::lookup::tests::test_is_fuzzy_eligible ... ok
[INFO] [stdout] test pricing::lookup::tests::test_is_reseller_provider ... ok
[INFO] [stdout] test pricing::lookup::tests::test_known_prefixed_dataset_key_still_resolves_exactly ... ok
[INFO] [stdout] test pricing::lookup::tests::test_non_verified_identity_keeps_marginal_tier_behavior ... ok
[INFO] [stdout] test pricing::lookup::tests::test_none_pricing_exact_litellm_does_not_shadow_openrouter_model_part ... ok
[INFO] [stdout] test pricing::lookup::tests::test_none_pricing_provider_exact_does_not_shadow_stripped_priced_entry ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_minor_generalizes_across_families ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_6_prefers_4_6_over_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_sonnet_14_5_does_not_map_to_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_14_6_does_not_map_to_4_6 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_none_pricing_provider_match_falls_back_to_priced_fuzzy_candidate ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_6_dot_prefers_4_6_over_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_8_prefers_4_8_over_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_7_prefers_4_7_over_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_version_separator ... ok
[INFO] [stdout] test pricing::lookup::tests::test_nonexistent_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_haiku_14_5_does_not_map_to_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_reversed_order_all_families ... ok
[INFO] [stdout] test pricing::lookup::tests::test_none_pricing_reseller_does_not_shadow_real_entry ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_7_dot_prefers_4_7_over_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_bare_modern_major ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_version_separator_preserves_dates ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_legacy_line_not_hijacked_by_modern_parser ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_3_5_haiku ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_3_5_haiku_with_dot ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_modern_claude_boundaries ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_opus_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_opus_4_1 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_sonnet_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_haiku_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_1_codex ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_big_pickle ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_glm_4_7_free ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_glm_4_6 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_glm_4_6_with_hyphen ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_glm_4_7_with_hyphen ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_claude_sonnet_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gemini_3_flash ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_1 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_1_codex_max ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_2 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_codex ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gemini_3_pro ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_6_aliases ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_6_provider_hint_from_kimi_for_coding ... ok
[INFO] [stdout] test pricing::lookup::tests::test_parenthesized_reasoning_tier_cost_matches_base_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_parenthesized_reasoning_tier_unknown_value_does_not_strip ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_parenthesized_reasoning_tier_gpt_levels ... ok
[INFO] [stdout] test pricing::lookup::tests::test_prefix_and_suffix_combined ... ok
[INFO] [stdout] test pricing::lookup::tests::test_prefix_and_suffix_with_tier ... ok
[INFO] [stdout] test pricing::lookup::tests::test_parenthesized_reasoning_tier_with_routing_prefix ... ok
[INFO] [stdout] test pricing::lookup::tests::test_normalize_opus_4_60_does_not_degrade_to_opus_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_thinking ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_qwen3_coder ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_gpt_5_nano ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_grok_code ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_5_free ... ok
[INFO] [stdout] test pricing::lookup::tests::test_openrouter_model_part_match ... ok
[INFO] [stdout] test pricing::lookup::tests::test_parenthesized_reasoning_tier_claude_and_gemini ... ok
[INFO] [stdout] test pricing::lookup::tests::test_opencode_zen_kimi_k2_5_aliases_unchanged ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_matches_nested_reseller_exact_key ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_prefers_matching_pricing_source ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_exact_litellm_beats_stripped_generic_match ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_preference_gemini_prefers_google_over_vertex ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_matches_nested_google_segment_during_fuzzy_lookup ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_minimax_matches_minimax_keys ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_non_opus_prefers_exact_openrouter_without_tier_advantage ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_mistralai_matches_mistral_keys ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_opus_4_6_prefers_litellm_tiered_pricing ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_normalizes_openai_codex_alias ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_gpt_5_5_uses_full_request_long_context_rates ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_scoped_path_does_not_strip_into_wrong_fireworks_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_override_requires_valid_base_and_above_pair ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_preference_grok_prefers_xai_over_azure ... ok
[INFO] [stdout] test pricing::lookup::tests::test_reversed_sonnet_resolves_canonical_not_cross_family ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_scoped_path_matches_exact_terminal_provider_key ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_override_allows_zero_base_with_valid_above ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_override_rejects_invalid_base_even_with_above ... ok
[INFO] [stdout] test pricing::lookup::tests::test_source_and_provider_normalizes_unknown_hint ... ok
[INFO] [stdout] test pricing::lookup::tests::test_suffix_strip_high ... ok
[INFO] [stdout] test pricing::lookup::tests::test_suffix_strip_low ... ok
[INFO] [stdout] test pricing::lookup::tests::test_prefixed_model_with_conflicting_provider_uses_provider_aware_path ... ok
[INFO] [stdout] test pricing::lookup::tests::test_prefixed_model_conflicting_provider_falls_back_to_stripped ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_prefixed_cache_only_tier_keeps_exact_openrouter ... ok
[INFO] [stdout] test pricing::lookup::tests::test_suffix_strip_codex ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_low ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_hint_empty_and_unknown_treated_as_none ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_scoped_path_does_not_use_upstream_openrouter_exact ... ok
[INFO] [stdout] test pricing::lookup::tests::test_provider_scoped_path_matches_exact_litellm_reseller_key ... ok
[INFO] [stdout] test pricing::lookup::tests::test_suffix_strip_xhigh ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_with_fuzzy ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_prefix_two_segments ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_xhigh ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_xhigh_gpt_5_5 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_prefix_generic ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_xhigh_codex_max ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_prefixed_model_id_strips_to_underlying_model ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_high ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_prefixed_unknown_model_stays_none ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_future_opus_minor_does_not_degrade_to_opus_4 ... ok
[INFO] [stdout] test pricing::lookup::tests::test_zero_pricing_exact_entry_is_usable ... ok
[INFO] [stdout] test pricing::official::tests::mimo_uses_current_usd_rates_and_free_cache_write ... ok
[INFO] [stdout] test pricing::official::tests::cache_write_selects_long_context_and_reasoning_bills_once ... ok
[INFO] [stdout] test pricing::tests::custom_exact_invalid_parenthesized_key_wins_but_missing_key_fails_closed ... ok
[INFO] [stdout] test pricing::tests::custom_calculate_cost_uses_terminal_override ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_suffix_two_segments ... ok
[INFO] [stdout] test pricing::official::tests::new_models_have_all_four_rates_offline ... ok
[INFO] [stdout] test pricing::official::tests::downloaded_and_custom_prices_win_over_snapshot ... ok
[INFO] [stdout] test pricing::tests::custom_calculate_cost_uses_override ... ok
[INFO] [stdout] test pricing::lookup::tests::test_tier_suffix_free ... ok
[INFO] [stdout] test pricing::tests::custom_force_source_does_not_fall_through_on_miss ... ok
[INFO] [stdout] test pricing::tests::custom_override_wins_over_litellm ... ok
[INFO] [stdout] test pricing::tests::custom_override_non_scoped_terminal_match_wins ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_canonical_alias_key_matches_direct_and_forced_custom ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_sonnet_haiku_minor_does_not_degrade ... ok
[INFO] [stdout] test pricing::lookup::tests::test_unknown_suffix_thinking ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_override_respects_forced_sources ... ok
[INFO] [stdout] test pricing::tests::custom_override_wins_over_openrouter ... ok
[INFO] [stdout] test pricing::tests::builtin_kimi_overrides_cover_k3_bare_keys ... ok
[INFO] [stdout] test pricing::tests::custom_exact_parenthesized_key_wins_before_tier_stripping ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_override_unknown_stays_none ... ok
[INFO] [stdout] test pricing::tests::custom_override_raw_beats_normalized ... ok
[INFO] [stdout] test pricing::tests::forced_upstream_sources_do_not_use_raw_custom_parenthesized_keys ... ok
[INFO] [stdout] test pricing::tests::custom_override_raw_match_wins ... ok
[INFO] [stdout] test pricing::tests::custom_override_respects_force_source ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_composer_2_5_cache_write_free ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_composer_2_cache_write_free ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_1 ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_override_does_not_bypass_provider_scoped_fail_closed ... ok
[INFO] [stdout] test pricing::tests::custom_override_skips_fuzzy_chain ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_2_fast ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_override_does_not_steal_full_id_exact ... ok
[INFO] [stdout] test pricing::tests::custom_override_wins_over_built_in_terminal_for_routed_id ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_2_5_fast ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_raw_alias_key_matches_direct_and_forced_custom ... ok
[INFO] [stdout] test pricing::tests::test_cursor_composer_lookup_case_insensitive ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_1_5 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_2 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_for_composer_2_5 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_matches_after_version_normalization ... ok
[INFO] [stdout] test pricing::tests::no_custom_falls_through_to_litellm ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2_5 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost ... ok
[INFO] [stdout] test pricing::tests::test_cursor_matches_provider_prefixed_input ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_composer_2_5_fast_cache_write_free ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2_5_fast ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2_spaced ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2_fast ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_hyphenated_composer_1 ... ok
[INFO] [stdout] test pricing::tests::custom_terminal_override_does_not_steal_full_path_suffix_exact ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_hyphenated_composer_1_5 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_1 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_calculate_cost_composer_2_fast_cache_write_free ... ok
[INFO] [stdout] test pricing::tests::test_cursor_matches_via_suffix_stripping ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_2_fast_spaced ... ok
[INFO] [stdout] test pricing::tests::test_cursor_provider_prefix_yields_to_upstream ... ok
[INFO] [stdout] test pricing::tests::test_sakana_cache_write_does_not_select_long_context ... ok
[INFO] [stdout] test pricing::tests::test_from_cached_datasets_uses_official_snapshot_when_sources_missing ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_for_composer_1_5 ... ok
[INFO] [stdout] test pricing::tests::test_cursor_yields_to_openrouter_prefix ... ok
[INFO] [stdout] test pricing::tests::test_filter_excludes_github_copilot ... ok
[INFO] [stdout] test pricing::tests::test_sakana_fugu_ultra_request_tier_and_alias ... ok
[INFO] [stdout] test pricing::tests::test_sakana_override_requires_sakana_provider_identity ... ok
[INFO] [stdout] test pricing::tests::test_cursor_returns_pricing_when_not_in_upstream ... ok
[INFO] [stdout] test pricing::tests::test_sakana_yields_to_litellm_exact ... ok
[INFO] [stdout] test pricing::tests::test_from_cached_datasets_filters_subscription_only_litellm_entries ... ok
[INFO] [stdout] test pricing::tests::test_cursor_skipped_when_force_source_set ... ok
[INFO] [stdout] test pricing::tests::test_cursor_yields_to_litellm_exact ... ok
[INFO] [stdout] test pricing::tests::test_sakana_bare_fugu_is_unpriced ... ok
[INFO] [stdout] test pricing::tests::test_sakana_cold_and_warm_costs_are_deterministic ... ok
[INFO] [stdout] test pricing::tests::test_sakana_returns_pricing_for_fugu_ultra ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_delimiters_avoid_kimi_mimo_glm_false_positives ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_from_model ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_normalizes_kimi_mimo_and_glm ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_fugu_maps_to_sakana ... ok
[INFO] [stdout] test provider_identity::tests::fable_models_map_to_anthropic ... ok
[INFO] [stdout] test provider_identity::tests::test_canonical_provider_returns_first_canonical_tag ... ok
[INFO] [stdout] test provider_identity::tests::test_matches_provider_hint_for_known_aliases_and_nested_keys ... ok
[INFO] [stdout] test provider_identity::tests::test_key_provider_tags_extract_nested_provider_segments ... ok
[INFO] [stdout] test provider_identity::tests::test_provider_tags_preserves_sakana ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_boundary_matches ... ok
[INFO] [stdout] test provider_identity::tests::test_provider_tags_ai21_with_digits ... ok
[INFO] [stdout] test provider_identity::tests::test_matches_provider_hint_none_and_empty ... ok
[INFO] [stdout] test provider_identity::tests::test_provider_tags_normalize_known_aliases ... ok
[INFO] [stdout] test scanner::tests::test_is_opencode_db_filename_accepts_default_and_channel_variants ... ok
[INFO] [stdout] test pricing::tests::test_verified_litellm_long_context_survives_custom_pipeline ... ok
[INFO] [stdout] test provider_identity::tests::test_inferred_provider_no_false_positives ... ok
[INFO] [stdout] test scanner::tests::test_discover_opencode_dbs_returns_empty_for_missing_dir ... ok
[INFO] [stdout] test provider_identity::tests::test_matches_provider_hint_mistral_keys ... ok
[INFO] [stdout] test provider_identity::tests::test_provider_tags_mistral_alias ... ok
[INFO] [stdout] test scanner::tests::test_merge_user_opencode_db_paths_picks_up_path_outside_xdg ... ok
[INFO] [stdout] test scanner::tests::test_parse_extra_dirs_invalid_client ... ok
[INFO] [stdout] test scanner::tests::test_discover_opencode_dbs_finds_multiple_channels_and_skips_sidecars ... ok
[INFO] [stdout] test scanner::tests::test_merge_user_opencode_db_paths_skips_nonexistent_and_sidecars ... ok
[INFO] [stdout] test scanner::tests::test_parse_extra_dirs_empty_string ... ok
[INFO] [stdout] test scanner::tests::test_merge_user_opencode_db_paths_dedups_against_auto_discovered ... ok
[INFO] [stdout] test scanner::tests::test_is_opencode_db_filename_rejects_sidecars_and_unrelated_files ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_copilot_discovers_desktop_database ... ok
[INFO] [stdout] test scanner::tests::test_mco_config_artifact_base ... ok
[INFO] [stdout] test scanner::tests::test_env_guard_restores_after_unwind ... ok
[INFO] [stdout] test scanner::tests::test_cwd_guard_restores_after_unwind ... ok
[INFO] [stdout] test scanner::tests::test_headless_roots_ignore_env_override_when_disabled ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_copilot ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_with_scanner_settings_merges_settings_extra_paths ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_empty ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_json_pattern ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_deterministic_order ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_jsonl_pattern ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_nested ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_keeps_file_symlinks ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_codex_archived_sessions ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_nonexistent ... ok
[INFO] [stdout] test scanner::tests::test_scan_result_empty ... ok
[INFO] [stdout] test scanner::tests::test_scanner_settings_deserialize_extra_scan_paths_camel_case ... ok
[INFO] [stdout] test scanner::tests::test_scanner_settings_deserialize_from_json_camel_case ... ok
[INFO] [stdout] test sessionize::tests::test_compute_time_metrics_empty ... ok
[INFO] [stdout] test sessionize::tests::test_longest_continuous_is_max_session_active_duration ... ok
[INFO] [stdout] test sessionize::tests::test_longest_continuous_picks_max_active ... ok
[INFO] [stdout] test sessionize::tests::test_compute_daily_active_time_matches_local_day_boundaries_for_fixed_offset ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_updates_jsonl_pattern ... ok
[INFO] [stdout] test sessionize::tests::test_longest_continuous_single_session ... ok
[INFO] [stdout] test sessionize::tests::test_max_concurrent_non_overlapping ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_parity_idle_gap ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_parity_multi_session_multi_client ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_parity_single_session ... ok
[INFO] [stdout] test sessionize::tests::test_max_concurrent_sessions ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_empty ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_skips_zero_timestamp ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_accumulator_parity_tokens_and_cost ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_empty ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_multiple_sessions ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_preserves_explicit_zero_message_count ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_saturates_overflowing_token_fold ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_skips_zero_timestamp ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_single_message ... ok
[INFO] [stdout] test sessions::codex::tests::codex_human_turn_matches_only_known_system_tags ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_with_idle_gap ... ok
[INFO] [stdout] test sessions::codex::tests::test_cache_writes_and_reasoning_are_disjoint_in_full_and_incremental_parse ... ok
[INFO] [stdout] test sessions::codex::tests::test_cached_tokens_takes_max_of_both_fields ... ok
[INFO] [stdout] test sessions::codex::tests::test_compaction_total_drop_uses_last_as_increment ... ok
[INFO] [stdout] test sessions::codex::tests::test_duration_fixture_incremental_parse_matches_full_parse ... ok
[INFO] [stdout] test sessions::codex::tests::test_exec_user_message_still_marks_turn_start ... ok
[INFO] [stdout] test sessions::codex::tests::test_extract_model_skips_empty_slug_falls_through_to_model ... ok
[INFO] [stdout] test sessions::codex::tests::test_first_event_uses_last_not_total_for_resumed_sessions ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_detects_thread_spawn_source_without_top_level_fork_id ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_ignores_replayed_parent_rows_after_turn_context ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_ignores_inherited_records_before_turn_context ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_incremental_state_skips_inherited_prefix ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_same_millisecond_replayed_parent_turn_keeps_skipping ... ok
[INFO] [stdout] test sessionize::tests::test_sessionize_continuous_session ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_same_millisecond_turn_starts_own_session ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_legacy_turn_pins_seconds_unit_contract ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_submit_cap_regression_skips_large_inherited_cache_replays ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_skips_nested_parent_replay_until_own_turn ... ok
[INFO] [stdout] test sessions::codex::tests::test_headless_fallback_defaults_to_openai_without_session_meta ... ok
[INFO] [stdout] test sessions::codex::tests::test_forked_child_task_started_non_numeric_started_at_does_not_fail_parsing ... ok
[INFO] [stdout] test sessions::codex::tests::test_headless_fallback_uses_session_provider_and_agent ... ok
[INFO] [stdout] test sessions::codex::tests::test_headless_usage_line ... ok
[INFO] [stdout] test sessions::codex::tests::test_headless_usage_nested_data ... ok
[INFO] [stdout] test sessions::codex::tests::test_headless_usage_details_and_malformed_counts ... ok
[INFO] [stdout] test sessions::codex::tests::test_inaccessible_cwd_still_parses_token_usage ... ok
[INFO] [stdout] test sessions::codex::tests::test_incremental_parse_preserves_pending_turn_start ... ok
[INFO] [stdout] test sessions::codex::tests::test_into_tokens_clamps_cached_to_input ... ok
[INFO] [stdout] test sessions::codex::tests::test_incremental_parse_matches_full_parse_for_appended_lines ... ok
[INFO] [stdout] test sessions::codex::tests::test_model_info_slug_from_turn_context ... ok
[INFO] [stdout] test sessions::codex::tests::test_model_only_headless_line_flushes_pending_token_counts ... ok
[INFO] [stdout] test sessions::codex::tests::test_parse_file_preserves_valid_messages_after_late_invalid_utf8_line_error ... ok
[INFO] [stdout] test sessions::codex::tests::test_nested_child_skips_replayed_legacy_uuid_v4_turn ... ok
[INFO] [stdout] test sessions::codex::tests::test_parse_reader_marks_failure_on_line_read_error ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_cwd_sets_workspace_metadata ... ok
[INFO] [stdout] test sessions::codex::tests::test_pending_model_messages_do_not_bind_across_unrelated_turns ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_exec_marks_headless ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_empty_cwd_clears_workspace_metadata ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_object_source_keeps_provider_agent_and_workspace ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_path_like_noncanonical_cwd_normalizes_consistently ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_malformed_cwd_clears_workspace_metadata ... ok
[INFO] [stdout] test sessions::codex::tests::test_parse_file_returns_empty_on_invalid_utf8_line_error ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_advances_baseline_after_missing_total_fallback ... ok
[INFO] [stdout] test sessions::codex::tests::test_session_meta_provider_and_agent ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_avoids_double_counting_stale_cumulative_regressions ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_before_turn_context_uses_later_model ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_durations_are_non_overlapping ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_handles_multiple_stale_regressions_before_recovery ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_durations_ignore_invalid_equal_and_backward_timestamps ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_falls_back_to_last_usage_when_totals_reset ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_ignores_empty_info_model_until_later_valid_model ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_skips_regressed_totals_without_last_usage ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_ignores_negative_fallback_usage_in_baseline ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_timestamp_is_start_anchored ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_treats_large_regressions_as_real_resets ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_without_model_stays_unknown_but_is_not_cacheable ... ok
[INFO] [stdout] test sessions::codex::tests::test_user_forked_child_counts_own_turn_after_parent_replay ... ok
[INFO] [stdout] test sessions::codex::tests::test_token_count_uses_total_deltas_when_totals_repeat ... ok
[INFO] [stdout] test sessions::codex::tests::test_user_forked_child_same_millisecond_own_turn_counts_without_task_started ... ok
[INFO] [stdout] test sessions::codex::tests::test_user_fork_replayed_parent_shares_child_ms_ends_skip_early ... ok
[INFO] [stdout] test sessions::codex::tests::test_user_message_marks_next_token_count_as_turn_start ... ok
[INFO] [stdout] test sessions::codex::tests::test_xml_user_message_does_not_mark_turn_start ... ok
[INFO] [stdout] test sessions::codex::tests::test_user_message_without_turn_context_anchors_at_user_message ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_agent_turn_log_uses_trace_context_as_last_resort ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_agent_turn_log_uses_scalar_timestamp ... ok
[INFO] [stdout] test sessions::codex::tests::test_zero_token_snapshot_does_not_inflate_later_deltas ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_agent_turn_log_with_top_level_trace_id ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_agent_turn_log_without_turn_index_uses_line_index ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_back_calculates_start_from_end_and_duration ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_chat_span ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_clamps_only_cache_read_to_input ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_per_record_agent_id_wins_over_trace_agent ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_sets_agent_from_invoke_agent_span ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_trace_agent_prefers_invoke_agent_over_child_span ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_trace_agent_single_invoke_agent_unchanged ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_trace_agent_prefers_root_invoke_agent_over_nested ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_trace_hierarchy_scopes_reused_span_ids ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_no_agent_when_invoke_agent_absent ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_trims_whitespace_agent_id ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_underscore_cache_attributes ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_underscore_cache_read_and_creation ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_falls_back_to_trace_and_provider ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_cli_underscore_cache_write_attribute ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_inference_log_negative_time_unix_nano_falls_back ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_inference_log_uses_time_unix_nano_timestamp ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_ignores_non_chat_spans ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_keeps_cache_only_message ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_keeps_cache_read_when_input_is_missing ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_interleaved_multi_trace_suppression_is_per_trace ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_merges_duplicate_spans_without_additive_duration ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_mixed_trace_double_count_suppressed_via_response_id ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_normalizes_only_cache_read_from_input ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_prefers_chat_spans_over_agent_summary ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_prefers_chat_span_over_agent_turn_in_same_trace ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_traced_span_does_not_suppress_traceless_record_with_colliding_session ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_traceless_records_do_not_cross_suppress ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_trace_context_prefers_session_id_over_response_id ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_traced_chat_suppresses_traceless_inference_via_response_id ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_vscode_inference_log_when_span_is_unavailable ... ok
[INFO] [stdout] test sessions::copilot::tests::test_parse_copilot_vscode_chat_span_without_type ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::parse_copilot_desktop_db_enriches_model_and_workspace_from_events ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::parse_timestamp_handles_sqlite_and_numeric_forms ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::parse_copilot_desktop_db_skips_aiu_only_sessions ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::session_state_dependency_probe_reports_non_missing_errors ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::session_state_dependencies_are_sorted_and_token_independent ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::parse_copilot_desktop_db_reads_token_sessions_and_agent ... ok
[INFO] [stdout] test sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events ... FAILED
[INFO] [stdout] test sessions::grok::tests::adds_signals_reconciliation_when_compaction_exceeds_updates ... ok
[INFO] [stdout] test sessions::grok::tests::compaction_epoch_survives_without_signals_reconciliation ... ok
[INFO] [stdout] test sessions::grok::tests::creates_unknown_model_turn_without_model_metadata ... ok
[INFO] [stdout] test sessions::grok::tests::counts_compaction_reset_as_a_new_counter_epoch ... ok
[INFO] [stdout] test sessions::grok::tests::ignores_repeated_and_decreasing_total_tokens ... ok
[INFO] [stdout] test sessions::grok::tests::inherits_parent_cost_and_duration_onto_single_model_usage ... ok
[INFO] [stdout] test sessions::grok::tests::multi_model_own_cost_leaves_omitting_sibling_unknown ... ok
[INFO] [stdout] test sessions::grok::tests::multi_model_parent_cost_blocks_sibling_repricing ... ok
[INFO] [stdout] test sessions::grok::tests::parses_unified_log_token_breakdown_without_double_counting_reasoning ... ok
[INFO] [stdout] test sessions::grok::tests::post_usage_live_partial_does_not_zero_base_without_counter ... ok
[INFO] [stdout] test sessions::grok::tests::post_usage_context_partials_require_user_message_chunk ... ok
[INFO] [stdout] test sessions::grok::tests::parses_grok_total_token_deltas_by_turn ... ok
[INFO] [stdout] test sessions::grok::tests::post_usage_live_partial_waits_for_baseline_when_only_first_counter ... ok
[INFO] [stdout] test sessions::grok::tests::post_usage_user_turn_baseline_skips_inter_turn_context_growth ... ok
[INFO] [stdout] test sessions::grok::tests::prefers_turn_completed_usage_over_context_counter ... ok
[INFO] [stdout] test sessions::grok::tests::preserves_legacy_context_turns_before_first_usage ... ok
[INFO] [stdout] test sessions::grok::tests::preserves_total_tokens_without_model_metadata ... ok
[INFO] [stdout] test sessions::grok::tests::selector_suppresses_covered_legacy_without_dropping_partial_fallback ... ok
[INFO] [stdout] test sessions::grok::tests::selector_keeps_unknown_model_when_legacy_models_conflict ... ok
[INFO] [stdout] test sessions::grok::tests::selector_result_set_is_input_order_independent ... ok
[INFO] [stdout] test sessions::grok::tests::skips_context_counter_on_usage_line_with_total_tokens ... ok
[INFO] [stdout] test sessions::grok::tests::signals_reconciliation_anchors_timestamp_to_last_update_not_file_mtime ... ok
[INFO] [stdout] test sessions::grok::tests::splits_model_usage_rows ... ok
[INFO] [stdout] test sessions::grok::tests::unified_log_applies_pidless_session_model_switch ... ok
[INFO] [stdout] test sessions::grok::tests::unified_log_counts_missing_loop_index_as_first_loop ... ok
[INFO] [stdout] test sessions::grok::tests::skips_signals_reconciliation_when_updates_already_cover_signals ... ok
[INFO] [stdout] test sessions::grok::tests::unified_log_expires_pid_scoped_models_on_process_restart ... ok
[INFO] [stdout] test sessions::grok::tests::usage_path_emits_live_partial_after_last_completed_turn ... ok
[INFO] [stdout] test sessions::grok::tests::usage_path_does_not_double_count_completed_context_growth ... ok
[INFO] [stdout] test sessions::grok::tests::unified_log_keeps_distinct_inferences_that_share_base_identity ... ok
[INFO] [stdout] test sessions::grok::tests::uses_summary_model_when_update_model_is_missing ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_code_counts_only_explicit_turn_scope ... ok
[INFO] [stdout] test sessions::grok::tests::uses_signals_model_when_updates_model_is_missing ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_code_is_old_parser_zero_new_parser_nonzero ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_code_extreme_tokens_do_not_overflow_zero_check ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_code_path_detection_uses_agents_topology ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_code_replay_dedup_keeps_distinct_turns ... ok
[INFO] [stdout] test sessions::kimi::tests::test_kimi_config_path_requires_legacy_session_depth ... ok
[INFO] [stdout] test sessions::kimi::tests::kimi_legacy_and_kimi_code_paths_coexist_under_one_client ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_empty_file ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_keeps_distinct_and_missing_message_ids_separate ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_deduplicates_repeated_status_updates_by_message_id ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_malformed_lines ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_skips_zero_token_entries ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_skip_non_status_update ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_multi_turn ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_valid_status_update ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_with_cache_tokens ... ok
[INFO] [stdout] test sessions::kimi::tests::test_parse_kimi_tool_call_multi_step ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_basic ... ok
[INFO] [stdout] test sessions::micode::tests::rowid_fallback_is_namespaced_by_database ... ok
[INFO] [stdout] test sessions::micode::tests::embedded_message_id_is_not_namespaced_by_database ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_legacy_fallback_embedded_path_workspace ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_missing_cache_defaults_to_zero ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_dedup_forked_history ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_negative_values_clamped ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_non_object_path_field ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_with_agent ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_normalizes_seconds_and_milliseconds ... ok
[INFO] [stdout] test sessions::opencode::integration_tests::test_parse_real_sqlite_db ... ignored
[INFO] [stdout] test sessions::opencode::tests::env_guard_restores_after_unwind ... ok
[INFO] [stdout] test sessions::opencode::tests::migration_record_falls_back_to_legacy_path ... ok
[INFO] [stdout] test scanner::tests::test_headless_roots_default ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_copilot_includes_explicit_exporter_file ... ok
[INFO] [stdout] test sessions::opencode::tests::test_dedup_key_from_json_message_id ... ok
[INFO] [stdout] test sessions::opencode::tests::test_dedup_key_falls_back_to_file_stem ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_skips_user_messages ... ok
[INFO] [stdout] test sessions::opencode::tests::test_dedup_key_skips_non_assistant ... ok
[INFO] [stdout] test sessions::opencode::tests::test_deserialize_v2_message_resolves_nested_model ... ok
[INFO] [stdout] test sessions::opencode::tests::test_embedded_cost_rejects_invalid_values ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_invalid_when_file_count_changes ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_missing_returns_none ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_not_skipped_when_incomplete ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_invalid_when_mtime_newer ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_round_trip ... ok
[INFO] [stdout] test sessions::opencode::tests::test_migration_cache_valid_when_unchanged ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_file_ignores_non_object_path_without_rejecting_message ... ok
[INFO] [stdout] test sessions::opencode::tests::test_negative_values_clamped_to_zero ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_file_requires_explicit_assistant_role ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_file_sets_duration_from_completed_time ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_file_uses_explicit_path_root_as_workspace ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_file_marks_only_positive_cost_provider_reported ... ok
[INFO] [stdout] test sessions::opencode::tests::test_cross_source_dedup_by_message_id ... ok
[INFO] [stdout] test sessions::micode::tests::test_parse_micode_sqlite_workspace_from_session ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_sqlite_legacy_fallback_uses_path_root_when_session_table_missing ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_sqlite_marks_positive_cost_provider_reported ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_structure ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_with_agent ... ok
[INFO] [stdout] test sessions::opencode::tests::test_distinct_embedded_ids_are_not_merged_despite_fingerprint_collision ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_sqlite_deduplicates_v1_v2_overlap ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_sqlite_uses_session_directory_as_workspace ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_opencode_sqlite_duplicate_workspace_conflict_is_unknown ... ok
[INFO] [stdout] test sessions::opencode::tests::test_sqlite_dedup_key_falls_back_to_row_id ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_v2_negative_tokens_clamped ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_v2_deduplicates_forked_session_message_history ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_v2_session_message_reads_tokens_and_workspace ... ok
[INFO] [stdout] test sessions::opencode::tests::test_sqlite_dedup_key_prefers_embedded_message_id ... ok
[INFO] [stdout] test sessions::opencode::tests::test_top_level_model_id_takes_precedence_over_nested ... ok
[INFO] [stdout] test sessions::pi::tests::parses_mco_message_end_stream ... ok
[INFO] [stdout] test sessions::pi::tests::parses_pi_session_messages ... ok
[INFO] [stdout] test sessions::pi::tests::skips_zero_usage_and_falls_back_to_file_stem ... ok
[INFO] [stdout] test sessions::qwen::tests::test_cross_project_session_id_uniqueness ... ok
[INFO] [stdout] test sessions::qwen::tests::test_extract_session_id_with_fallback_empty_uses_path ... ok
[INFO] [stdout] test sessions::qwen::tests::test_extract_session_id_with_fallback_none_uses_path ... ok
[INFO] [stdout] test sessions::qwen::tests::test_extract_session_id_with_fallback_uses_json_value ... ok
[INFO] [stdout] test sessions::qwen::tests::test_mixed_session_id_in_file ... ok
[INFO] [stdout] test sessions::qwen::tests::test_multi_turn_same_session_id ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_emits_stable_positional_dedup_keys ... ok
[INFO] [stdout] test sessions::opencode::tests::test_sqlite_same_timestamp_distinct_payloads_survive ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_empty_file ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_multi_turn ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_malformed_lines ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_skips_zero_token_entries ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_skip_non_assistant ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_unknown_model_fallback ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_valid_assistant_message ... ok
[INFO] [stdout] test sessions::qwen::tests::test_parse_qwen_with_cache_and_reasoning ... ok
[INFO] [stdout] test sessions::qwen::tests::test_path_derived_session_id_includes_project ... ok
[INFO] [stdout] test sessions::qwen::tests::test_session_id_fallback_when_empty_string ... ok
[INFO] [stdout] test sessions::opencode::tests::test_sqlite_deduplicates_forked_history_rows ... ok
[INFO] [stdout] test sessions::qwen::tests::test_session_id_fallback_when_null ... ok
[INFO] [stdout] test sessions::qwen::tests::test_session_id_fallback_when_missing ... ok
[INFO] [stdout] test sessions::qwen::tests::test_workspace_metadata_from_qwen_project_path ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_model_fireworks_prefix ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_model_hf_prefix ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_model_negative ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_model_together_prefix ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_provider ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_is_synthetic_provider_negative ... ok
[INFO] [stdout] test sessions::qwen::tests::test_workspace_metadata_ignores_unanchored_projects_segments ... ok
[INFO] [stdout] test sessions::qwen::tests::test_session_id_from_json_when_present ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_normalize_synthetic_gateway_fields_preserves_existing_provider ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_normalize_synthetic_model_fireworks ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_normalize_synthetic_gateway_fields_sets_provider_when_unknown ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_normalize_synthetic_model_hf ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_normalize_synthetic_model_passthrough ... ok
[INFO] [stdout] test sessions::tests::test_cost_source_serde_and_authoritative_marker ... ok
[INFO] [stdout] test sessions::opencode::tests::test_parse_v2_skips_non_assistant_and_tokenless_rows ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_parse_octofriend_sqlite_nonexistent ... ok
[INFO] [stdout] test sessions::synthetic::tests::test_matches_synthetic_filter_accepts_gateway_traffic_without_rewriting_client ... ok
[INFO] [stdout] test sessions::tests::test_normalize_agent_name ... ok
[INFO] [stdout] test sessions::tests::test_normalize_copilot_agent_name ... ok
[INFO] [stdout] test sessions::tests::test_normalize_workspace_key_preserves_unc_prefix ... ok
[INFO] [stdout] test sessions::tests::test_timestamp_to_date_invalid_timestamp ... ok
[INFO] [stdout] test sessions::tests::test_timestamp_to_date_with_negative_offset ... ok
[INFO] [stdout] test sessions::tests::test_timestamp_to_date_with_positive_offset ... ok
[INFO] [stdout] test sessions::tests::test_workspace_label_from_key_uses_last_path_segment ... ok
[INFO] [stdout] test sessions::tests::test_unified_message_creation ... ok
[INFO] [stdout] test sessions::utils::tests::parse_timestamp_str_accepts_timezone_less_datetimes_as_utc ... ok
[INFO] [stdout] test sessions::utils::tests::parse_timestamp_str_rejects_zero_and_negative_strings ... ok
[INFO] [stdout] test sessions::utils::tests::parse_timestamp_value_accepts_positive_numbers ... ok
[INFO] [stdout] test sessions::utils::tests::parse_timestamp_value_rejects_zero_and_negative_numbers ... ok
[INFO] [stdout] test sessions::opencode::tests::test_sqlite_skips_invalid_rows ... ok
[INFO] [stdout] test sessions::tests::test_normalize_workspace_key_normalizes_slashes_and_trailing_separator ... ok
[INFO] [stdout] test sessions::tests::test_strip_zero_width_chars ... ok
[INFO] [stdout] test tests::copilot_desktop_selector_prefers_otel_per_session ... ok
[INFO] [stdout] test tests::copilot_desktop_dependency_probe_failure_fails_open ... ok
[INFO] [stdout] test tests::copilot_desktop_modified_after_keeps_otel_suppressors_and_fails_open ... ok
[INFO] [stdout] test tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning ... FAILED
[INFO] [stdout] test tests::copilot_desktop_authority_precedes_date_filters_in_all_consumers ... ok
[INFO] [stdout] test tests::model_alias_reload_invalidates_usage_data_consumers ... ok
[INFO] [stdout] test tests::pi_and_mco_parse_through_the_full_pipeline ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_keeps_existing_cost_without_pricing ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_keeps_scoped_fireworks_cost_without_exact_pricing ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_normalizes_openai_codex_provider ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_kimi_code_home_obeys_env_strategy ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_codex_with_env ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_prefers_provider_aware_match ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_overrides_cost_when_pricing_exists ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_prefers_provider_specific_exact_match_over_plain_exact ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_preserves_provider_reported_cost ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_prices_claude_code_minimax_model ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_prices_claude_code_gpt_5_3_codex ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_prices_kimi_k2p6_alias ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_uses_cache_read_pricing_for_gemini ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_uses_market_rate_for_free_variant ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_skips_zed_markup_for_byok_provider ... ok
[INFO] [stdout] test tests::test_build_graph_result_from_messages_since_filter_excludes_earlier_dates ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_uses_nested_reseller_exact_match ... ok
[INFO] [stdout] test tests::test_apply_pricing_if_available_uses_reasoning_for_gemini ... ok
[INFO] [stdout] test tests::test_codex_cache_repairs_fallback_timestamps_after_source_mtime_change ... ok
[INFO] [stdout] test tests::copilot_desktop_cache_tracks_events_and_wal_updates ... ok
[INFO] [stdout] test tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache ... FAILED
[INFO] [stdout] test tests::test_cost_provenance_matches_materialized_and_streaming_lanes ... ok
[INFO] [stdout] test tests::grok_streaming_cache_hits_refresh_derived_date_before_filtering ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_codex_home_override_ignores_codex_home_env ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_opencode_empty_xdg_uses_home_fallback ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_opencode_home_override_ignores_xdg_env ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_opencode_picks_up_channel_suffixed_dbs ... ok
[INFO] [stdout] test tests::test_fold_messages_streaming_parity_cross_file_dedup ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_with_scanner_settings_merges_user_path ... ok
[INFO] [stdout] test scanner::tests::test_headless_roots_override ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_with_scanner_settings_dedups_settings_and_env_extra_paths ... ok
[INFO] [stdout] test tests::test_group_by_display_round_trips_with_from_str ... ok
[INFO] [stdout] test tests::test_group_by_from_str_valid_values ... ok
[INFO] [stdout] test tests::test_group_by_default_is_client_model ... ok
[INFO] [stdout] test tests::test_fold_messages_streaming_parity_with_aggregate_by_date_no_dedup ... ok
[INFO] [stdout] test tests::test_full_log_parse_preserves_valid_messages_before_invalid_line_error ... ok
[INFO] [stdout] test tests::test_group_by_from_str_whitespace_handling ... ok
[INFO] [stdout] test tests::test_modified_after_prunes_grok_keeps_session_with_fresh_summary ... ok
[INFO] [stdout] test tests::test_modified_after_retains_grok_authority_sources ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_grok_discovers_configured_unified_logs_once ... ok
[INFO] [stdout] test tests::test_normalize_model_for_grouping ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_does_not_double_count_new_authority ... ok
[INFO] [stdout] test tests::test_modified_after_prunes_grok_by_updates_or_signals_mtime ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_expands_authority_through_aliases ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_flushes_snapshot_fallback_on_json_drift ... ok
[INFO] [stdout] test tests::test_modified_after_prunes_grok_keeps_session_with_fresh_events ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_keeps_aliases_on_sqlite_replacement ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_keeps_fallback_until_json_is_emitted ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_keeps_first_sqlite_authority ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_keeps_incompatible_same_id_rows ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_keeps_first_sqlite_estimate ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_propagates_emitted_aliases_from_deferred_graph ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_propagates_emitted_aliases_to_deferred_rows ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_replaces_deferred_identity_after_other_emission ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_replaces_deferred_sqlite_estimate ... ok
[INFO] [stdout] test tests::test_codex_cache_does_not_persist_unknown_before_later_turn_context ... ok
[INFO] [stdout] test tests::test_codex_cache_reparses_from_zero_when_incremental_prefix_is_stale ... ok
[INFO] [stdout] test tests::test_codex_cache_skips_non_newline_terminated_resume_prefix ... ok
[INFO] [stdout] test tests::test_opencode_streaming_selection_prefers_snapshot_authority ... ok
[INFO] [stdout] test tests::test_codex_cache_write_lanes_match_streaming_materialized_and_warm_cache ... ok
[INFO] [stdout] test tests::grok_materialized_reprices_after_legacy_model_carry_over ... ok
[INFO] [stdout] test tests::test_empty_cache_hits_are_reparsed_for_optional_file_sources ... ok
[INFO] [stdout] test tests::test_empty_parse_results_are_not_cached_for_optional_file_sources ... FAILED
[INFO] [stdout] test tests::test_parse_local_clients_codex_counts_deduplicated_forked_history ... ok
[INFO] [stdout] test tests::test_env_guard_restores_some_and_none_after_panic ... ok
[INFO] [stdout] test tests::test_parse_local_clients_fireworks_provider_kept_under_synthetic_only_filter ... ok
[INFO] [stdout] test tests::test_latest_source_mtime_ms_probes_grok_events ... ok
[INFO] [stdout] test scanner::tests::test_scan_all_clients_codex_sessions_and_archived ... ok
[INFO] [stdout] test tests::test_latest_source_mtime_ms_probes_grok_summary ... ok
[INFO] [stdout] test tests::test_parsed_round_trip_preserves_workspace_metadata ... ok
[INFO] [stdout] test tests::test_parse_local_clients_preserves_gateway_message_client_counts ... ok
[INFO] [stdout] test tests::test_reprice_lane_message_guards_authoritative_micode_cost ... ok
[INFO] [stdout] test tests::test_retain_for_requested_clients_keeps_original_client_matches ... ok
[INFO] [stdout] test tests::test_retain_for_requested_clients_preserves_kilo_split ... ok
[INFO] [stdout] test tests::test_select_local_parse_pricing_does_not_evaluate_stale_fallback_on_fresh_success ... ok
[INFO] [stdout] test tests::test_retain_for_requested_clients_accepts_synthetic_gateway_traffic ... ok
[INFO] [stdout] test tests::test_select_local_parse_pricing_prefers_fresh_service_for_new_models ... ok
[INFO] [stdout] test tests::test_select_local_parse_pricing_falls_back_to_stale_cache_on_fetch_error ... ok
[INFO] [stdout] test tests::test_parse_local_clients_honors_scanner_settings_opencode_db_paths ... ok
[INFO] [stdout] test tests::test_opencode_aliases_preserve_cross_store_identity_across_lanes ... ok
[INFO] [stdout] test tests::test_parse_all_messages_dedups_across_channel_suffixed_opencode_dbs ... ok
[INFO] [stdout] test tests::test_parse_all_messages_fireworks_provider_kept_under_synthetic_only_filter ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_codex_deduplicates_forked_history ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_codex_deduplicates_parent_replay_across_forks ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_codex_keeps_twin_token_counts_at_distinct_timestamps ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_codex_keeps_user_fork_own_turn ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_keeps_gateway_message_under_synthetic_filter ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_kimi_deduplicates_repeated_status_updates ... ok
[INFO] [stdout] test tests::test_exact_hit_codex_cache_repairs_fallback_timestamps_without_incremental_state ... ok
[INFO] [stdout] test tests::test_parse_all_messages_with_pricing_opencode_sqlite_deduplicates_forked_history ... ok
[INFO] [stdout] test tests::test_parse_local_clients_kimi_deduplicates_repeated_status_updates ... ok
[INFO] [stdout] test tests::test_parse_local_clients_opencode_sqlite_counts_deduplicated_forked_history ... ok
[INFO] [stdout] test tests::test_source_cache_matches_cold_parse_after_malformed_json_append ... ok
[INFO] [stdout] test tests::test_source_cache_keeps_untimestamped_rows_in_sync_after_append ... ok
[INFO] [stdout] test tests::test_source_cache_refreshes_stale_date_on_cache_hit ... ok
[INFO] [stdout] test tests::test_sqlite_source_cache_invalidates_on_wal_change ... ok
[INFO] [stdout] test tests::test_streaming_codex_collapses_parent_replay_across_forks ... ok
[INFO] [stdout] test tests::test_streaming_micode_flows_with_authoritative_cost ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events' (3919) panicked at vendor/tokscale-core/src/sessions/copilot_desktop.rs:475:9:
[INFO] [stdout] assertion failed: result.is_err()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x604e583733c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x604e583733c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x604e5838a97a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x604e5838a97a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x604e58377dbc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x604e58377dbc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x604e5834b5d6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x604e5834b5d6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x604e58369b19 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x604e580a6460 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x604e580a6460 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x604e58369e42 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x604e58369e42 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x604e5834b6b4 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x604e58343da9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x604e5834c73d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x604e5838b19c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x604e5838b162 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x604e57be0a5f - tokscale_core[9444ca79088c079b]::sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/sessions/copilot_desktop.rs:475:9
[INFO] [stdout]   21:     0x604e57b8a907 - tokscale_core[9444ca79088c079b]::sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/sessions/copilot_desktop.rs:463:66
[INFO] [stdout]   22:     0x604e57f6d9c6 - <tokscale_core[9444ca79088c079b]::sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x604e5809974b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x604e5809974b - 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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   25:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   26:     0x604e580a6db5 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x604e580a6db5 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   31:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   32:     0x604e580a0674 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   33:     0x604e580a0674 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x604e580a9f12 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x604e580a9f12 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x604e580a9f12 - <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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x604e583723d9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   42:     0x604e583723d9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x76b5f831adfa - <unknown>
[INFO] [stdout]   44:     0x76b5f83ae3d4 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning' (4077) panicked at vendor/tokscale-core/src/lib.rs:3398:9:
[INFO] [stdout] assertion failed: message_cache::SourceFingerprint::from_copilot_desktop_path(&db_path).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x604e583733c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x604e583733c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x604e5838a97a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x604e5838a97a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x604e58377dbc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x604e58377dbc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x604e5834b5d6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x604e5834b5d6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x604e58369b19 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x604e580a6460 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x604e580a6460 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x604e58369e42 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x604e58369e42 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x604e5834b6b4 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x604e58343da9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x604e5834c73d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x604e5838b19c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x604e5838b162 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x604e57ba442f - tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:3398:9
[INFO] [stdout]   21:     0x604e57b543e7 - tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:3369:70
[INFO] [stdout]   22:     0x604e57f69026 - <tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x604e5809974b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x604e5809974b - 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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   25:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   26:     0x604e580a6db5 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x604e580a6db5 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   31:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   32:     0x604e580a0674 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   33:     0x604e580a0674 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x604e580a9f12 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x604e580a9f12 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x604e580a9f12 - <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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x604e583723d9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   42:     0x604e583723d9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x76b5f831adfa - <unknown>
[INFO] [stdout]   44:     0x76b5f83ae3d4 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache' (4078) panicked at vendor/tokscale-core/src/lib.rs:3503:9:
[INFO] [stdout] assertion failed: message_cache::SourceFingerprint::from_copilot_desktop_path(&db_path).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x604e583733c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x604e583733c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x604e5838a97a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x604e5838a97a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x604e58377dbc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x604e58377dbc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x604e5834b5d6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x604e5834b5d6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x604e58369b19 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x604e580a6460 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x604e580a6460 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x604e58369e42 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x604e58369e42 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x604e5834b6b4 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x604e58343da9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x604e5834c73d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x604e5838b19c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x604e5838b162 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x604e57b5dad0 - tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:3503:9
[INFO] [stdout]   21:     0x604e57f698eb - <tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x604e582b02ee - serial_test[da72df378c5e69f2]::serial_code_lock::local_serial_core
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.5.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   23:     0x604e57ba1b74 - tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:3417:5
[INFO] [stdout]   24:     0x604e57b542c7 - tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:3418:67
[INFO] [stdout]   25:     0x604e57f68f66 - <tokscale_core[9444ca79088c079b]::tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x604e5809974b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x604e5809974b - 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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   28:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   29:     0x604e580a6db5 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   31:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x604e580a6db5 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   34:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   35:     0x604e580a0674 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   36:     0x604e580a0674 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x604e580a9f12 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   40:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x604e580a9f12 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x604e580a9f12 - <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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x604e583723d9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   45:     0x604e583723d9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   46:     0x76b5f831adfa - <unknown>
[INFO] [stdout]   47:     0x76b5f83ae3d4 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_empty_parse_results_are_not_cached_for_optional_file_sources stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_empty_parse_results_are_not_cached_for_optional_file_sources' (4106) panicked at vendor/tokscale-core/src/lib.rs:4595:13:
[INFO] [stdout] assertion failed: first_messages.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x604e583733c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x604e583733c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x604e583733c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x604e5838a97a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x604e5838a97a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x604e58377dbc - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x604e58377dbc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x604e5834b5d6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x604e5834b5d6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x604e58369b19 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x604e580a6460 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x604e580a6460 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x604e58369e42 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x604e58369e42 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x604e5834b6b4 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x604e58343da9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x604e5834c73d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x604e5838b19c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x604e5838b162 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x604e57b6c9b5 - tokscale_core[9444ca79088c079b]::tests::test_empty_parse_results_are_not_cached_for_optional_file_sources::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:4595:13
[INFO] [stdout]   21:     0x604e57f6998b - <tokscale_core[9444ca79088c079b]::tests::test_empty_parse_results_are_not_cached_for_optional_file_sources::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x604e582b02ee - serial_test[da72df378c5e69f2]::serial_code_lock::local_serial_core
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.5.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   23:     0x604e57ba9a94 - tokscale_core[9444ca79088c079b]::tests::test_empty_parse_results_are_not_cached_for_optional_file_sources
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:4565:5
[INFO] [stdout]   24:     0x604e57b54807 - tokscale_core[9444ca79088c079b]::tests::test_empty_parse_results_are_not_cached_for_optional_file_sources::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/vendor/tokscale-core/src/lib.rs:4566:75
[INFO] [stdout]   25:     0x604e57f692e6 - <tokscale_core[9444ca79088c079b]::tests::test_empty_parse_results_are_not_cached_for_optional_file_sources::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x604e5809974b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x604e5809974b - 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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   28:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   29:     0x604e580a6db5 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   31:     0x604e580a6db5 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x604e580a6db5 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   34:     0x604e580a6db5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   35:     0x604e580a0674 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   36:     0x604e580a0674 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   38:     0x604e580a9f12 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   40:     0x604e580a9f12 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x604e580a9f12 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x604e580a9f12 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   43:     0x604e580a9f12 - <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]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x604e583723d9 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   45:     0x604e583723d9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   46:     0x76b5f831adfa - <unknown>
[INFO] [stdout]   47:     0x76b5f83ae3d4 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     sessions::copilot_desktop::tests::session_state_dependency_probe_reports_unreadable_events
[INFO] [stdout]     tests::copilot_desktop_unreadable_event_bypasses_caches_and_pruning
[INFO] [stdout]     tests::copilot_desktop_unreadable_wal_never_reuses_db_only_cache
[INFO] [stdout]     tests::test_empty_parse_results_are_not_cached_for_optional_file_sources
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 815 passed; 4 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.10s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p tokscale-core --lib`
[INFO] running `Command { std: "docker" "inspect" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9", kill_on_drop: false }`
[INFO] [stdout] d0b5cea41d9fe4046e29946f09a08bcd53b515d06458ef40c6ce22490e4584d9
