[INFO] fetching crate llm-budget 0.1.0... [INFO] testing llm-budget-0.1.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate llm-budget 0.1.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate llm-budget 0.1.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate llm-budget 0.1.0 [INFO] tweaked toml for crates.io crate llm-budget 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate llm-budget 0.1.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate llm-budget 0.1.0 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" "+562dee4820c458d823175268e41601d4c060588a" "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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.110 [INFO] [stderr] Downloaded wasm-bindgen v0.2.110 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.110 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.110 [INFO] [stderr] Downloaded bytecheck_derive v0.6.12 [INFO] [stderr] Downloaded tokio-test v0.4.5 [INFO] [stderr] Downloaded bytecheck v0.6.12 [INFO] [stderr] Downloaded dashmap v5.5.3 [INFO] [stderr] Downloaded borsh-derive v1.6.0 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded uuid v1.21.0 [INFO] [stderr] Downloaded js-sys v0.3.87 [INFO] [stderr] Downloaded borsh v1.6.0 [INFO] [stderr] Downloaded rkyv v0.7.46 [INFO] [stderr] Downloaded zerocopy-derive v0.8.39 [INFO] [stderr] Downloaded rust_decimal v1.40.0 [INFO] [stderr] Downloaded ahash v0.7.8 [INFO] [stderr] Downloaded rkyv_derive v0.7.46 [INFO] [stderr] Downloaded tempfile v3.25.0 [INFO] [stderr] Downloaded getrandom v0.4.1 [INFO] [stderr] Downloaded rend v0.4.2 [INFO] [stderr] Downloaded zerocopy v0.8.39 [INFO] [stderr] Downloaded regex-syntax v0.8.9 [INFO] [stderr] Downloaded web-sys v0.3.87 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2e5419a907aa173d561a71e4e82d76bedd5c30ec1ee85280c892fa59dcd4f512 [INFO] running `Command { std: "docker" "start" "-a" "2e5419a907aa173d561a71e4e82d76bedd5c30ec1ee85280c892fa59dcd4f512", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e5419a907aa173d561a71e4e82d76bedd5c30ec1ee85280c892fa59dcd4f512", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e5419a907aa173d561a71e4e82d76bedd5c30ec1ee85280c892fa59dcd4f512", kill_on_drop: false }` [INFO] [stdout] 2e5419a907aa173d561a71e4e82d76bedd5c30ec1ee85280c892fa59dcd4f512 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00280f397026e63b2b223c30bed7652148dc5d1c0b71212062a3eefde0de8326 [INFO] running `Command { std: "docker" "start" "-a" "00280f397026e63b2b223c30bed7652148dc5d1c0b71212062a3eefde0de8326", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rust_decimal v1.40.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling llm-budget v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.10s [INFO] running `Command { std: "docker" "inspect" "00280f397026e63b2b223c30bed7652148dc5d1c0b71212062a3eefde0de8326", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00280f397026e63b2b223c30bed7652148dc5d1c0b71212062a3eefde0de8326", kill_on_drop: false }` [INFO] [stdout] 00280f397026e63b2b223c30bed7652148dc5d1c0b71212062a3eefde0de8326 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7c94077d9273e322a51c52e9ded9fc75d81ac9c4f9320f3c1cf05be71fc92d14 [INFO] running `Command { std: "docker" "start" "-a" "7c94077d9273e322a51c52e9ded9fc75d81ac9c4f9320f3c1cf05be71fc92d14", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling rust_decimal v1.40.0 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling llm-budget v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `FleetAllocator` [INFO] [stdout] --> tests/extended.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use llm_budget::fleet::{FleetAllocator, FleetBudget}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 39.29s [INFO] running `Command { std: "docker" "inspect" "7c94077d9273e322a51c52e9ded9fc75d81ac9c4f9320f3c1cf05be71fc92d14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c94077d9273e322a51c52e9ded9fc75d81ac9c4f9320f3c1cf05be71fc92d14", kill_on_drop: false }` [INFO] [stdout] 7c94077d9273e322a51c52e9ded9fc75d81ac9c4f9320f3c1cf05be71fc92d14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] add150486056c9888d1f610eabc895d21b456fdc24694de090fc869ab045ad8e [INFO] running `Command { std: "docker" "start" "-a" "add150486056c9888d1f610eabc895d21b456fdc24694de090fc869ab045ad8e", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `FleetAllocator` [INFO] [stderr] --> tests/extended.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use llm_budget::fleet::{FleetAllocator, FleetBudget}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `llm-budget` (test "extended") generated 1 warning (run `cargo fix --test "extended" -p llm-budget` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llm_budget-dc4e81f73c4c670e) [INFO] [stdout] [INFO] [stdout] running 67 tests [INFO] [stdout] test budget::tests::test_atomic_budget_charge_exactly_at_limit ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_charge_within_limit ... ok [INFO] [stdout] test budget::tests::test_agent_budget_kill_prevents_charges ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_new_rejects_zero_limit ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_remaining_decreases_with_charges ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_charge_over_limit_rejected_and_rolled_back ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_utilization ... ok [INFO] [stdout] test budget::tests::test_envelope_task_scope_returns_task_exhausted ... ok [INFO] [stdout] test budget::tests::test_envelope_kill_switch_rejects_all_charges ... ok [INFO] [stdout] test budget::tests::test_envelope_charge_over_limit_returns_agent_exhausted ... ok [INFO] [stdout] test budget::tests::test_envelope_charge_within_limit_succeeds ... ok [INFO] [stdout] test budget::tests::test_agent_budget_charge_zero_cost_local_tier ... ok [INFO] [stdout] test budget::tests::test_scope_kind_is_copy ... ok [INFO] [stdout] test error::tests::test_agent_exhausted_display_contains_agent_id ... ok [INFO] [stdout] test error::tests::test_budget_error_is_clone ... ok [INFO] [stdout] test budget::tests::test_agent_budget_snapshot_fields ... ok [INFO] [stdout] test error::tests::test_budget_error_is_partial_eq ... ok [INFO] [stdout] test error::tests::test_allocation_failed_display ... ok [INFO] [stdout] test budget::tests::test_agent_budget_charge_triggers_cascade ... ok [INFO] [stdout] test budget::tests::test_envelope_audit_log_records_charges ... ok [INFO] [stdout] test error::tests::test_model_downgraded_display ... ok [INFO] [stdout] test error::tests::test_no_fallback_display ... ok [INFO] [stdout] test error::tests::test_persistence_error_display ... ok [INFO] [stdout] test error::tests::test_session_exhausted_display ... ok [INFO] [stdout] test error::tests::test_reallocation_failed_display ... ok [INFO] [stdout] test error::tests::test_kill_switch_display ... ok [INFO] [stdout] test error::tests::test_task_exhausted_display ... ok [INFO] [stdout] test fleet::tests::test_fleet_allocator_charge_registered_agent ... ok [INFO] [stdout] test error::tests::test_unknown_agent_display ... ok [INFO] [stdout] test fleet::tests::test_fleet_allocator_charge_unknown_agent_fails ... ok [INFO] [stdout] test error::tests::test_invalid_config_display ... ok [INFO] [stdout] test fleet::tests::test_fleet_allocator_register_agent ... ok [INFO] [stdout] test fleet::tests::test_fleet_allocator_new_invalid_config ... ok [INFO] [stdout] test fleet::tests::test_fleet_budget_allocate_over_limit_rejected ... ok [INFO] [stdout] test fleet::tests::test_fleet_allocator_register_over_budget_fails ... ok [INFO] [stdout] test fleet::tests::test_fleet_budget_exhausted_when_fully_allocated ... ok [INFO] [stdout] test fleet::tests::test_fleet_budget_rejects_zero_limit ... ok [INFO] [stdout] test model::tests::test_cost_per_1k_decreases_by_tier ... ok [INFO] [stdout] test model::tests::test_downgrade_economy_to_local ... ok [INFO] [stdout] test fleet::tests::test_fleet_kill_all_blocks_all_agents ... ok [INFO] [stdout] test model::tests::test_cascade_evaluate_no_downgrade_when_above_threshold ... ok [INFO] [stdout] test fleet::tests::test_reallocate_fails_for_unknown_dest ... ok [INFO] [stdout] test model::tests::test_cascade_force_downgrade_chain ... ok [INFO] [stdout] test fleet::tests::test_fleet_budget_allocate_within_limit ... ok [INFO] [stdout] test fleet::tests::test_kill_specific_agent ... ok [INFO] [stdout] test model::tests::test_downgrade_standard_to_economy ... ok [INFO] [stdout] test model::tests::test_cascade_new_invalid_budget ... ok [INFO] [stdout] test model::tests::test_cascade_local_cannot_downgrade ... ok [INFO] [stdout] test model::tests::test_cascade_new_invalid_threshold ... ok [INFO] [stdout] test model::tests::test_downgrade_local_returns_none ... ok [INFO] [stdout] test model::tests::test_downgrade_premium_to_standard ... ok [INFO] [stdout] test model::tests::test_estimate_cost_local_is_zero ... ok [INFO] [stdout] test model::tests::test_cascade_evaluate_triggers_downgrade_when_below_threshold ... ok [INFO] [stdout] test model::tests::test_model_tier_ordering ... ok [INFO] [stdout] test model::tests::test_estimate_cost_premium_nonzero ... ok [INFO] [stdout] test fleet::tests::test_kill_unknown_agent_returns_error ... ok [INFO] [stdout] test budget::tests::test_atomic_budget_concurrent_charges_safe ... ok [INFO] [stdout] test model::tests::test_model_tier_serde_roundtrip ... ok [INFO] [stdout] test fleet::tests::test_fleet_snapshot_contains_all_agents ... ok [INFO] [stdout] test persistence::tests::test_budget_store_load_missing_returns_error ... ok [INFO] [stdout] test persistence::tests::test_budget_store_save_and_load ... ok [INFO] [stdout] test persistence::tests::test_budget_store_list_sessions ... ok [INFO] [stdout] test persistence::tests::test_budget_store_cache_hit_avoids_disk_read ... ok [INFO] [stdout] test persistence::tests::test_budget_store_multiple_snapshots_per_session ... ok [INFO] [stdout] test persistence::tests::test_budget_store_delete_removes_session ... ok [INFO] [stdout] test persistence::tests::test_budget_store_overwrite_session ... ok [INFO] [stdout] test error::tests::test_fleet_exhausted_display ... ok [INFO] [stderr] Running tests/extended.rs (/opt/rustwide/target/debug/deps/extended-c7fc5db32f90847a) [INFO] [stdout] [INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 40 tests [INFO] [stdout] test test_atomic_budget_utilization ... ok [INFO] [stdout] test test_agent_budget_remaining_decreases_after_charge ... ok [INFO] [stdout] test test_agent_budget_snapshot_utilization_between_0_and_1 ... ok [INFO] [stdout] test test_budget_envelope_kill_blocks_charge ... ok [INFO] [stdout] test test_budget_envelope_task_scope ... ok [INFO] [stdout] test test_cascade_at_local_no_further_downgrade ... ok [INFO] [stdout] test test_cascade_force_downgrade_chain ... ok [INFO] [stdout] test test_cascade_evaluate_no_downgrade_when_budget_ample ... ok [INFO] [stdout] test test_cascade_invalid_budget_zero_rejected ... ok [INFO] [stdout] test test_cascade_invalid_threshold_above_1_rejected ... ok [INFO] [stdout] test test_cascade_evaluate_downgrades_when_under_threshold ... ok [INFO] [stdout] test test_cascade_invalid_threshold_negative_rejected ... ok [INFO] [stdout] test test_error_agent_exhausted_display ... ok [INFO] [stdout] test test_error_equality ... ok [INFO] [stdout] test test_error_invalid_config_display ... ok [INFO] [stdout] test test_error_kill_switch_display ... ok [INFO] [stdout] test test_error_persistence_display ... ok [INFO] [stdout] test test_error_reallocation_failed_display ... ok [INFO] [stdout] test test_error_task_exhausted_display ... ok [INFO] [stdout] test test_error_unknown_agent_display ... ok [INFO] [stdout] test test_error_session_exhausted_display ... ok [INFO] [stdout] test test_fleet_budget_record_spend_accumulates ... ok [INFO] [stdout] test test_model_tier_estimate_cost_zero_tokens ... ok [INFO] [stdout] test test_model_tier_local_always_zero_cost ... ok [INFO] [stdout] test test_model_tier_premium_most_expensive ... ok [INFO] [stdout] test test_model_tier_serde_all_variants ... ok [INFO] [stdout] test test_fleet_budget_micro_dollar_precision ... ok [INFO] [stdout] test test_fleet_budget_allocated_tracks_allocations ... ok [INFO] [stdout] test test_budget_envelope_session_scope ... ok [INFO] [stdout] test test_error_allocation_failed_display ... ok [INFO] [stdout] test test_error_model_downgraded_display ... ok [INFO] [stdout] test test_atomic_budget_zero_limit_rejected ... ok [INFO] [stdout] test test_error_fleet_exhausted_display ... ok [INFO] [stdout] test test_fleet_budget_total_limit_accessor ... ok [INFO] [stdout] test test_budget_envelope_audit_log_grows ... ok [INFO] [stdout] test test_persistence_load_nonexistent_is_error ... ok [INFO] [stdout] test test_atomic_budget_concurrent_charges_total_correct ... ok [INFO] [stdout] test test_persistence_overwrite_reads_latest_from_disk ... ok [INFO] [stdout] test test_atomic_budget_over_limit_rejected_and_rolled_back ... ok [INFO] [stdout] test test_atomic_budget_remaining_tracks_spend ... ok [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-e210cb0e30616829) [INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests llm_budget [INFO] [stdout] running 13 tests [INFO] [stdout] test test_agent_budget_charge_and_snapshot ... ok [INFO] [stdout] test test_agent_budget_exhausted_after_overspend ... ok [INFO] [stdout] test test_agent_budget_snapshot_reflects_kill ... ok [INFO] [stdout] test test_agent_kill_switch_blocks_subsequent_charges ... ok [INFO] [stdout] test test_fleet_register_exceeds_budget_fails ... ok [INFO] [stdout] test test_fleet_reallocate_unknown_dest_fails ... ok [INFO] [stdout] test test_fleet_kill_all_prevents_charges ... ok [INFO] [stdout] test test_fleet_register_multiple_agents_within_budget ... ok [INFO] [stdout] test test_fleet_snapshot_all_agents ... ok [INFO] [stdout] test test_persistence_save_then_reload_from_disk ... ok [INFO] [stdout] test test_persistence_delete_removes_from_disk_and_cache ... ok [INFO] [stdout] test test_fleet_charge_multiple_agents ... ok [INFO] [stdout] test test_persistence_list_sessions ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "add150486056c9888d1f610eabc895d21b456fdc24694de090fc869ab045ad8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "add150486056c9888d1f610eabc895d21b456fdc24694de090fc869ab045ad8e", kill_on_drop: false }` [INFO] [stdout] add150486056c9888d1f610eabc895d21b456fdc24694de090fc869ab045ad8e