[INFO] cloning repository https://github.com/modular-agent/mak-llm-agents
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/modular-agent/mak-llm-agents" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmodular-agent%2Fmak-llm-agents", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmodular-agent%2Fmak-llm-agents'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 919b5f45c2c6b050a1e15ca1c12c1c84e35b130d
[INFO] testing modular-agent/mak-llm-agents against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmodular-agent%2Fmak-llm-agents" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/modular-agent/mak-llm-agents
[INFO] finished tweaking git repo https://github.com/modular-agent/mak-llm-agents
[INFO] tweaked toml for git repo https://github.com/modular-agent/mak-llm-agents written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/modular-agent/mak-llm-agents on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 391 packages to latest Rust 1.98.0-beta.8 compatible versions
[INFO] [stderr]       Adding modular-agent-core v0.25.0 (available: v0.30.0)
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.4)
[INFO] [stderr]       Adding text-splitter v0.29.3 (available: v0.32.0)
[INFO] [stderr]       Adding tokenizers v0.22.2 (available: v0.23.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.26.0
[INFO] [stderr]   Downloaded futures-macro v0.3.34
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.2.3
[INFO] [stderr]   Downloaded tokio-stream v0.1.19
[INFO] [stderr]   Downloaded unit-prefix v0.5.2
[INFO] [stderr]   Downloaded monostate v0.1.18
[INFO] [stderr]   Downloaded monostate-impl v0.1.18
[INFO] [stderr]   Downloaded rayon-cond v0.4.0
[INFO] [stderr]   Downloaded macro_rules_attribute v0.2.3
[INFO] [stderr]   Downloaded onig v6.5.3
[INFO] [stderr]   Downloaded pastey v0.2.3
[INFO] [stderr]   Downloaded console v0.16.4
[INFO] [stderr]   Downloaded hf-hub v0.4.3
[INFO] [stderr]   Downloaded socks v0.3.4
[INFO] [stderr]   Downloaded unicode-normalization-alignments v0.1.12
[INFO] [stderr]   Downloaded tokenizers v0.22.2
[INFO] [stderr]   Downloaded indicatif v0.18.6
[INFO] [stderr]   Downloaded spm_precompiled v0.1.4
[INFO] [stderr]   Downloaded libredox v0.1.23
[INFO] [stderr]   Downloaded onig_sys v69.9.3
[INFO] [stderr]   Downloaded esaxx-rs v0.1.10
[INFO] [stderr]   Downloaded dary_heap v0.3.9
[INFO] [stderr]   Downloaded text-splitter v0.29.3
[INFO] [stderr]   Downloaded icu_locale_fallback_data v2.3.0
[INFO] [stderr]   Downloaded core_maths v0.1.1
[INFO] [stderr]   Downloaded derive_utils v0.16.0
[INFO] [stderr]   Downloaded icu_locale_fallback v2.3.0
[INFO] [stderr]   Downloaded auto_enums v0.8.10
[INFO] [stderr]   Downloaded icu_segmenter_data v2.3.0
[INFO] [stderr]   Downloaded photon-rs v0.3.3
[INFO] [stderr]   Downloaded rusttype v0.9.3
[INFO] [stderr]   Downloaded icu_segmenter v2.3.0
[INFO] [stderr]   Downloaded owned_ttf_parser v0.15.2
[INFO] [stderr]   Downloaded ttf-parser v0.15.2
[INFO] [stderr]   Downloaded perlin2d v0.2.6
[INFO] [stderr]   Downloaded palette v0.6.1
[INFO] [stderr]   Downloaded palette_derive v0.6.1
[INFO] [stderr]   Downloaded find-crate v0.6.3
[INFO] [stderr]   Downloaded node-sys v0.4.2
[INFO] [stderr]   Downloaded matrixmultiply v0.3.11
[INFO] [stderr]   Downloaded rand_distr v0.2.2
[INFO] [stderr]   Downloaded num-iter v0.1.46
[INFO] [stderr]   Downloaded simba v0.7.3
[INFO] [stderr]   Downloaded wide v0.7.33
[INFO] [stderr]   Downloaded bytemuck v1.25.2
[INFO] [stderr]   Downloaded safe_arch v0.7.4
[INFO] [stderr]   Downloaded nalgebra v0.30.1
[INFO] [stderr]   Downloaded custom_derive v0.1.7
[INFO] [stderr]   Downloaded conv v0.3.3
[INFO] [stderr]   Downloaded gif v0.13.3
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.2
[INFO] [stderr]   Downloaded imageproc v0.23.1
[INFO] [stderr]   Downloaded rmcp v0.13.0
[INFO] [stderr]   Downloaded modular-agent-core v0.25.0
[INFO] [stderr]   Downloaded schemars_derive v1.2.2
[INFO] [stderr]   Downloaded serde_derive_internals v0.30.0
[INFO] [stderr]   Downloaded rmcp-macros v0.13.0
[INFO] [stderr]   Downloaded windows-future v0.3.2
[INFO] [stderr]   Downloaded process-wrap v9.1.0
[INFO] [stderr]   Downloaded windows-numerics v0.3.1
[INFO] [stderr]   Downloaded windows-threading v0.2.1
[INFO] [stderr]   Downloaded windows-collections v0.3.2
[INFO] [stderr]   Downloaded futures v0.3.34
[INFO] [stderr]   Downloaded futures-executor v0.3.34
[INFO] [stderr]   Downloaded modular-agent-macros v0.25.0
[INFO] [stderr]   Downloaded windows v0.62.2
[INFO] [stderr]   Downloaded unicode-general-category v1.1.0
[INFO] [stderr]   Downloaded jsonschema v0.48.5
[INFO] [stderr]   Downloaded micromap v0.3.0
[INFO] [stderr]   Downloaded fluent-uri v0.4.1
[INFO] [stderr]   Downloaded referencing v0.48.5
[INFO] [stderr]   Downloaded jsonschema-regex v0.48.5
[INFO] [stderr]   Downloaded jsonschema-value v0.48.5
[INFO] [stderr]   Downloaded fancy-regex v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09
[INFO] running `Command { std: "docker" "start" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", 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" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", 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" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling smallvec v1.16.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.34
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.127
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.3
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling num-integer v0.1.47
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.127
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.127
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling ref-cast v1.0.27
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.127
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.27
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling portable-atomic v1.15.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling rand v0.8.8
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.11
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling ttf-parser v0.15.2
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling icu_locale_fallback_data v2.3.0
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling bitmaps v2.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling owned_ttf_parser v0.15.2
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling js-sys v0.3.104
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling socks v0.3.4
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling custom_derive v0.1.7
[INFO] [stderr]    Compiling icu_segmenter_data v2.3.0
[INFO] [stderr]    Compiling palette v0.6.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling rusttype v0.9.3
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling nalgebra v0.30.1
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling palette_derive v0.6.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]    Compiling web-sys v0.3.104
[INFO] [stderr]    Compiling conv v0.3.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling rand_distr v0.2.2
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling sized-chunks v0.6.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling indexmap v2.14.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling rmcp v0.13.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.3
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling node-sys v0.4.2
[INFO] [stderr]    Compiling referencing v0.48.5
[INFO] [stderr]    Compiling jsonschema-value v0.48.5
[INFO] [stderr]    Compiling rayon-cond v0.4.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling macro_rules_attribute v0.2.3
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling imageproc v0.23.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling spm_precompiled v0.1.4
[INFO] [stderr]    Compiling indicatif v0.18.6
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling monostate v0.1.18
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling process-wrap v9.1.0
[INFO] [stderr]    Compiling core_maths v0.1.1
[INFO] [stderr]    Compiling rmcp-macros v0.13.0
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling hf-hub v0.4.3
[INFO] [stderr]    Compiling icu_locale_fallback v2.3.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling fancy-regex v0.18.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling jsonschema-regex v0.48.5
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling dary_heap v0.3.9
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling derive_utils v0.16.0
[INFO] [stderr]    Compiling unicode-normalization-alignments v0.1.12
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling perlin2d v0.2.6
[INFO] [stderr]    Compiling auto_enums v0.8.10
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling tokenizers v0.22.2
[INFO] [stderr]    Compiling jsonschema v0.48.5
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling uuid v1.26.0
[INFO] [stderr]    Compiling icu_segmenter v2.3.0
[INFO] [stderr]    Compiling modular-agent-macros v0.25.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling inventory v0.3.24
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling text-splitter v0.29.3
[INFO] [stderr]    Compiling photon-rs v0.3.3
[INFO] [stderr]    Compiling modular-agent-core v0.25.0
[INFO] [stderr]    Compiling modular-agent-llm v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 11m 04s
[INFO] running `Command { std: "docker" "inspect" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", 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" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tokenizers v0.22.2
[INFO] [stderr]    Compiling process-wrap v9.1.0
[INFO] [stderr]    Compiling rmcp v0.13.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling text-splitter v0.29.3
[INFO] [stderr]    Compiling modular-agent-core v0.25.0
[INFO] [stderr]    Compiling modular-agent-llm v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 46s
[INFO] running `Command { std: "docker" "inspect" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", 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" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/modular_agent_llm-69813aad12a7584b)
[INFO] [stdout] 
[INFO] [stdout] running 328 tests
[INFO] [stdout] test capabilities::tests::builtin_cache_rates ... ok
[INFO] [stdout] test capabilities::tests::clamp_above_limit ... ok
[INFO] [stdout] test capabilities::tests::clamp_below_limit_kept ... ok
[INFO] [stdout] test capabilities::tests::clamp_saturates_above_u32 ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_exact_match ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_off_stays_off ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_rounds_down_to_nearest ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_rounds_up_to_nearest ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_tie_prefers_lower_level ... ok
[INFO] [stdout] test capabilities::tests::clamp_thinking_unsupported_model_is_off ... ok
[INFO] [stdout] test capabilities::tests::clamp_unknown_model_not_clamped ... ok
[INFO] [stdout] test capabilities::tests::clamp_unset_returns_none ... ok
[INFO] [stdout] test capabilities::tests::extract_capability_variants ... ok
[INFO] [stdout] test capabilities::tests::extract_context_length_variants ... ok
[INFO] [stdout] test capabilities::tests::load_missing_file_is_io_error ... ok
[INFO] [stdout] test capabilities::tests::load_replaces_previous_entries ... ok
[INFO] [stdout] test capabilities::tests::ollama_user_json_beats_measured ... ok
[INFO] [stdout] test capabilities::tests::ollama_user_json_beats_probed_vision ... ok
[INFO] [stdout] test capabilities::tests::merge_user_partial_overrides_builtin ... ok
[INFO] [stdout] test capabilities::tests::parse_cost_with_cache_rates ... ok
[INFO] [stdout] test capabilities::tests::merge_user_short_prefix_beats_longer_builtin ... ok
[INFO] [stdout] test capabilities::tests::ollama_measured_context_used ... ok
[INFO] [stdout] test capabilities::tests::ollama_probed_no_thinking_stays_off ... ok
[INFO] [stdout] test capabilities::tests::merge_user_entry_for_unknown_model ... ok
[INFO] [stdout] test capabilities::tests::ollama_probed_no_vision_enables_image_demotion ... ok
[INFO] [stdout] test capabilities::tests::parse_unknown_field_is_error ... ok
[INFO] [stdout] test capabilities::tests::ollama_probed_thinking_enables_levels ... ok
[INFO] [stdout] test capabilities::tests::parse_invalid_json_is_error ... ok
[INFO] [stdout] test capabilities::tests::prefix_match_exact ... ok
[INFO] [stdout] test capabilities::tests::parse_valid_json ... ok
[INFO] [stdout] test capabilities::tests::prefix_match_provider_scoped ... ok
[INFO] [stdout] test capabilities::tests::prefix_match_snapshot_suffix ... ok
[INFO] [stdout] test capabilities::tests::prefix_match_longest_wins ... ok
[INFO] [stdout] test capabilities::tests::thinking_level_parse_values ... ok
[INFO] [stdout] test capabilities::tests::thinking_level_serde_roundtrip ... ok
[INFO] [stdout] test capabilities::tests::unknown_model_falls_back_to_default ... ok
[INFO] [stdout] test chat::tests::claude_adaptive_thinking_sets_effort ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_adds_budget_and_suppresses_sampling ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_budget_always_below_max_tokens ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_reclamps_to_model_limit ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_shrinks_budget_below_small_model_limit ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_unknown_limit_not_clamped ... ok
[INFO] [stdout] test chat::tests::claude_budget_thinking_degrades_to_off_when_no_budget_room ... ok
[INFO] [stdout] test chat::tests::claude_stream_cancel_emits_same_id_aborted_final ... ok
[INFO] [stdout] test chat::tests::claude_thinking_off_leaves_request_unchanged ... ok
[INFO] [stdout] test chat::tests::ollama_thinking_off_by_default ... ok
[INFO] [stdout] test chat::tests::ollama_stream_done_reason_lands_on_final_message ... ok
[INFO] [stdout] test chat::tests::openai_stream_error_emits_same_id_error_final ... ok
[INFO] [stdout] test chat::tests::claude_stream_stop_reason_lands_on_final_message ... ok
[INFO] [stdout] test chat::tests::ollama_stream_cancel_emits_same_id_aborted_final ... ok
[INFO] [stdout] test chat::tests::openai_thinking_off_by_default ... ok
[INFO] [stdout] test chat::tests::ollama_thinking_sets_think_flag ... ok
[INFO] [stdout] test chat::tests::openai_thinking_sets_reasoning_effort ... ok
[INFO] [stdout] test chat::tests::openai_stream_cancel_emits_same_id_aborted_final ... ok
[INFO] [stdout] test chat::tests::stream_error_final_marks_cancellation_as_aborted ... ok
[INFO] [stdout] test chat::tests::claude_stream_emits_typed_event_sequence ... ok
[INFO] [stdout] test chat::tests::stream_error_final_marks_error_and_strips_tool_calls ... ok
[INFO] [stdout] test chat::tests::stream_error_final_skips_already_finalized_turn ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_long_ttl ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_marks_tool_result_tail ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_multi_turn_without_tools ... ok
[INFO] [stdout] test chat::tests::ollama_stream_emits_typed_event_sequence ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_none_no_markers ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_short_marker_placement ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_single_shot_guard ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_tools_override_guard ... ok
[INFO] [stdout] test chat::tests::openai_stream_finish_reason_lands_on_final_message ... ok
[INFO] [stdout] test claude_client::tests::test_build_assistant_content_replays_thinking_blocks ... ok
[INFO] [stdout] test claude_client::tests::test_build_assistant_content_skips_unsigned_thinking ... ok
[INFO] [stdout] test claude_client::tests::test_build_user_content_image_blocks_in_order ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error_context_overflow ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error_overloaded ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error_quota_exhausted_not_retryable ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error_rate_limit_wording_excluded_from_overflow ... ok
[INFO] [stdout] test claude_client::tests::test_map_http_error_rate_limited ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_max_tokens ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_populates_usage ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_redacted_thinking ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_text ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_thinking ... ok
[INFO] [stdout] test claude_client::tests::test_message_from_claude_response_tool_use ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_assistant_with_tool_calls ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_no_system ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_multiple_system ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_system_separation ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result_is_error_serializes ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result_no_error_omits_key ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result_text_stays_string ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result_no_id ... ok
[INFO] [stdout] test claude_client::tests::test_normalize_stop_reason ... ok
[INFO] [stdout] test claude_client::tests::test_parse_base64_image_gif ... ok
[INFO] [stdout] test claude_client::tests::test_parse_base64_image_invalid ... ok
[INFO] [stdout] test claude_client::tests::test_parse_base64_image_jpeg ... ok
[INFO] [stdout] test claude_client::tests::test_parse_base64_image_png ... ok
[INFO] [stdout] test claude_client::tests::test_serde_request_skips_none ... ok
[INFO] [stdout] test claude_client::tests::test_messages_to_claude_tool_result_block_content ... ok
[INFO] [stdout] test claude_client::tests::test_serde_response_parse ... ok
[INFO] [stdout] test claude_client::tests::test_serde_message_start_carries_usage ... ok
[INFO] [stdout] test chat::tests::openai_stream_suppresses_partials_when_config_disabled ... ok
[INFO] [stdout] test claude_client::tests::test_serde_roundtrip_request ... ok
[INFO] [stdout] test claude_client::tests::test_serde_stream_event_content_block_start ... ok
[INFO] [stdout] test claude_client::tests::test_serde_stream_event_input_json_delta ... ok
[INFO] [stdout] test claude_client::tests::test_serde_stream_event_text_delta ... ok
[INFO] [stdout] test claude_client::tests::test_apply_cache_control_converts_final_user_text_to_blocks ... ok
[INFO] [stdout] test claude_client::tests::test_serde_usage_with_cache_fields ... ok
[INFO] [stdout] test claude_client::tests::test_serde_stream_event_error ... ok
[INFO] [stdout] test claude_client::tests::test_parse_base64_image_webp ... ok
[INFO] [stdout] test claude_client::tests::test_serde_message_delta_usage_output_only ... ok
[INFO] [stdout] test chat::tests::openai_stream_emits_typed_event_sequence ... ok
[INFO] [stdout] test claude_client::tests::test_strip_thinking_blocks_thinking_only_becomes_empty_text ... ok
[INFO] [stdout] test claude_client::tests::test_serde_stream_event_thinking_delta ... ok
[INFO] [stdout] test claude_client::tests::test_strip_thinking_blocks_degrades_to_replayable_content ... ok
[INFO] [stdout] test claude_client::tests::test_tool_info_to_claude_tool ... ok
[INFO] [stdout] test claude_client::tests::test_tool_info_to_claude_tool_no_params ... ok
[INFO] [stdout] test compact::tests::render_transcript_marks_image_tool_results ... ok
[INFO] [stdout] test compact::tests::test_build_summary_prompt_update_mode_and_instructions ... ok
[INFO] [stdout] test compact::tests::test_cut_always_keeps_last_message_and_drops_at_least_one ... ok
[INFO] [stdout] test compact::tests::test_cut_keeps_assistant_tool_pair_together ... ok
[INFO] [stdout] test compact::tests::test_cut_never_starts_kept_tail_at_tool_result ... ok
[INFO] [stdout] test compact::tests::test_cut_none_when_no_valid_cut_exists ... ok
[INFO] [stdout] test compact::tests::test_cut_prefers_user_boundary_over_assistant ... ok
[INFO] [stdout] test compact::tests::test_cut_respects_start_after_previous_summary ... ok
[INFO] [stdout] test compact::tests::test_cut_user_preference_bounded_backward ... ok
[INFO] [stdout] test compact::tests::test_cut_user_preference_bounded_forward ... ok
[INFO] [stdout] test compact::tests::test_dropped_count_excludes_previous_summary ... ok
[INFO] [stdout] test compact::tests::test_dropped_count_without_previous_summary ... ok
[INFO] [stdout] test compact::tests::test_should_compact_threshold ... ok
[INFO] [stdout] test compact::tests::test_split_previous_summary ... ok
[INFO] [stdout] test http_error::tests::test_mentions_quota_exhausted ... ok
[INFO] [stdout] test http_error::tests::test_mentions_rate_limit ... ok
[INFO] [stdout] test http_error::tests::test_parse_retry_after_http_date_is_none ... ok
[INFO] [stdout] test http_error::tests::test_parse_retry_after_invalid_value_is_none ... ok
[INFO] [stdout] test http_error::tests::test_parse_retry_after_integer_seconds ... ok
[INFO] [stdout] test http_error::tests::test_parse_retry_after_missing ... ok
[INFO] [stdout] test json_repair::tests::test_escaped_backslash_edge_cases ... ok
[INFO] [stdout] test http_error::tests::test_parse_retry_after_with_whitespace ... ok
[INFO] [stdout] test json_repair::tests::test_invalid_escape_repaired ... ok
[INFO] [stdout] test json_repair::tests::test_invalid_unicode_escape_backslash_doubled ... ok
[INFO] [stdout] test json_repair::tests::test_parse_tool_arguments_empty_is_no_arg_call ... ok
[INFO] [stdout] test json_repair::tests::test_parse_tool_arguments_failure_truncates_raw ... ok
[INFO] [stdout] test json_repair::tests::test_parse_tool_arguments_rejects_non_object_json ... ok
[INFO] [stdout] test json_repair::tests::test_plain_prose_is_err ... ok
[INFO] [stdout] test json_repair::tests::test_raw_control_chars_in_string_repaired ... ok
[INFO] [stdout] test json_repair::tests::test_truncated_object_is_err ... ok
[INFO] [stdout] test json_repair::tests::test_valid_json_passes_strict ... ok
[INFO] [stdout] test message::tests::messages_agent_compaction_dropped_beyond_history_discards_record ... ok
[INFO] [stdout] test message::tests::messages_agent_discards_oversized_first_compaction_record ... ok
[INFO] [stdout] test message::tests::messages_agent_compaction_resolves_pseudo_summary_head ... ok
[INFO] [stdout] test message::tests::messages_agent_discards_stale_compaction_records ... ok
[INFO] [stdout] test message::tests::messages_agent_invalid_compaction_record_errors ... ok
[INFO] [stdout] test message::tests::messages_agent_migrates_stale_messages_config_once ... ok
[INFO] [stdout] test message::tests::messages_agent_persists_only_finalized_messages ... ok
[INFO] [stdout] test message::tests::messages_agent_reset_starts_new_session_and_keeps_old_one ... ok
[INFO] [stdout] test message::tests::messages_agent_unit_outputs_context_and_array_appends_in_order ... ok
[INFO] [stdout] test message::tests::messages_agent_resumes_existing_session ... ok
[INFO] [stdout] test message::tests::messages_for_prompt_max_size_counts_image_blocks ... ok
[INFO] [stdout] test message::tests::messages_for_prompt_max_tokens_first_message_is_user ... ok
[INFO] [stdout] test message::tests::test_add_message ... ok
[INFO] [stdout] test message::tests::test_strip_unsigned_thinking_flattens_to_text ... ok
[INFO] [stdout] test message::tests::test_strip_unsigned_thinking_keeps_signed_and_redacted_blocks ... ok
[INFO] [stdout] test message::tests::test_strip_unsigned_thinking_none_when_nothing_to_strip ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error_context_overflow ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error_overloaded ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error_quota_exhausted_not_retryable ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error_rate_limit_wording_excluded_from_overflow ... ok
[INFO] [stdout] test message::tests::messages_for_prompt_max_tokens_takes_precedence_over_max_size ... ok
[INFO] [stdout] test ollama_client::tests::test_map_http_error_rate_limited ... ok
[INFO] [stdout] test ollama_client::tests::test_merge_options_empty ... ok
[INFO] [stdout] test ollama_client::tests::test_merge_options_nests_under_options_key ... ok
[INFO] [stdout] test ollama_client::tests::test_message_from_ollama_text ... ok
[INFO] [stdout] test message::tests::messages_for_prompt_max_tokens_keeps_newest_and_system ... ok
[INFO] [stdout] test ollama_client::tests::test_message_from_ollama_with_thinking ... ok
[INFO] [stdout] test ollama_client::tests::test_message_from_ollama_with_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_assistant_with_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_assistant_without_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_image_blocks ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_tool_result ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_tool_result_blocks_fallback ... ok
[INFO] [stdout] test ollama_client::tests::test_message_to_ollama_user_no_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_normalize_done_reason ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_chat_response ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_chat_response_done_reason ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_chat_response_stream_chunk ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_chat_response_with_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_embed_response ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_generate_response ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_generate_response_no_context ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_tool_call_with_parameters_alias ... ok
[INFO] [stdout] test ollama_client::tests::test_tool_info_to_ollama ... ok
[INFO] [stdout] test ollama_client::tests::test_serde_list_models_response ... ok
[INFO] [stdout] test ollama_client::tests::test_tool_info_to_ollama_no_params ... ok
[INFO] [stdout] test ollama_client::tests::test_usage_from_ollama_none_without_counts ... ok
[INFO] [stdout] test openai_client::tests::test_chat_completion_assistant_with_tool_calls ... ok
[INFO] [stdout] test ollama_client::tests::test_usage_from_ollama_maps_eval_counts ... ok
[INFO] [stdout] test openai_client::tests::test_accumulate_interleaved_tool_calls ... ok
[INFO] [stdout] test openai_client::tests::test_chat_completion_assistant_without_tool_calls ... ok
[INFO] [stdout] test openai_client::tests::test_finalize_empty_args_is_no_arg_call ... ok
[INFO] [stdout] test openai_client::tests::test_finalize_unparseable_args_sets_parse_error ... ok
[INFO] [stdout] test openai_client::tests::test_chat_completion_tool_result ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error_overloaded ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error_context_overflow ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error_quota_exhausted_not_retryable ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error_rate_limited ... ok
[INFO] [stdout] test openai_client::tests::test_map_http_error_rate_limit_wording_excluded_from_overflow ... ok
[INFO] [stdout] test openai_client::tests::test_merge_options_inserts_and_null_removes_key ... ok
[INFO] [stdout] test openai_client::tests::test_message_from_chat_response_text ... ok
[INFO] [stdout] test openai_client::tests::test_message_from_chat_response_tool_use ... ok
[INFO] [stdout] test openai_client::tests::test_message_from_chat_response_refusal ... ok
[INFO] [stdout] test openai_client::tests::test_message_to_chat_json_tool_result_blocks_fallback ... ok
[INFO] [stdout] test openai_client::tests::test_message_to_chat_json_tool_result_text_unchanged ... ok
[INFO] [stdout] test openai_client::tests::test_message_to_chat_json_user_image_blocks ... ok
[INFO] [stdout] test openai_client::tests::test_normalize_finish_reason ... ok
[INFO] [stdout] test openai_client::tests::test_prompt_cache_key_clamped_to_64_chars ... ok
[INFO] [stdout] test openai_client::tests::test_prompt_cache_key_clamps_on_char_boundary ... ok
[INFO] [stdout] test openai_client::tests::test_prompt_cache_key_combines_ids ... ok
[INFO] [stdout] test openai_client::tests::test_prompt_cache_key_empty_preset_uses_agent_id ... ok
[INFO] [stdout] test openai_client::tests::test_prompt_cache_key_is_deterministic ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_assistant_with_tool_calls ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_assistant_with_tool_calls_no_content ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_assistant_without_tool_calls ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_tool_result ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_tool_result_blocks_fallback ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_tool_result_no_id ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_system_message ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_user_image_blocks ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_full_round_trip ... ok
[INFO] [stdout] test openai_client::tests::test_response_input_user_message ... ok
[INFO] [stdout] test openai_client::tests::test_response_output_function_call ... ok
[INFO] [stdout] test openai_client::tests::test_response_output_text ... ok
[INFO] [stdout] test openai_client::tests::test_response_output_refusal ... ok
[INFO] [stdout] test openai_client::tests::test_serde_chat_completion_response ... ok
[INFO] [stdout] test openai_client::tests::test_serde_chat_stream_chunk ... ok
[INFO] [stdout] test openai_client::tests::test_serde_chat_completion_response_without_usage ... ok
[INFO] [stdout] test openai_client::tests::test_serde_chat_stream_chunk_tool_call ... ok
[INFO] [stdout] test openai_client::tests::test_serde_chat_stream_chunk_usage_only_final_chunk ... ok
[INFO] [stdout] test openai_client::tests::test_serde_completion_response ... ok
[INFO] [stdout] test openai_client::tests::test_serde_embedding_response ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_completed ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_function_call_args ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_failed ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_incomplete ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_other ... ok
[INFO] [stdout] test openai_client::tests::test_serde_response_stream_event_text_delta ... ok
[INFO] [stdout] test openai_client::tests::test_usage_from_openai_normalizes_cached_tokens ... ok
[INFO] [stdout] test openai_client::tests::test_usage_from_openai_cached_exceeding_prompt_saturates ... ok
[INFO] [stdout] test openai_client::tests::test_usage_from_openai_without_details ... ok
[INFO] [stdout] test prepare::tests::anthropic_charset_normalized_on_both_sides ... ok
[INFO] [stdout] test prepare::tests::anthropic_long_id_truncated_consistently ... ok
[INFO] [stdout] test prepare::tests::clean_text_history_passes_through_unchanged ... ok
[INFO] [stdout] test prepare::tests::clean_tool_pair_passes_through_unchanged ... ok
[INFO] [stdout] test prepare::tests::demoted_orphan_image_tool_result_keeps_placeholder ... ok
[INFO] [stdout] test prepare::tests::developer_role_demoted_for_non_openai_targets ... ok
[INFO] [stdout] test prepare::tests::image_blocks_demoted_to_placeholder_for_non_vision_target ... ok
[INFO] [stdout] test prepare::tests::empty_string_id_replaced ... ok
[INFO] [stdout] test prepare::tests::image_blocks_preserved_for_vision_target ... ok
[INFO] [stdout] test prepare::tests::image_demoted_to_placeholder_for_non_vision_target ... ok
[INFO] [stdout] test prepare::tests::image_only_message_demoted_to_placeholder_text ... ok
[INFO] [stdout] test prepare::tests::image_preserved_for_vision_target ... ok
[INFO] [stdout] test prepare::tests::known_roles_are_preserved ... ok
[INFO] [stdout] test prepare::tests::late_result_after_intervening_message_not_duplicated ... ok
[INFO] [stdout] test prepare::tests::leading_orphan_tool_results_demoted_to_user_text ... ok
[INFO] [stdout] test prepare::tests::legacy_idless_results_pair_by_tool_name ... ok
[INFO] [stdout] test prepare::tests::mismatched_result_id_recovered_by_position ... ok
[INFO] [stdout] test prepare::tests::missing_id_assigned_and_result_rewritten ... ok
[INFO] [stdout] test prepare::tests::missing_id_assigned_is_anthropic_safe ... ok
[INFO] [stdout] test prepare::tests::mismatched_result_id_recovered_by_tool_name ... ok
[INFO] [stdout] test prepare::tests::missing_id_orphan_gets_synthetic_with_assigned_id ... ok
[INFO] [stdout] test prepare::tests::missing_ids_are_deterministic_across_calls ... ok
[INFO] [stdout] test prepare::tests::non_message_value_inside_tool_run_does_not_orphan_calls ... ok
[INFO] [stdout] test prepare::tests::openai_40_char_id_kept ... ok
[INFO] [stdout] test prepare::tests::non_message_values_pass_through ... ok
[INFO] [stdout] test prepare::tests::openai_long_id_truncated_to_40_on_both_sides ... ok
[INFO] [stdout] test prepare::tests::orphan_call_at_end_of_history_synthesized ... ok
[INFO] [stdout] test prepare::tests::openai_target_keeps_nonstandard_ids ... ok
[INFO] [stdout] test prepare::tests::orphan_call_gets_synthetic_error_result_before_next_turn ... ok
[INFO] [stdout] test prepare::tests::positional_id_collision_disambiguated_deterministically ... ok
[INFO] [stdout] test prepare::tests::orphan_synthetic_inherits_normalized_id ... ok
[INFO] [stdout] test prepare::tests::sanitize_collision_falls_back_to_uuid_and_stays_paired ... ok
[INFO] [stdout] test prepare::tests::surplus_duplicate_result_demoted ... ok
[INFO] [stdout] test provider::tests::test_cache_retention_parse ... ok
[INFO] [stdout] test prepare::tests::unknown_role_falls_back_to_user ... ok
[INFO] [stdout] test provider::tests::test_parse_claude_empty_model ... ok
[INFO] [stdout] test provider::tests::test_parse_empty_model ... ok
[INFO] [stdout] test provider::tests::test_parse_claude_prefix ... ok
[INFO] [stdout] test provider::tests::test_parse_ollama_empty_model ... ok
[INFO] [stdout] test provider::tests::test_parse_no_prefix_error ... ok
[INFO] [stdout] test provider::tests::test_parse_ollama_prefix ... ok
[INFO] [stdout] test provider::tests::test_parse_openai_empty_model ... ok
[INFO] [stdout] test provider::tests::test_parse_openai_prefix ... ok
[INFO] [stdout] test provider::tests::test_parse_openai_prefix_with_slash_in_model ... ok
[INFO] [stdout] test provider::tests::test_parse_preserves_whitespace_in_model ... ok
[INFO] [stdout] test provider::tests::test_parse_unknown_prefix ... ok
[INFO] [stdout] test provider::tests::test_parse_url_like_model_requires_prefix ... ok
[INFO] [stdout] test provider::tests::test_parse_whitespace_only ... ok
[INFO] [stdout] test responses::tests::responses_stream_emit_partial_messages_false_skips_partials ... ok
[INFO] [stdout] test responses::tests::responses_stream_cancel_returns_cancelled_and_builds_aborted_final ... ok
[INFO] [stdout] test responses::tests::responses_stream_completed_usage_lands_on_final_message ... ok
[INFO] [stdout] test responses::tests::responses_stream_incomplete_status_lands_on_final_message ... ok
[INFO] [stdout] test responses::tests::test_stop_reason_from_response_failed ... ok
[INFO] [stdout] test responses::tests::test_stop_reason_from_response_incomplete ... ok
[INFO] [stdout] test responses::tests::test_stop_reason_from_response_missing_status ... ok
[INFO] [stdout] test responses::tests::test_usage_from_response_missing_usage ... ok
[INFO] [stdout] test responses::tests::responses_stream_emits_typed_event_sequence ... ok
[INFO] [stdout] test responses::tests::test_usage_from_response_normalizes_cached_tokens ... ok
[INFO] [stdout] test responses::tests::test_usage_from_response_without_details ... ok
[INFO] [stdout] test retry::tests::test_policy_from_configs ... ok
[INFO] [stdout] test responses::tests::test_stop_reason_from_response_completed ... ok
[INFO] [stdout] test retry::tests::test_with_retry_non_retryable_returns_immediately ... ok
[INFO] [stdout] test retry::tests::test_with_retry_exhausts_and_returns_last_error ... ok
[INFO] [stdout] test retry::tests::test_with_timeout_disabled_passes_through ... ok
[INFO] [stdout] test retry::tests::test_with_retry_retries_then_succeeds ... ok
[INFO] [stdout] test usage::tests::accumulates_across_messages ... ok
[INFO] [stdout] test usage::tests::cost_usd_from_builtin_claude_rates ... ok
[INFO] [stdout] test usage::tests::no_cost_usd_without_model_config ... ok
[INFO] [stdout] test usage::tests::reset_zeroes_and_emits ... ok
[INFO] [stdout] test retry::tests::test_with_retry_respects_retry_after ... ok
[INFO] [stdout] test retry::tests::test_with_timeout_elapsed_maps_to_timeout ... ok
[INFO] [stdout] test usage::tests::same_id_replaces_previous_usage ... ok
[INFO] [stdout] test usage::tests::skips_streaming_and_usage_less_messages ... ok
[INFO] [stdout] test compact::tests::compact_passes_through_streaming_tail_even_over_threshold ... ok
[INFO] [stdout] test compact::tests::compact_passes_through_tiny_context_even_over_threshold ... ok
[INFO] [stdout] test compact::tests::compact_passes_through_under_threshold_without_llm_call ... ok
[INFO] [stdout] test compact::tests::compact_passes_through_when_context_window_unknown ... ok
[INFO] [stdout] test message::tests::messages_agent_compaction_record_appends_marker_and_emits_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 328 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests modular_agent_llm
[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" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09", kill_on_drop: false }`
[INFO] [stdout] bddf95520eb84a41bc48acdfb935d9f5938e6a94a6b39da4457b4b50faf1ff09
