[INFO] cloning repository https://github.com/GobbyAI/gobby-code [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GobbyAI/gobby-code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGobbyAI%2Fgobby-code", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGobbyAI%2Fgobby-code'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 540a2a3d84e807a3d30c0058354c5e918be04213 [INFO] testing GobbyAI/gobby-code against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGobbyAI%2Fgobby-code" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/GobbyAI/gobby-code [INFO] finished tweaking git repo https://github.com/GobbyAI/gobby-code [INFO] tweaked toml for git repo https://github.com/GobbyAI/gobby-code written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/GobbyAI/gobby-code on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/GobbyAI/gobby-code 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" "+f9988fefd3add01f414f52b414308e7872622fee" "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 zeroize_derive v1.4.3 [INFO] [stderr] Downloaded webpki-roots v0.26.11 [INFO] [stderr] Downloaded ureq v2.12.1 [INFO] [stderr] Downloaded libredox v0.1.15 [INFO] [stderr] Downloaded sha1_smol v1.0.1 [INFO] [stderr] Downloaded iso8601 v0.6.3 [INFO] [stderr] Downloaded serial_test v3.4.0 [INFO] [stderr] Downloaded num-cmp v0.1.0 [INFO] [stderr] Downloaded tree-sitter-language v0.1.7 [INFO] [stderr] Downloaded deranged v0.5.8 [INFO] [stderr] Downloaded serial_test_derive v3.4.0 [INFO] [stderr] Downloaded rustls-webpki v0.103.10 [INFO] [stderr] Downloaded tree-sitter-json v0.23.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.65 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] [stderr] Downloaded nom v8.0.0 [INFO] [stderr] Downloaded fraction v0.13.1 [INFO] [stderr] Downloaded globset v0.4.18 [INFO] [stderr] Downloaded webpki-roots v1.0.6 [INFO] [stderr] Downloaded fernet v0.2.2 [INFO] [stderr] Downloaded jsonschema v0.17.1 [INFO] [stderr] Downloaded tree-sitter-yaml v0.7.2 [INFO] [stderr] Downloaded tree-sitter-javascript v0.23.1 [INFO] [stderr] Downloaded tree-sitter-go v0.23.4 [INFO] [stderr] Downloaded ignore v0.4.25 [INFO] [stderr] Downloaded tree-sitter-java v0.23.5 [INFO] [stderr] Downloaded scc v2.4.0 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded rustls v0.23.37 [INFO] [stderr] Downloaded tree-sitter v0.24.7 [INFO] [stderr] Downloaded tree-sitter-python v0.23.6 [INFO] [stderr] Downloaded tree-sitter-c v0.23.4 [INFO] [stderr] Downloaded tree-sitter-dart v0.1.0 [INFO] [stderr] Downloaded tree-sitter-rust v0.23.3 [INFO] [stderr] Downloaded tree-sitter-md v0.5.3 [INFO] [stderr] Downloaded bstr v1.12.1 [INFO] [stderr] Downloaded tree-sitter-php v0.23.11 [INFO] [stderr] Downloaded tree-sitter-elixir v0.3.5 [INFO] [stderr] Downloaded tree-sitter-ruby v0.23.1 [INFO] [stderr] Downloaded web-sys v0.3.92 [INFO] [stderr] Downloaded tree-sitter-typescript v0.23.2 [INFO] [stderr] Downloaded tree-sitter v0.20.10 [INFO] [stderr] Downloaded tree-sitter-swift v0.7.1 [INFO] [stderr] Downloaded tree-sitter-cpp v0.23.4 [INFO] [stderr] Downloaded tree-sitter-c-sharp v0.23.1 [INFO] [stderr] Downloaded tree-sitter-kotlin v0.3.5 [INFO] [stderr] Downloaded openssl-src v300.5.5+3.5.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1fcc061699a4b052280b8d05936dc120121bea712f3246ce7a92803b3b4bc716 [INFO] running `Command { std: "docker" "start" "-a" "1fcc061699a4b052280b8d05936dc120121bea712f3246ce7a92803b3b4bc716", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1fcc061699a4b052280b8d05936dc120121bea712f3246ce7a92803b3b4bc716", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fcc061699a4b052280b8d05936dc120121bea712f3246ce7a92803b3b4bc716", kill_on_drop: false }` [INFO] [stdout] 1fcc061699a4b052280b8d05936dc120121bea712f3246ce7a92803b3b4bc716 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b2cc2186a9fb54b4ec2f5b2f4308cec28a071e4f96ce3dca017e8515e7c2c8f5 [INFO] running `Command { std: "docker" "start" "-a" "b2cc2186a9fb54b4ec2f5b2f4308cec28a071e4f96ce3dca017e8515e7c2c8f5", kill_on_drop: false }` [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling openssl-src v300.5.5+3.5.5 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling tree-sitter v0.20.10 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tree-sitter-rust v0.23.3 [INFO] [stderr] Compiling tree-sitter-elixir v0.3.5 [INFO] [stderr] Compiling tree-sitter-json v0.23.0 [INFO] [stderr] Compiling tree-sitter-dart v0.1.0 [INFO] [stderr] Compiling tree-sitter-php v0.23.11 [INFO] [stderr] Compiling tree-sitter-kotlin v0.3.5 [INFO] [stderr] Compiling tree-sitter-go v0.23.4 [INFO] [stderr] Compiling tree-sitter-cpp v0.23.4 [INFO] [stderr] Compiling tree-sitter-c-sharp v0.23.1 [INFO] [stderr] Compiling tree-sitter-javascript v0.23.1 [INFO] [stderr] Compiling tree-sitter-java v0.23.5 [INFO] [stderr] Compiling tree-sitter-c v0.23.4 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling tree-sitter-swift v0.7.1 [INFO] [stderr] Compiling tree-sitter-yaml v0.7.2 [INFO] [stderr] Compiling tree-sitter-python v0.23.6 [INFO] [stderr] Compiling tree-sitter-md v0.5.3 [INFO] [stderr] Compiling tree-sitter-ruby v0.23.1 [INFO] [stderr] Compiling tree-sitter v0.24.7 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling sha1_smol v1.0.1 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling gobby-core v0.1.0 (/opt/rustwide/workdir/crates/gcore) [INFO] [stderr] Compiling ureq v2.12.1 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling gobby-hooks v0.4.1 (/opt/rustwide/workdir/crates/ghook) [INFO] [stderr] Compiling gobby-local v0.1.1 (/opt/rustwide/workdir/crates/gloc) [INFO] [stderr] Compiling gobby-squeeze v0.4.2 (/opt/rustwide/workdir/crates/gsqz) [INFO] [stderr] Compiling fernet v0.2.2 [INFO] [stderr] Compiling gobby-code v0.7.0 (/opt/rustwide/workdir/crates/gcode) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 33s [INFO] running `Command { std: "docker" "inspect" "b2cc2186a9fb54b4ec2f5b2f4308cec28a071e4f96ce3dca017e8515e7c2c8f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2cc2186a9fb54b4ec2f5b2f4308cec28a071e4f96ce3dca017e8515e7c2c8f5", kill_on_drop: false }` [INFO] [stdout] b2cc2186a9fb54b4ec2f5b2f4308cec28a071e4f96ce3dca017e8515e7c2c8f5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b8a595015b4f2e32cbd6487c458fcec060becb46e996c87cfd7683733408cf8a [INFO] running `Command { std: "docker" "start" "-a" "b8a595015b4f2e32cbd6487c458fcec060becb46e996c87cfd7683733408cf8a", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.7 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling num-cmp v0.1.0 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling gobby-squeeze v0.4.2 (/opt/rustwide/workdir/crates/gsqz) [INFO] [stderr] Compiling gobby-local v0.1.1 (/opt/rustwide/workdir/crates/gloc) [INFO] [stderr] Compiling gobby-core v0.1.0 (/opt/rustwide/workdir/crates/gcore) [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling time-macros v0.2.25 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling fancy-regex v0.11.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling time v0.3.45 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling fraction v0.13.1 [INFO] [stderr] Compiling gobby-code v0.7.0 (/opt/rustwide/workdir/crates/gcode) [INFO] [stderr] Compiling iso8601 v0.6.3 [INFO] [stderr] Compiling jsonschema v0.17.1 [INFO] [stderr] Compiling gobby-hooks v0.4.1 (/opt/rustwide/workdir/crates/ghook) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 27.66s [INFO] running `Command { std: "docker" "inspect" "b8a595015b4f2e32cbd6487c458fcec060becb46e996c87cfd7683733408cf8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8a595015b4f2e32cbd6487c458fcec060becb46e996c87cfd7683733408cf8a", kill_on_drop: false }` [INFO] [stdout] b8a595015b4f2e32cbd6487c458fcec060becb46e996c87cfd7683733408cf8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 314acb221d1150d395447ebc1075432d73749da955d5fa7f312662bf5d5bb999 [INFO] running `Command { std: "docker" "start" "-a" "314acb221d1150d395447ebc1075432d73749da955d5fa7f312662bf5d5bb999", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gcode-f96f4351094d357f) [INFO] [stdout] [INFO] [stdout] running 107 tests [INFO] [stdout] test commands::graph::tests::test_build_lifecycle_url_clear_uses_project_id_query ... ok [INFO] [stdout] test commands::graph::tests::test_format_success_text_prefers_message_field ... ok [INFO] [stdout] test commands::graph::tests::test_format_success_text_falls_back_to_compact_json ... ok [INFO] [stdout] test commands::graph::tests::test_format_http_error_includes_status_and_body ... ok [INFO] [stdout] test commands::graph::tests::test_parse_success_payload_fails_on_invalid_json ... ok [INFO] [stdout] test commands::scope::tests::normalizes_absolute_path_inside_project ... ok [INFO] [stdout] test commands::search::tests::exact_tier_prefers_case_sensitive_match ... ok [INFO] [stdout] test commands::graph::tests::test_require_daemon_url_errors_when_missing ... ok [INFO] [stdout] test commands::graph::tests::test_build_lifecycle_url_rebuild_uses_project_id_query ... ok [INFO] [stdout] test commands::symbols::tests::outline_text_line_includes_id_range_and_signature ... ok [INFO] [stdout] test commands::scope::tests::rejects_missing_current_indexed_path ... ok [INFO] [stdout] test commands::search::tests::symbol_filter_rejects_language_kind_path_and_missing_disk_file ... ok [INFO] [stdout] test config::tests::isolated_marker_uses_path_derived_id_without_warning ... ok [INFO] [stdout] test commands::symbols::tests::outline_diagnostic_reports_other_project_owner ... ok [INFO] [stdout] test commands::symbols::tests::outline_diagnostic_reports_stale_current_index ... ok [INFO] [stdout] test commands::scope::tests::detects_path_owned_by_other_project ... ok [INFO] [stdout] test commands::symbols::tests::outline_diagnostic_reports_unindexed_current_file ... ok [INFO] [stdout] test config::tests::test_resolve_project_id_requires_project_context ... ok [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpFM38gq/repo/.git/ [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpRsGFjI/separate.git/ [INFO] [stdout] test index::indexer::tests::upsert_calls_writes_new_contract_columns ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpisufLE/repo/.git/ [INFO] [stdout] test index::indexer::tests::content_only_indexing_writes_indexed_file_row ... ok [INFO] [stdout] test config::tests::test_config_env_override ... ok [INFO] [stdout] test config::tests::main_repo_keeps_project_json_id ... ok [INFO] [stdout] test config::tests::test_read_config_store_values ... ok [INFO] [stdout] test config::tests::generated_identity_writes_only_for_non_isolated_roots ... ok [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] test git::tests::separate_git_dir_is_main_worktree ... ok [INFO] [stdout] test git::tests::detects_normal_repo_as_main_worktree ... ok [INFO] [stdout] test index::parser::tests::classifies_external_javascript_named_import_calls ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp3H9ggT/repo/.git/ [INFO] [stdout] [master (root-commit) 3d1bfe7] initial [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 README.md [INFO] [stderr] Preparing worktree (new branch 'linked-branch') [INFO] [stdout] [master (root-commit) 3d1bfe7] initial [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 README.md [INFO] [stderr] Preparing worktree (new branch 'linked-branch') [INFO] [stdout] HEAD is now at 3d1bfe7 initial [INFO] [stdout] test index::parser::tests::leaves_ambiguous_bare_calls_unresolved ... ok [INFO] [stdout] HEAD is now at 3d1bfe7 initial [INFO] [stdout] test index::parser::tests::leaves_unlisted_javascript_package_aliases_unresolved ... ok [INFO] [stdout] test index::parser::tests::leaves_relative_javascript_imports_unresolved ... ok [INFO] [stdout] test models::tests::test_call_relation_promotes_symbol_targets ... ok [INFO] [stdout] test models::tests::test_uuid5_parity_with_python ... ok [INFO] [stdout] test neo4j::tests::test_blast_radius_query_targets_stable_ids_and_all_target_labels ... ok [INFO] [stdout] test neo4j::tests::test_parse_v2_response_basic ... ok [INFO] [stdout] test neo4j::tests::test_parse_v2_response_empty ... ok [INFO] [stdout] test neo4j::tests::test_parse_v2_response_mismatched_lengths ... ok [INFO] [stdout] test neo4j::tests::test_parse_v2_response_missing_data ... ok [INFO] [stdout] test neo4j::tests::test_parse_v2_response_null_values ... ok [INFO] [stdout] test neo4j::tests::test_row_to_graph_result_prefers_blast_radius_node_fields ... ok [INFO] [stdout] test project::tests::test_ensure_gcode_json_creates_new ... ok [INFO] [stdout] test project::tests::test_ensure_gcode_json_reads_existing ... ok [INFO] [stdout] test project::tests::test_ensure_gcode_json_skips_when_project_json_exists ... ok [INFO] [stdout] test project::tests::test_generate_project_id_deterministic ... ok [INFO] [stdout] test config::tests::linked_worktree_uses_path_id_and_warns_only_for_copied_project_id ... ok [INFO] [stdout] test git::tests::detects_linked_worktree ... ok [INFO] [stdout] test project::tests::test_now_iso8601_format ... ok [INFO] [stdout] test project::tests::test_generate_project_id_different_paths ... ok [INFO] [stdout] test savings::tests::test_resolve_daemon_url_config_value ... ok [INFO] [stdout] test project::tests::test_has_identity_file ... ok [INFO] [stdout] test index::parser::tests::resolves_same_class_member_calls ... ok [INFO] [stdout] test project::tests::test_read_isolation_marker_detects_parent_fields ... ok [INFO] [stdout] test savings::tests::test_savings_pct_basic ... ok [INFO] [stdout] test savings::tests::test_savings_pct_no_savings ... ok [INFO] [stdout] test savings::tests::test_savings_pct_zero_original ... ok [INFO] [stdout] test schema::tests::test_ensure_schema_fresh_db ... ok [INFO] [stdout] test schema::tests::test_ensure_schema_idempotent ... ok [INFO] [stdout] test schema::tests::test_ensure_schema_skips_existing ... ok [INFO] [stdout] test index::parser::tests::resolves_unique_same_file_bare_calls ... ok [INFO] [stdout] test search::fts::content_tests::search_content_returns_chunks_with_indexed_file_row ... ok [INFO] [stdout] test search::fts::tests::resolve_graph_symbol_by_exact_name ... ok [INFO] [stdout] test search::fts::content_tests::search_content_excludes_orphan_chunks ... ok [INFO] [stdout] test search::fts::tests::resolve_graph_symbol_is_fail_closed_on_ambiguity ... ok [INFO] [stdout] test search::fts::tests::resolve_graph_symbol_uses_fts_fallback ... ok [INFO] [stdout] test search::fts::tests::resolve_graph_symbol_uses_like_fallback ... ok [INFO] [stdout] test search::fts::tests::search_symbols_exact_first_prioritizes_exact_name ... ok [INFO] [stdout] test search::fts::tests::search_symbols_exact_first_respects_kind_language_and_path ... ok [INFO] [stdout] test search::graph_boost::tests::test_graph_expand_empty_seeds ... ok [INFO] [stdout] test search::graph_boost::tests::test_graph_expand_no_neo4j ... ok [INFO] [stdout] test search::graph_boost::tests::test_graph_boost_no_neo4j ... ok [INFO] [stdout] test search::rrf::tests::test_merge_empty_id_lists ... ok [INFO] [stdout] test search::rrf::tests::test_merge_empty_sources ... ok [INFO] [stdout] test search::rrf::tests::test_merge_two_sources_disjoint ... ok [INFO] [stdout] test search::rrf::tests::test_merge_two_sources_same_ids ... ok [INFO] [stdout] test search::rrf::tests::test_rrf_score_rank_ten ... ok [INFO] [stdout] test search::rrf::tests::test_merge_single_source ... ok [INFO] [stdout] test search::rrf::tests::test_rrf_score_rank_zero ... ok [INFO] [stdout] test search::semantic::tests::test_semantic_search_no_embedding_config ... ok [INFO] [stdout] test search::semantic::tests::test_semantic_search_no_qdrant ... ok [INFO] [stdout] test index::parser::tests::leaves_local_python_imports_unresolved ... ok [INFO] [stdout] test index::parser::tests::classifies_external_javascript_namespace_member_calls ... ok [INFO] [stdout] test secrets::tests::test_resolve_config_value_env_default ... ok [INFO] [stdout] test secrets::tests::test_resolve_config_value_env_var ... ok [INFO] [stdout] test secrets::tests::test_resolve_config_value_passthrough ... ok [INFO] [stdout] test tests::test_parse_blast_radius_remains_top_level ... ok [INFO] [stdout] test tests::test_parse_callers_remains_top_level ... ok [INFO] [stdout] test tests::test_parse_graph_clear ... ok [INFO] [stdout] test index::parser::tests::leaves_non_local_member_calls_unresolved ... ok [INFO] [stdout] test tests::test_parse_graph_rebuild ... ok [INFO] [stdout] test tests::test_parse_imports_remains_top_level ... ok [INFO] [stdout] test tests::test_parse_no_freshness_global_flag ... ok [INFO] [stdout] test tests::test_parse_search_language_filters ... ok [INFO] [stdout] test tests::test_parse_usages_remains_top_level ... ok [INFO] [stdout] test index::indexer::tests::index_files_refreshes_project_stats ... ok [INFO] [stdout] test tests::test_parse_search_symbol_filters ... ok [INFO] [stdout] test index::parser::tests::classifies_external_typescript_default_member_calls ... ok [INFO] [stdout] test index::indexer::tests::index_directory_removes_orphans_on_incremental_refresh ... ok [INFO] [stdout] test index::parser::tests::classifies_external_python_from_import_calls ... ok [INFO] [stdout] test freshness::tests::ensure_symbol_fresh_reindexes_shifted_symbol_slice ... ok [INFO] [stdout] test freshness::tests::no_freshness_env_short_circuits_project_refresh ... ok [INFO] [stdout] test freshness::tests::symbol_slice_check_uses_stored_byte_range_hash ... ok [INFO] [stdout] test config::tests::test_config_defaults ... ok [INFO] [stdout] test savings::tests::test_resolve_daemon_url_expand_port ... ok [INFO] [stdout] test savings::tests::test_resolve_daemon_url_env_var ... ok [INFO] [stdout] test savings::tests::test_resolve_daemon_url_default ... ok [INFO] [stdout] test secrets::tests::test_decrypt_roundtrip ... ok [INFO] [stdout] test secrets::tests::test_derive_fernet_key_different_salt ... ok [INFO] [stdout] test secrets::tests::test_derive_fernet_key_deterministic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 107 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.42s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gobby_core-70d9c17d972627e5) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ghook-6a346aab03a5e898) [INFO] [stdout] test bootstrap::tests::malformed_yaml_returns_defaults ... ok [INFO] [stdout] test bootstrap::tests::empty_file_returns_defaults ... ok [INFO] [stdout] test bootstrap::tests::reads_custom_port ... ok [INFO] [stdout] test bootstrap::tests::missing_file_returns_defaults ... ok [INFO] [stdout] test daemon_url::tests::localhost_passes_through ... ok [INFO] [stdout] test bootstrap::tests::missing_fields_return_defaults ... ok [INFO] [stdout] test daemon_url::tests::wildcard_ipv4_normalizes_to_loopback ... ok [INFO] [stdout] test daemon_url::tests::custom_port_and_host_compose ... ok [INFO] [stdout] test bootstrap::tests::reads_custom_host_and_port ... ok [INFO] [stdout] test daemon_url::tests::default_url_when_file_missing ... ok [INFO] [stdout] test bootstrap::tests::out_of_range_port_falls_back ... ok [INFO] [stdout] test daemon_url::tests::wildcard_ipv6_zero_normalizes_to_loopback ... ok [INFO] [stdout] test daemon_url::tests::wildcard_ipv6_normalizes_to_loopback ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 66 tests [INFO] [stdout] test cli_config::tests::droid_recognized_with_no_terminal_context_or_critical_hooks ... ok [INFO] [stdout] test cli_config::tests::gemini_session_only_terminal_context ... ok [INFO] [stdout] test cli_config::tests::cli_name_is_case_insensitive ... ok [INFO] [stdout] test cli_config::tests::codex_terminal_context_broad ... ok [INFO] [stdout] test cli_config::tests::claude_critical_hooks ... ok [INFO] [stdout] test cli_config::tests::unknown_cli_falls_back_to_claude_for_dispatch ... ok [INFO] [stdout] test cli_config::tests::codex_stop_is_critical ... ok [INFO] [stdout] test cli_config::tests::unknown_cli_returns_none ... ok [INFO] [stdout] test diagnose::tests::install_provenance_absent_when_no_sidecar ... ok [INFO] [stdout] test diagnose::tests::install_provenance_malformed_json_collapses_to_none ... ok [INFO] [stdout] test diagnose::tests::install_provenance_partial_sidecar_returns_present_fields ... ok [INFO] [stdout] test diagnose::tests::claude_session_start_is_critical_with_terminal_context ... ok [INFO] [stdout] test envelope::tests::envelope_serializes_with_expected_fields ... ok [INFO] [stdout] test diagnose::tests::codex_pre_tool_use_noncritical_with_terminal_context ... ok [INFO] [stdout] test diagnose::tests::unknown_cli_marked_not_recognized ... ok [INFO] [stdout] test diagnose::tests::install_provenance_read_from_sidecar ... ok [INFO] [stdout] test diagnose::tests::droid_session_start_is_recognized_noncritical_without_terminal_context ... ok [INFO] [stdout] test diagnose::tests::schema_version_is_two ... ok [INFO] [stdout] test envelope::tests::droid_envelope_preserves_pascal_hook_and_source ... ok [INFO] [stdout] test envelope::tests::empty_headers_serialize_as_empty_object ... ok [INFO] [stdout] test statusline::tests::malformed_json_exits_success_without_stdout ... ok [INFO] [stdout] test statusline::tests::downstream_stdout_passthrough_preserves_bytes ... ok [INFO] [stdout] test terminal_context::tests::capture_emits_expected_keys ... ok [INFO] [stdout] test statusline::tests::extract_payload_matches_full_golden_fixture ... ok [INFO] [stdout] test statusline::tests::recognizes_only_claude_statusline_hook ... ok [INFO] [stdout] test statusline::tests::extract_payload_returns_none_without_session_id ... ok [INFO] [stdout] test terminal_context::tests::inject_no_op_on_non_object ... ok [INFO] [stdout] test statusline::tests::extract_payload_matches_default_golden_fixture ... ok [INFO] [stdout] test terminal_context::tests::inject_sets_terminal_context_when_absent ... ok [INFO] [stdout] test terminal_context::tests::parse_socket_path_extracts_leading_segment ... ok [INFO] [stdout] test terminal_context::tests::parse_socket_path_handles_empty ... ok [INFO] [stdout] test terminal_context::tests::tmux_fields_null_without_tmux_env ... ok [INFO] [stdout] test tests::action_from_failure_returns_stderr_for_droid_transport_errors ... ok [INFO] [stdout] test tests::action_from_failure_blocks_critical_hooks ... ok [INFO] [stdout] test tests::action_from_failure_treats_connect_on_critical_hook_as_exit_two ... ok [INFO] [stdout] test tests::action_from_success_claude_continue_false_without_reason_does_not_exit_two ... ok [INFO] [stdout] test tests::action_from_failure_returns_json_for_noncritical_hooks ... ok [INFO] [stdout] test tests::action_from_success_preserves_additional_context_on_claude_block ... ok [INFO] [stdout] test tests::action_from_failure_treats_timeout_like_python ... ok [INFO] [stdout] test tests::action_from_success_preserves_user_prompt_submit_block_json ... ok [INFO] [stdout] test tests::action_from_success_preserves_droid_block_json_without_exit_two ... ok [INFO] [stdout] test terminal_context::tests::inject_respects_existing_terminal_context ... ok [INFO] [stdout] test tests::action_from_success_claude_hard_stop_exits_two ... ok [INFO] [stdout] test tests::action_from_success_claude_stop_with_permission_deny_no_exit_two ... ok [INFO] [stdout] test tests::action_from_success_surfaces_nested_permission_decision_reason ... ok [INFO] [stdout] test tests::action_from_success_treats_codex_pretool_deny_as_json_block ... ok [INFO] [stdout] test tests::action_from_success_forwards_sessionstart_context_json ... ok [INFO] [stdout] test tests::action_from_success_treats_droid_continue_false_as_exit_two_with_json ... ok [INFO] [stdout] test tests::action_from_success_treats_stop_block_as_exit_two ... ok [INFO] [stdout] test transport::tests::filename_prefix_reflects_critical ... ok [INFO] [stdout] test transport::tests::ts13_is_13_digits ... ok [INFO] [stdout] test tests::hooks_disabled_by_env_reads_env_var ... ok [INFO] [stdout] test tests::is_blocked_matches_dispatcher_patterns ... ok [INFO] [stdout] test transport::tests::enqueue_writes_envelope_to_inbox ... ok [INFO] [stdout] test transport::tests::atomic_write_creates_parent_dirs ... ok [INFO] [stdout] test transport::tests::post_and_cleanup_captures_http_error_body ... ok [INFO] [stdout] test transport::tests::post_and_cleanup_captures_success_response_body ... ok [INFO] [stdout] test transport::tests::atomic_write_leaves_no_tmp_on_success ... ok [INFO] [stdout] test transport::tests::post_and_cleanup_sends_droid_source_to_unified_hooks_endpoint ... ok [INFO] [stdout] test transport::tests::quarantine_writes_pair ... ok [INFO] [stdout] test statusline::tests::posts_statusline_payload_to_daemon_endpoint ... ok [INFO] [stdout] test diagnose::tests::diagnose_output_for_unknown_cli_validates ... ok [INFO] [stdout] test envelope::tests::envelope_validates_against_v1_schema ... ok [INFO] [stdout] test diagnose::tests::diagnose_output_validates_against_v2_schema ... ok [INFO] [stdout] test envelope::tests::envelope_without_headers_validates_against_v1_schema ... ok [INFO] [stdout] test statusline::tests::downstream_timeout_returns_before_six_seconds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gloc-a99b3da4cfca6b78) [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test backend::tests::test_detect_backend_none_running ... ok [INFO] [stdout] test backend::tests::test_ensure_model_ready_non_ollama_is_noop ... ok [INFO] [stdout] test backend::tests::test_model_error_display ... ok [INFO] [stdout] test backend::tests::test_model_name_matches_exact ... ok [INFO] [stdout] test backend::tests::test_model_name_matches_model_field ... ok [INFO] [stdout] test backend::tests::test_model_name_matches_with_latest ... ok [INFO] [stdout] test backend::tests::test_model_name_no_match ... ok [INFO] [stdout] test backend::tests::test_model_name_matches_with_tag ... ok [INFO] [stdout] test backend::tests::test_validate_backend_unreachable ... ok [INFO] [stdout] test config::tests::test_default_config_has_aliases ... ok [INFO] [stdout] test config::tests::test_default_config_has_backends ... ok [INFO] [stdout] test config::tests::test_resolve_template_model ... ok [INFO] [stdout] test config::tests::test_resolve_template_no_vars ... ok [INFO] [stdout] test config::tests::test_claude_client_env ... ok [INFO] [stdout] test config::tests::test_config_from_valid_override ... ok [INFO] [stdout] test config::tests::test_default_config_has_clients ... ok [INFO] [stdout] test config::tests::test_codex_client_env ... ok [INFO] [stdout] test config::tests::test_settings_default ... ok [INFO] [stdout] test config::tests::test_load_default_config ... ok [INFO] [stdout] test config::tests::test_dump_contains_key_sections ... ok [INFO] [stdout] test config::tests::test_resolve_alias_hit ... ok [INFO] [stdout] test config::tests::test_resolve_alias_miss ... ok [INFO] [stdout] test config::tests::test_resolve_template_all_vars ... ok [INFO] [stdout] test config::tests::test_resolve_template_auth_token ... ok [INFO] [stdout] test exec::tests::test_build_args_codex_with_defaults ... ok [INFO] [stdout] test exec::tests::test_build_args_empty_model_flag ... ok [INFO] [stdout] test exec::tests::test_build_args_with_model ... ok [INFO] [stdout] test exec::tests::test_build_env_claude ... ok [INFO] [stdout] test exec::tests::test_build_args_with_passthrough ... ok [INFO] [stdout] test config::tests::test_backend_fields ... ok [INFO] [stdout] test config::tests::test_resolve_template_empty ... ok [INFO] [stdout] test exec::tests::test_default_env_lower_priority ... ok [INFO] [stdout] test exec::tests::test_which_binary_finds_sh ... ok [INFO] [stdout] test exec::tests::test_build_env_codex ... ok [INFO] [stdout] test exec::tests::test_which_binary_not_found ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gsqz-5a124d78434c2ec6) [INFO] [stdout] [INFO] [stdout] running 149 tests [INFO] [stdout] test command_split::tests::test_double_quoted_operators_preserved ... ok [INFO] [stdout] test command_split::tests::test_and_split ... ok [INFO] [stdout] test command_split::tests::test_empty_string ... ok [INFO] [stdout] test command_split::tests::test_mixed_operators ... ok [INFO] [stdout] test command_split::tests::test_pipe_not_split ... ok [INFO] [stdout] test command_split::tests::test_or_split ... ok [INFO] [stdout] test command_split::tests::test_parenthesized_operators_preserved ... ok [INFO] [stdout] test command_split::tests::test_semicolon_split ... ok [INFO] [stdout] test command_split::tests::test_single_command ... ok [INFO] [stdout] test command_split::tests::test_single_quoted_operators_preserved ... ok [INFO] [stdout] test command_split::tests::test_trailing_operator ... ok [INFO] [stdout] test command_split::tests::test_whitespace_trimming ... ok [INFO] [stdout] test compressor::tests::test_is_passthrough_classification ... ok [INFO] [stdout] test compressor::tests::test_on_empty_pipeline_overrides_global ... ok [INFO] [stdout] test compressor::tests::test_cargo_test_pipeline ... ok [INFO] [stdout] test compressor::tests::test_good_compression_has_no_marker ... ok [INFO] [stdout] test compressor::tests::test_savings_pct_calculation ... ok [INFO] [stdout] test compressor::tests::test_savings_pct_zero_original ... ok [INFO] [stdout] test compressor::tests::test_match_output_short_circuits ... ok [INFO] [stdout] test config::tests::test_builtin_config_has_global_on_empty ... ok [INFO] [stdout] test config::tests::test_config_dump_contains_settings ... ok [INFO] [stdout] test compressor::tests::test_on_empty_not_used_when_output_nonempty ... ok [INFO] [stdout] test config::tests::test_config_from_valid_override ... ok [INFO] [stdout] test config::tests::test_fallback_default ... ok [INFO] [stdout] test config::tests::test_default_config_has_expected_pipelines ... ok [INFO] [stdout] test config::tests::test_load_default_config ... ok [INFO] [stdout] test config::tests::test_pipeline_has_match_and_steps ... ok [INFO] [stdout] test config::tests::test_fallback_has_steps ... ok [INFO] [stdout] test config::tests::test_pipeline_on_empty_deserialization ... ok [INFO] [stdout] test compressor::tests::test_pipeline_match ... ok [INFO] [stdout] test config::tests::test_step_deserialization_dedup ... ok [INFO] [stdout] test config::tests::test_settings_default_values ... ok [INFO] [stdout] test config::tests::test_step_deserialization_group ... ok [INFO] [stdout] test config::tests::test_step_deserialization_match_output ... ok [INFO] [stdout] test config::tests::test_step_deserialization_replace ... ok [INFO] [stdout] test compressor::tests::test_low_savings_pipeline_gets_marker ... ok [INFO] [stdout] test config::tests::test_step_deserialization_truncate_defaults ... ok [INFO] [stdout] test config::tests::test_step_deserialization_unknown_variant ... ok [INFO] [stdout] test config::tests::test_step_deserialization_truncate ... ok [INFO] [stdout] test compressor::tests::test_fallback_used_when_no_pipeline_matches ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_different ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_empty ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_identical ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_non_consecutive_identical_not_collapsed ... ok [INFO] [stdout] test config::tests::test_all_pipeline_regexes_compile ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_single_line ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_two_identical ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_empty_lines ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_mixed_groups ... ok [INFO] [stdout] test primitives::dedup::tests::test_dedup_near_identical ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_empty_patterns ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_invalid_regex_skipped ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_removes_all ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_multiple_patterns ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_removes_matching ... ok [INFO] [stdout] test primitives::group::tests::test_by_directory_no_slash ... ok [INFO] [stdout] test primitives::group::tests::test_by_extension_empty ... ok [INFO] [stdout] test primitives::group::tests::test_by_extension_groups ... ok [INFO] [stdout] test primitives::group::tests::test_by_extension_no_extension ... ok [INFO] [stdout] test primitives::group::tests::test_by_directory_groups ... ok [INFO] [stdout] test primitives::filter::tests::test_filter_removes_none ... ok [INFO] [stdout] test primitives::group::tests::test_by_file_grep_style ... ok [INFO] [stdout] test primitives::group::tests::test_by_file_many_matches_truncated ... ok [INFO] [stdout] test primitives::group::tests::test_errors_warnings_empty ... ok [INFO] [stdout] test primitives::group::tests::test_errors_warnings_many_truncated ... ok [INFO] [stdout] test primitives::group::tests::test_errors_warnings_only_errors ... ok [INFO] [stdout] test primitives::group::tests::test_errors_warnings_grouping ... ok [INFO] [stdout] test primitives::group::tests::test_by_file_no_grep_format ... ok [INFO] [stdout] test primitives::group::tests::test_errors_warnings_only_warnings ... ok [INFO] [stdout] test compressor::tests::test_low_savings_suppressed_when_marker_would_grow_output ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_large_file_truncated ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_lock_file_collapsed ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_binary_collapsed ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_generated_collapsed ... ok [INFO] [stdout] test primitives::group::tests::test_git_status_empty ... ok [INFO] [stdout] test compressor::tests::test_low_savings_fallback_keeps_passthrough_marker ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_mixed_files ... ok [INFO] [stdout] test primitives::group::tests::test_git_status_many_files_truncated ... ok [INFO] [stdout] test primitives::group::tests::test_git_status_non_status_lines ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_normal_file_kept ... ok [INFO] [stdout] test primitives::group::tests::test_group_lines_dispatcher_git_status ... ok [INFO] [stdout] test compressor::tests::test_compound_falls_back_to_earlier_segment ... ok [INFO] [stdout] test primitives::group::tests::test_group_lines_dispatcher_unknown_mode ... ok [INFO] [stdout] test primitives::group::tests::test_git_diff_no_diff_headers_passthrough ... ok [INFO] [stdout] test compressor::tests::test_compound_command_matches_last_segment ... ok [INFO] [stdout] test compressor::tests::test_max_lines_cap_applied ... ok [INFO] [stdout] test compressor::tests::test_git_status_pipeline ... ok [INFO] [stdout] test primitives::group::tests::test_lint_by_rule_no_rules ... ok [INFO] [stdout] test primitives::group::tests::test_pytest_failures_warnings_and_errors ... ok [INFO] [stdout] test primitives::group::tests::test_test_failures_captures_fail_lines ... ok [INFO] [stdout] test primitives::group::tests::test_pytest_failures_preserves_warnings ... ok [INFO] [stdout] test primitives::group::tests::test_lint_by_rule_groups ... ok [INFO] [stdout] test primitives::group::tests::test_pytest_failures_extracts_sections ... ok [INFO] [stdout] test primitives::match_output::tests::test_checks_full_blob_not_per_line ... ok [INFO] [stdout] test config::tests::test_step_deserialization_filter ... ok [INFO] [stdout] test primitives::match_output::tests::test_basic_match_returns_message ... ok [INFO] [stdout] test config::tests::test_pipeline_on_empty_defaults_to_none ... ok [INFO] [stdout] test primitives::group::tests::test_lint_by_rule_many_occurrences_truncated ... ok [INFO] [stdout] test primitives::group::tests::test_git_status_grouping ... ok [INFO] [stdout] test primitives::match_output::tests::test_empty_rules_returns_none ... ok [INFO] [stdout] test primitives::match_output::tests::test_invalid_unless_regex_treated_as_no_unless ... ok [INFO] [stdout] test primitives::match_output::tests::test_invalid_regex_skipped ... ok [INFO] [stdout] test primitives::match_output::tests::test_no_match_returns_none ... ok [INFO] [stdout] test primitives::match_output::tests::test_first_rule_wins ... ok [INFO] [stdout] test primitives::group::tests::test_all_tests_passed ... ok [INFO] [stdout] test primitives::group::tests::test_pytest_failures_no_failures_delegates ... ok [INFO] [stdout] test compressor::tests::test_match_output_unless_prevents_short_circuit ... ok [INFO] [stdout] test compressor::tests::test_compound_single_command_unchanged ... ok [INFO] [stdout] test compressor::tests::test_passthrough_short_output ... ok [INFO] [stdout] test primitives::match_output::tests::test_unless_blocks_match ... ok [INFO] [stdout] test primitives::match_output::tests::test_unless_absent_allows_match ... ok [INFO] [stdout] test primitives::prose::tests::test_level_from_str ... ok [INFO] [stdout] test primitives::prose::tests::test_lite_trims_trailing_whitespace ... ok [INFO] [stdout] test primitives::prose::tests::test_lite_collapses_blank_lines ... ok [INFO] [stdout] test primitives::prose::tests::test_lite_strips_html_comments ... ok [INFO] [stdout] test compressor::tests::test_on_empty_global_fallback ... ok [INFO] [stdout] test primitives::replace::tests::test_basic_replacement ... ok [INFO] [stdout] test primitives::replace::tests::test_chained_rules ... ok [INFO] [stdout] test primitives::replace::tests::test_empty_lines ... ok [INFO] [stdout] test primitives::replace::tests::test_empty_rules ... ok [INFO] [stdout] test primitives::replace::tests::test_invalid_regex_skipped ... ok [INFO] [stdout] test primitives::replace::tests::test_backreferences ... ok [INFO] [stdout] test primitives::replace::tests::test_multiple_matches_per_line ... ok [INFO] [stdout] test primitives::replace::tests::test_no_match_unchanged ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_empty_input ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_exact_boundary ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_head_only ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_long_input ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_one_over_boundary ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_per_section_invalid_regex ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_per_section ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_preserves_head_tail_content ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_per_section_small_sections_unchanged ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_short_input ... ok [INFO] [stdout] test primitives::truncate::tests::test_truncate_tail_only ... ok [INFO] [stdout] test primitives::prose::tests::test_empty_input ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_xml_tags ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_urls ... ok [INFO] [stdout] test primitives::prose::tests::test_standard_replaces_filler_phrases ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_yaml_frontmatter ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_code_blocks ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_inline_code ... ok [INFO] [stdout] test primitives::prose::tests::test_already_concise_passthrough ... ok [INFO] [stdout] test primitives::prose::tests::test_preserves_file_paths ... ok [INFO] [stdout] test primitives::prose::tests::test_standard_preserves_headings ... ok [INFO] [stdout] test primitives::prose::tests::test_standard_removes_filler_words ... ok [INFO] [stdout] test primitives::prose::tests::test_aggressive_truncates_long_lists ... ok [INFO] [stdout] test primitives::prose::tests::test_numbered_list_truncation ... ok [INFO] [stdout] test primitives::prose::tests::test_aggressive_keeps_first_sentence ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 149 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s [INFO] [stdout] [INFO] [stderr] Doc-tests gobby_core [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" "314acb221d1150d395447ebc1075432d73749da955d5fa7f312662bf5d5bb999", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "314acb221d1150d395447ebc1075432d73749da955d5fa7f312662bf5d5bb999", kill_on_drop: false }` [INFO] [stdout] 314acb221d1150d395447ebc1075432d73749da955d5fa7f312662bf5d5bb999