[INFO] cloning repository https://github.com/BlaineHeffron/foia-search-mcp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BlaineHeffron/foia-search-mcp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlaineHeffron%2Ffoia-search-mcp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlaineHeffron%2Ffoia-search-mcp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 963fe988b07b1827faf417ef3e3733df300b2c69 [INFO] testing BlaineHeffron/foia-search-mcp against 1.97.0-beta.6+cargoflags=--release for beta-1.98-release-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlaineHeffron%2Ffoia-search-mcp" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/BlaineHeffron/foia-search-mcp [INFO] finished tweaking git repo https://github.com/BlaineHeffron/foia-search-mcp [INFO] tweaked toml for git repo https://github.com/BlaineHeffron/foia-search-mcp written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/BlaineHeffron/foia-search-mcp on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/BlaineHeffron/foia-search-mcp already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "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 tokio-macros v2.7.0 [INFO] [stderr] Downloaded socket2 v0.6.3 [INFO] [stderr] Downloaded futf v0.1.5 [INFO] [stderr] Downloaded futures-io v0.3.32 [INFO] [stderr] Downloaded servo_arc v0.3.0 [INFO] [stderr] Downloaded phf_codegen v0.10.0 [INFO] [stderr] Downloaded new_debug_unreachable v1.0.6 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.121 [INFO] [stderr] Downloaded precomputed-hash v0.1.1 [INFO] [stderr] Downloaded ego-tree v0.6.3 [INFO] [stderr] Downloaded fallible-streaming-iterator v0.1.9 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.121 [INFO] [stderr] Downloaded mac v0.1.1 [INFO] [stderr] Downloaded phf_shared v0.10.0 [INFO] [stderr] Downloaded ref-cast v1.0.25 [INFO] [stderr] Downloaded phf_shared v0.11.3 [INFO] [stderr] Downloaded siphasher v1.0.3 [INFO] [stderr] Downloaded string_cache_codegen v0.5.4 [INFO] [stderr] Downloaded phf_codegen v0.11.3 [INFO] [stderr] Downloaded phf v0.10.1 [INFO] [stderr] Downloaded cssparser-macros v0.6.1 [INFO] [stderr] Downloaded ref-cast-impl v1.0.25 [INFO] [stderr] Downloaded dyn-clone v1.0.20 [INFO] [stderr] Downloaded phf_generator v0.11.3 [INFO] [stderr] Downloaded hashlink v0.9.1 [INFO] [stderr] Downloaded phf_generator v0.10.0 [INFO] [stderr] Downloaded schemars_derive v1.2.1 [INFO] [stderr] Downloaded darling_macro v0.23.0 [INFO] [stderr] Downloaded cfg_aliases v0.2.1 [INFO] [stderr] Downloaded rustc-hash v2.1.2 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.71 [INFO] [stderr] Downloaded dtoa-short v0.3.5 [INFO] [stderr] Downloaded dtoa v1.0.11 [INFO] [stderr] Downloaded getopts v0.2.24 [INFO] [stderr] Downloaded fallible-iterator v0.3.0 [INFO] [stderr] Downloaded phf v0.11.3 [INFO] [stderr] Downloaded phf_macros v0.11.3 [INFO] [stderr] Downloaded sha2 v0.10.9 [INFO] [stderr] Downloaded tendril v0.4.3 [INFO] [stderr] Downloaded scraper v0.20.0 [INFO] [stderr] Downloaded serde_derive_internals v0.29.1 [INFO] [stderr] Downloaded rmcp-macros v0.14.0 [INFO] [stderr] Downloaded pastey v0.2.2 [INFO] [stderr] Downloaded markup5ever v0.12.1 [INFO] [stderr] Downloaded string_cache v0.8.9 [INFO] [stderr] Downloaded bitflags v2.11.1 [INFO] [stderr] Downloaded futures-executor v0.3.32 [INFO] [stderr] Downloaded rustls-pki-types v1.14.1 [INFO] [stderr] Downloaded web-time v1.1.0 [INFO] [stderr] Downloaded wasm-streams v0.4.2 [INFO] [stderr] Downloaded yoke v0.8.2 [INFO] [stderr] Downloaded quinn-udp v0.5.14 [INFO] [stderr] Downloaded darling v0.23.0 [INFO] [stderr] Downloaded selectors v0.25.0 [INFO] [stderr] Downloaded derive_more v0.99.20 [INFO] [stderr] Downloaded cssparser v0.31.2 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded tinyvec v1.11.0 [INFO] [stderr] Downloaded rand v0.8.6 [INFO] [stderr] Downloaded wasm-bindgen v0.2.121 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.121 [INFO] [stderr] Downloaded html5ever v0.27.0 [INFO] [stderr] Downloaded ahash v0.8.12 [INFO] [stderr] Downloaded darling_core v0.23.0 [INFO] [stderr] Downloaded mio v1.2.0 [INFO] [stderr] Downloaded wit-bindgen v0.57.1 [INFO] [stderr] Downloaded js-sys v0.3.98 [INFO] [stderr] Downloaded zerocopy-derive v0.8.48 [INFO] [stderr] Downloaded schemars v1.2.1 [INFO] [stderr] Downloaded cc v1.2.62 [INFO] [stderr] Downloaded typenum v1.20.0 [INFO] [stderr] Downloaded quinn v0.11.9 [INFO] [stderr] Downloaded rand v0.9.4 [INFO] [stderr] Downloaded tracing-subscriber v0.3.23 [INFO] [stderr] Downloaded wasip2 v1.0.3+wasi-0.2.9 [INFO] [stderr] Downloaded rusqlite v0.32.1 [INFO] [stderr] Downloaded tower-http v0.6.10 [INFO] [stderr] Downloaded hyper v1.9.0 [INFO] [stderr] Downloaded h2 v0.4.14 [INFO] [stderr] Downloaded webpki-roots v1.0.7 [INFO] [stderr] Downloaded rmcp v0.14.0 [INFO] [stderr] Downloaded quinn-proto v0.11.14 [INFO] [stderr] Downloaded zerocopy v0.8.48 [INFO] [stderr] Downloaded unicode-width v0.2.2 [INFO] [stderr] Downloaded rustls v0.23.40 [INFO] [stderr] Downloaded libc v0.2.186 [INFO] [stderr] Downloaded web-sys v0.3.98 [INFO] [stderr] Downloaded tokio v1.52.3 [INFO] [stderr] Downloaded libsqlite3-sys v0.30.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be [INFO] running `Command { std: "docker" "start" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", 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" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", 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" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling siphasher v1.0.3 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling typenum v1.20.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling phf v0.10.1 [INFO] [stderr] Compiling webpki-roots v1.0.7 [INFO] [stderr] Compiling servo_arc v0.3.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling rmcp v0.14.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling pastey v0.2.2 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling ego-tree v0.6.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Compiling selectors v0.25.0 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling cssparser v0.31.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling rmcp-macros v0.14.0 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling scraper v0.20.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.14 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling foia-search v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 4m 25s [INFO] running `Command { std: "docker" "inspect" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", 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" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling selectors v0.25.0 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling scraper v0.20.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling foia-search v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 38s [INFO] running `Command { std: "docker" "inspect" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", 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" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.51s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/foia_search-694b8091c4fdcfb7) [INFO] [stdout] [INFO] [stdout] running 284 tests [INFO] [stdout] test config::status::tests::ocr_status_defaults_to_off_with_no_backend_guidance ... ok [INFO] [stdout] test config::status::tests::every_source_status_note_mentions_rate_or_query_guidance ... ok [INFO] [stdout] test config::status::tests::every_source_status_note_mentions_cache_or_persistence_policy ... ok [INFO] [stdout] test config::status::tests::ocr_status_reports_configured_policy_backend_and_binary_guidance ... ok [INFO] [stdout] test config::status::tests::ocr_status_reports_tesseract_as_unavailable_not_enabled ... ok [INFO] [stdout] test config::status::tests::ocr_status_reports_tesseract_unavailable_even_when_fallback_policy_is_off ... ok [INFO] [stdout] test config::status::tests::source_status_names_follow_registry ... ok [INFO] [stdout] test config::status::tests::source_status_reports_nara_key_state_and_do_not_persist_policy ... ok [INFO] [stdout] test config::tests::ocr_backend_defaults_disabled_without_env_values ... ok [INFO] [stdout] test index::eval_report_tests::eval_report_flags_source_filter_mismatches_without_hiding_results ... ok [INFO] [stdout] test index::eval_report_tests::eval_report_reads_source_warning_from_nested_and_top_level_metadata_shapes ... ok [INFO] [stdout] test index::eval_report_tests::eval_report_records_query_order_empty_state_and_shape_parity ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_apply_does_not_mutate_canonical_tables ... ok [INFO] [stdout] test index::search::tests::local_search_index_delegates_to_backend ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_plan_rewrites_missing_rows ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_keeps_orphans_as_manual_review_without_deleting_them ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_is_clean_when_canonical_and_fts_match ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_reports_stale_rows_when_fields_drift ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_applies_mixed_drift_and_leaves_manual_orphan ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_rewrites_duplicate_rows_to_single_canonical_row ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_reports_orphaned_chunk_fts_rows ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_does_not_mutate_store_rows ... ok [INFO] [stdout] test index::eval_report_tests::eval_report_integrates_with_sqlite_fts_backend ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_apply_is_idempotent_for_second_apply_of_same_plan ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_returns_error_when_derived_table_is_unreadable ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_reports_missing_chunk_fts_rows ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_reports_duplicate_rows_for_matching_chunk ... ok [INFO] [stdout] test ingest::chunk::tests::chunking_preserves_page_ranges ... ok [INFO] [stdout] test ingest::download::tests::cache_key_is_stable_and_source_scoped ... ok [INFO] [stdout] test ingest::download::tests::source_cache_policy_maps_to_store_policy ... ok [INFO] [stdout] test index::reconcile_tests::reconcile_sqlite_fts_report_is_stable_and_idempotent ... ok [INFO] [stdout] test ingest::download_persist::tests::respect_source_headers_no_store_becomes_do_not_persist ... ok [INFO] [stdout] test index::reconcile_repair_tests::repair_plan_rewrites_stale_rows_from_canonical ... ok [INFO] [stdout] test ingest::download::tests::cache_control_no_store_disables_cache_entry ... ok [INFO] [stdout] test index::sqlite_sufficiency_eval_tests::sqlite_sufficiency_eval_reports_empty_corpus_query_as_empty ... ok [INFO] [stdout] test index::sqlite_fts::tests::search_returns_page_aware_chunk_hits ... ok [INFO] [stdout] test index::sqlite_fts::tests::search_hit_carries_persisted_document_notes_and_warning_metadata ... ok [INFO] [stdout] test index::sqlite_fts_eval_tests::sqlite_phase9_baseline_enforces_source_filter_without_shape_regression ... ok [INFO] [stdout] test index::sqlite_fts::tests::search_preserves_source_filter_parity_through_backend_seam ... ok [INFO] [stdout] test index::sqlite_fts_eval_tests::sqlite_phase9_baseline_preserves_result_shape_fields_relevant_to_evals ... ok [INFO] [stdout] test index::sqlite_fts_eval_tests::sqlite_phase9_baseline_keeps_mixed_source_top_k_order_stable ... ok [INFO] [stdout] test ingest::download_persist::tests::persist_download_deletes_cached_row_for_do_not_persist ... ok [INFO] [stdout] test ingest::executor_send_tests::async_store_free_executor_boundaries_are_send ... ok [INFO] [stdout] test ingest::executor_cancel_tests::planning_failure_advances_to_planning_progress ... ok [INFO] [stdout] test index::sqlite_sufficiency_eval_tests::sqlite_sufficiency_eval_covers_mixed_source_filter_and_shape_contract ... ok [INFO] [stdout] test index::sqlite_sufficiency_eval_tests::sqlite_sufficiency_eval_uses_deterministic_tie_breaker_for_equal_scores ... ok [INFO] [stdout] test index::sqlite_sufficiency_eval_tests::sqlite_sufficiency_eval_keeps_mixed_source_top_k_order_stable_across_runs ... ok [INFO] [stdout] test ingest::executor_cancel_tests::cancellation_before_persistence_interrupts_without_partial_rows ... ok [INFO] [stdout] test ingest::ocr::tests::ocr_backend_config_defaults_to_disabled_ocrmypdf_settings ... ok [INFO] [stdout] test ingest::executor_cancel_tests::cancellation_before_asset_provenance_write_keeps_document_rows_resumable ... ok [INFO] [stdout] test ingest::ocr::tests::ocr_backend_config_parses_explicit_ocrmypdf_backend ... ok [INFO] [stdout] test ingest::ocr::tests::ocr_backend_config_parses_tesseract_as_unimplemented_backend ... ok [INFO] [stdout] test ingest::executor_cancel_tests::cancellation_after_source_resolution_is_resumable ... ok [INFO] [stdout] test ingest::executor_send_tests::full_executor_run_next_future_is_send ... ok [INFO] [stdout] test index::sqlite_fts_eval_tests::sqlite_phase9_baseline_returns_empty_hits_for_empty_or_sparse_corpora ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::missing_ocrmypdf_binary_returns_unavailable ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::ocrmypdf_cancellation_kills_process ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::invalid_ocrmypdf_output_is_rejected_before_reparse ... ok [INFO] [stdout] test ingest::pdf_text_tests::embedded_failure_is_rescued_by_ocr_when_enabled ... ok [INFO] [stdout] test ingest::pdf_text_tests::embedded_pdf_text_with_warnings_keeps_embedded_when_ocr_disabled ... ok [INFO] [stdout] test ingest::pdf_text_tests::embedded_pdf_text_with_warnings_uses_compatible_ocr_when_enabled ... ok [INFO] [stdout] test ingest::pdf_text_tests::embedded_pdf_text_without_warnings_does_not_try_ocr ... ok [INFO] [stdout] test ingest::pdf_text_tests::incompatible_ocr_page_boundaries_keep_embedded_pdf_text ... ok [INFO] [stdout] test ingest::executor_tests::stale_worker_cannot_record_warning_after_reclaim ... ok [INFO] [stdout] test ingest::executor_frus_tests::frus_executor_loopback_preserves_official_metadata_and_notes ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::nonzero_ocrmypdf_exit_captures_bounded_stderr ... ok [INFO] [stdout] test ingest::executor_tests::failed_download_marks_job_failed_and_can_claim_requeued_job ... ok [INFO] [stdout] test ingest::executor_cancel_tests::extraction_cancelled_error_marks_job_interrupted_not_failed ... ok [INFO] [stdout] test ingest::pdf_text_tests::ocr_cancellation_is_not_swallowed_as_embedded_fallback ... ok [INFO] [stdout] test ingest::pdf_text_tests::ocr_policy_parses_only_explicit_opt_in_as_enabled ... ok [INFO] [stdout] test ingest::pdf_text_tests::ocr_failure_falls_back_to_embedded_pdf_text_and_warnings ... ok [INFO] [stdout] test ingest::executor_nara_tests::nara_executor_loopback_keeps_do_not_persist_and_metadata_contracts ... ok [INFO] [stdout] test ingest::pdftotext::tests::missing_binary_returns_explicit_error ... ok [INFO] [stdout] test ingest::executor_tests::extraction_failure_after_download_leaves_no_partial_local_rows ... ok [INFO] [stdout] test ingest::reconcile_compare::tests::reconcile_compare_detects_mismatch_and_trailing_content ... ok [INFO] [stdout] test ingest::reconcile_compare::tests::reconcile_compare_matches_rendered_pages_without_full_file_read ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::ocrmypdf_output_is_reparsed_with_pdftotext ... ok [INFO] [stdout] test ingest::executor_cancel_tests::cancellation_after_claim_marks_job_interrupted ... ok [INFO] [stdout] test ingest::pdftotext::tests::cancellation_kills_process_and_returns_cancelled_error ... ok [INFO] [stdout] test ingest::executor_tests::expired_running_job_reclaims_and_replaces_partial_state ... ok [INFO] [stdout] test ingest::executor_tests::run_next_ingests_document_asset_pages_chunks_and_warnings ... ok [INFO] [stdout] test ingest::pdftotext::tests::nonzero_exit_captures_bounded_stderr ... ok [INFO] [stdout] test ingest::pdftotext::tests::blank_pages_are_preserved_and_warned_for ... ok [INFO] [stdout] test ingest::reconcile_repair_tests::planner_is_idempotent_and_orders_actions_stably ... ok [INFO] [stdout] test ingest::pdf_text_tests::incompatible_ocr_page_boundaries_record_durable_job_warning ... ok [INFO] [stdout] test ingest::reconcile_repair_tests::planner_maps_orphaned_issues_to_manual_review_actions ... ok [INFO] [stdout] test ingest::reconcile_repair_tests::planner_maps_missing_and_stale_issues_to_rewrite_actions ... ok [INFO] [stdout] test ingest::reconcile_repair_tests::planner_returns_empty_actions_for_clean_report ... ok [INFO] [stdout] test ingest::pdftotext::tests::extracts_form_feed_pages_from_external_output ... ok [INFO] [stdout] test ingest::pdf_text_tests::non_pdf_text_asset_bypasses_ocr_selector ... ok [INFO] [stdout] test ingest::executor_tests::interrupted_job_preserves_stage_and_progress_then_resumes ... ok [INFO] [stdout] test ingest::pdftotext::tests::timeout_kills_process_and_returns_timeout_error ... ok [INFO] [stdout] test ingest::ocr::tests::ocr_backend_config_ignores_unknown_values ... ok [INFO] [stdout] test ingest::executor_govinfo_tests::govinfo_executor_loopback_persists_metadata_and_plan_contract ... ok [INFO] [stdout] test ingest::redirect::tests::rejects_loopback_literal ... ok [INFO] [stdout] test ingest::redirect::tests::rejects_malformed_location ... ok [INFO] [stdout] test ingest::redirect::tests::rejects_unsafe_cross_host_literals ... ok [INFO] [stdout] test ingest::redirect::tests::resolves_relative_location ... ok [INFO] [stdout] test ingest::source_plan::tests::doj_epstein_mixed_media_preserves_sensitive_notes_and_selects_pdf_only ... ok [INFO] [stdout] test ingest::source_plan::tests::falls_back_to_ocr_text_when_no_pdf_exists ... ok [INFO] [stdout] test ingest::source_plan::tests::falls_back_to_plain_text_mime_for_other_assets ... ok [INFO] [stdout] test ingest::source_plan::tests::normalizes_pdf_asset_from_mime_or_url_hint ... ok [INFO] [stdout] test ingest::source_plan::tests::prefers_pdf_over_ocr_and_preserves_notes ... ok [INFO] [stdout] test ingest::source_plan::tests::returns_actionable_error_without_ingestible_asset ... ok [INFO] [stdout] test ingest::source_plan::tests::returns_error_for_invalid_document_key ... ok [INFO] [stdout] test ingest::source_plan::tests::uses_record_pdf_url_when_asset_list_lacks_pdf ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::falls_back_to_html_only_when_no_document_asset_exists ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::falls_back_to_plain_text_before_html_when_no_pdf_exists ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::govinfo_plan_preserves_notes_warning_policy_and_official_urls ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::preserves_source_ids_without_promoting_them_to_document_keys ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::reports_actionable_error_with_candidate_roles_for_metadata_only_media ... ok [INFO] [stdout] test ingest::source_plan_asset_tests::selects_pdf_over_images_audio_video_html_and_other_assets ... ok [INFO] [stdout] test ingest::reconcile_repair_apply_tests::apply_reports_path_mismatch_explicitly ... ok [INFO] [stdout] test ingest::worker::tests::idle_worker_wait_times_out_without_kick ... ok [INFO] [stdout] test ingest::worker::tests::kick_wakes_idle_worker_wait_without_poll_timeout ... ok [INFO] [stdout] test ingest::reconcile_repair_apply_tests::apply_skips_manual_review_without_mutation ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_does_not_delete_canonical_rows_or_blobs ... ok [INFO] [stdout] test ingest::reconcile_repair_apply_tests::apply_recreates_missing_parent_directories ... ok [INFO] [stdout] test ingest::worker::tests::shutdown_takes_precedence_over_drained_kicks ... ok [INFO] [stdout] test ingest::worker_cancel_tests::shutdown_requests_cancellation_before_join ... ok [INFO] [stdout] test ingest::worker_ocr::tests::effective_ocr_backend_keeps_unimplemented_tesseract_disabled ... ok [INFO] [stdout] test ingest::worker_ocr::tests::effective_ocr_backend_requires_policy_and_backend_opt_in ... ok [INFO] [stdout] test ingest::worker_send_tests::queued_worker_run_once_future_is_send ... ok [INFO] [stdout] test mcp::direct_ingestion_policy::tests::deny_all_never_allows_url_source_ids ... ok [INFO] [stdout] test mcp::direct_ingestion_policy::tests::fixture_policy_allows_only_configured_source_scheme_host_port_and_path_prefix ... ok [INFO] [stdout] test mcp::direct_ingestion_policy::tests::fixture_policy_rejects_malformed_entries ... ok [INFO] [stdout] test mcp::fts_repair_tests::apply_rejects_bad_confirmation_without_mutation ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_detects_missing_expected_artifacts ... ok [INFO] [stdout] test mcp::fts_repair_tests::apply_rewrites_safe_rows_and_is_idempotent ... ok [INFO] [stdout] test ingest::reconcile_repair_tests::planner_does_not_mutate_files_or_db_rows ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_detects_orphaned_artifacts ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_handles_absent_artifact_paths ... ok [INFO] [stdout] test mcp::ingestion_tests::direct_url_and_local_file_inputs_are_actionably_rejected ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_reports_directory_shape_errors ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_detects_stale_expected_artifacts ... ok [INFO] [stdout] test ingest::reconcile_repair_apply_tests::apply_rewrites_missing_and_stale_derived_artifacts ... ok [INFO] [stdout] test mcp::fts_repair_tests::bad_confirmation_maps_to_invalid_params ... ok [INFO] [stdout] test mcp::fts_repair_tests::mcp_apply_does_not_mutate_canonical_tables ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_detects_orphaned_non_file_page_entries ... ok [INFO] [stdout] test mcp::fts_repair_tests::orphan_rows_remain_manual_review_and_are_not_deleted ... ok [INFO] [stdout] test mcp::ingestion_tests::source_prefixed_direct_or_path_like_inputs_are_rejected ... ok [INFO] [stdout] test mcp::ingestion_tests::source_prefixed_direct_urls_require_exact_trusted_path_prefix ... ok [INFO] [stdout] test mcp::ingestion_tests::source_prefixed_document_id_can_contain_adapter_path_syntax ... ok [INFO] [stdout] test mcp::fts_repair_tests::report_and_plan_surface_remain_dry_run ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_enqueues_durable_job_for_local_source_prefixed_document ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_remains_direct_deny_even_with_trusted_policy_fixture ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_rejects_unknown_source_with_actionable_local_document_error ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_accepts_local_document_key_and_preserves_revalidation_metadata ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_rejects_unknown_or_non_local_document_before_enqueue ... ok [INFO] [stdout] test ingest::ocrmypdf_tests::ocrmypdf_timeout_kills_process ... ok [INFO] [stdout] test mcp::ingestion_tests::source_prefixed_document_id_parses_and_enqueues ... ok [INFO] [stdout] test ingest::reconcile_tests::reconcile_reports_no_issues_when_artifacts_match_and_is_idempotent ... ok [INFO] [stdout] test mcp::schema_tests::all_expected_mcp_tools_are_registered_with_metadata ... ok [INFO] [stdout] test mcp::schema_tests::list_sources_tool_description_names_object_response_shape ... ok [INFO] [stdout] test mcp::schema_tests::repair_apply_tool_descriptions_name_confirmation_and_manual_review_behavior ... ok [INFO] [stdout] test mcp::schema_tests::repair_apply_tool_schemas_expose_confirmation_guidance ... ok [INFO] [stdout] test mcp::schema_tests::search_local_documents_tool_description_names_object_response_shape ... ok [INFO] [stdout] test mcp::schema_tests::source_bearing_tool_schemas_include_the_central_source_list ... ok [INFO] [stdout] test mcp::ingestion_tests::trusted_source_prefixed_https_url_is_allowed_only_with_explicit_policy ... ok [INFO] [stdout] test mcp::source_params::tests::source_parameter_schema_descriptions_list_all_valid_sources ... ok [INFO] [stdout] test mcp::source_params::tests::source_parameter_schema_descriptions_use_central_source_list ... ok [INFO] [stdout] test mcp::status::tests::list_sources_entries_remain_compact_source_status_objects ... ok [INFO] [stdout] test mcp::status::tests::list_sources_output_reports_default_ocr_off_and_no_backend ... ok [INFO] [stdout] test mcp::status::tests::list_sources_output_reports_enabled_ocr_policy_and_backend ... ok [INFO] [stdout] test mcp::support_tests::local_document_outputs_source_warning_from_persisted_metadata ... ok [INFO] [stdout] test mcp::support_tests::local_search_hit_outputs_source_warning_citation_and_terms ... ok [INFO] [stdout] test mcp::support_tests::local_search_response_includes_guidance_for_empty_unfiltered_results ... ok [INFO] [stdout] test mcp::status::tests::list_sources_output_serializes_as_object_with_ocr_and_sources ... ok [INFO] [stdout] test mcp::support_tests::local_search_response_keeps_non_empty_hit_shape_and_no_next_actions ... ok [INFO] [stdout] test mcp::support_tests::local_search_response_includes_source_specific_guidance_for_filter_miss ... ok [INFO] [stdout] test mcp::support_tests::local_text_empty_result_includes_guidance_without_body_text ... ok [INFO] [stdout] test mcp::support_tests::local_text_outputs_source_warning_from_persisted_metadata ... ok [INFO] [stdout] test mcp::support_tests::text_page_range_accepts_one_based_inclusive_maximum ... ok [INFO] [stdout] test mcp::support_tests::text_page_range_rejects_missing_bounds_with_actionable_message ... ok [INFO] [stdout] test mcp::support_tests::text_page_range_rejects_zero_inverted_and_oversized_ranges ... ok [INFO] [stdout] test mcp::tools::tests::document_locator_preserves_valid_source_and_id ... ok [INFO] [stdout] test mcp::tools::tests::document_locator_requires_source_prefix_and_source_id ... ok [INFO] [stdout] test mcp::tools::tests::ingestion_job_response_falls_back_to_target_url_and_stage_action ... ok [INFO] [stdout] test mcp::tools::tests::ingestion_job_response_includes_document_id_next_actions_and_errors ... ok [INFO] [stdout] test mcp::tools::tests::local_document_response_parses_metadata_json ... ok [INFO] [stdout] test mcp::tools::tests::local_document_response_rejects_invalid_metadata_json ... ok [INFO] [stdout] test mcp::tools::tests::local_document_text_response_includes_page_citations_and_combined_text ... ok [INFO] [stdout] test ingest::reconcile_repair_apply_tests::apply_second_pass_is_idempotent ... ok [INFO] [stdout] test mcp::ingestion_tests::refresh_uses_same_direct_ingestion_rejection_before_enqueue ... ok [INFO] [stdout] test mcp::ingestion_tests::source_prefixed_untrusted_urls_do_not_create_jobs_even_with_policy_fixture ... ok [INFO] [stdout] test mcp::tools::tests::source_validation_accepts_known_sources_and_rejects_unknown_sources ... ok [INFO] [stdout] test mcp::tools::tests::text_page_range_accepts_inclusive_bounded_ranges ... ok [INFO] [stdout] test mcp::tools::tests::text_page_range_rejects_zero_inverted_and_oversized_ranges ... ok [INFO] [stdout] test mcp::tools::tests::text_page_range_requires_explicit_bounds ... ok [INFO] [stdout] test model::tests::source_record_response_promotes_warning_and_assets ... ok [INFO] [stdout] test model::tests::source_warning_helper_accepts_persisted_source_metadata_shape ... ok [INFO] [stdout] test source_registry_tests::list_sources_notes_are_registered_for_every_runtime_source ... ok [INFO] [stdout] test source_registry_tests::runtime_source_cache_policies_match_source_status_guidance ... ok [INFO] [stdout] test ingest::worker::tests::run_once_returns_none_when_no_job_is_available ... ok [INFO] [stdout] test source_registry_tests::source_names_match_runtime_mcp_and_config_status ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::aaro_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::army_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::cia_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::dia_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::doe_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::doj_epstein_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::doj_foia_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::dtic_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::fbi_vault_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::frus_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::govinfo_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::nara_adapter_cache_policy_remains_do_not_persist ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::navy_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::noaa_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::nsa_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::osd_joint_staff_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::pursue_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::source_adapter_default_cache_policy_is_respect_source_headers ... ok [INFO] [stdout] test sources::cache_policy_contract_tests::state_adapter_cache_policy_remains_respect_source_headers ... ok [INFO] [stdout] test sources::cia::tests::parse_document_extracts_title_metadata_and_attachments ... ok [INFO] [stdout] test sources::cia::tests::parse_search_extracts_document_results ... ok [INFO] [stdout] test sources::cia::tests::parse_search_uses_next_link_for_cursor ... ok [INFO] [stdout] test sources::cia::tests::parse_search_handles_nested_result_markup ... ok [INFO] [stdout] test sources::cia::tests::parse_search_warns_when_shape_changes ... ok [INFO] [stdout] test sources::cia::tests::rejects_cross_origin_cia_document_urls ... ok [INFO] [stdout] test sources::doe::live::url::tests::official_url_accepts_opennet_detail_https_only ... ok [INFO] [stdout] test sources::cia::tests::rejects_non_cia_document_urls ... ok [INFO] [stdout] test sources::dtic::live::url::tests::parses_accession_from_citation_url ... ok [INFO] [stdout] test sources::dtic::live::url::tests::rejects_non_official_and_http_urls ... ok [INFO] [stdout] test sources::frus::live::assets::tests::assets_prefer_tei_then_pdf_then_html_then_ebook ... ok [INFO] [stdout] test sources::frus::live::url::tests::parses_source_id_from_official_url ... ok [INFO] [stdout] test sources::frus::live::url::tests::rejects_non_official_urls ... ok [INFO] [stdout] test sources::govinfo::live::assets::tests::attachments_prefer_pdf_xml_mods_order ... ok [INFO] [stdout] test sources::govinfo::live::assets::tests::attachments_reject_official_mismatches_and_non_govinfo_hosts ... ok [INFO] [stdout] test sources::govinfo::live::parse_tests::parse_locator_accepts_ids_urls_and_composites ... ok [INFO] [stdout] test sources::govinfo::live::parse_tests::summary_record_uses_official_urls_and_preserves_policy_metadata ... ok [INFO] [stdout] test sources::govinfo::live::parse_tests::search_record_normalization_prefers_result_link_and_notes ... ok [INFO] [stdout] test sources::nara::tests::converts_offsets_to_documented_page_numbers ... ok [INFO] [stdout] test sources::nara::tests::cursor_round_trips_offsets ... ok [INFO] [stdout] test sources::nara::tests::parses_elasticsearch_style_hits ... ok [INFO] [stdout] test sources::nara::tests::parses_records_and_digital_assets ... ok [INFO] [stdout] test sources::noaa::live::url::tests::parses_source_id_from_official_view_url ... ok [INFO] [stdout] test sources::noaa::live::url::tests::rejects_non_official_or_http_urls ... ok [INFO] [stdout] test sources::redirect_contract_tests::aaro_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::army_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::cia_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::dia_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::doe_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::doj_epstein_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::doj_foia_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::dtic_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::fbi_vault_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::frus_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::govinfo_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::nara_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::navy_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::noaa_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::nsa_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::osd_joint_staff_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::pursue_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test sources::redirect_contract_tests::source_adapter_default_redirect_policy_is_deny ... ok [INFO] [stdout] test sources::redirect_contract_tests::state_adapter_redirect_policy_remains_deny_by_default ... ok [INFO] [stdout] test mcp::ingestion_tests::direct_url_and_local_file_rejections_do_not_create_jobs ... ok [INFO] [stdout] test store::cache::tests::expired_entries_are_not_returned ... ok [INFO] [stdout] test store::files::tests::concurrent_put_reader_uses_unique_temp_files ... ok [INFO] [stdout] test store::cache::tests::do_not_persist_entries_are_not_stored ... ok [INFO] [stdout] test ingest::worker::tests::run_once_marks_claimed_job_failed_when_execution_fails ... ok [INFO] [stdout] test store::sqlite_tests::document_metadata_can_be_loaded_by_public_id_or_key ... ok [INFO] [stdout] test store::sqlite_tests::document_key_must_not_be_source_id_or_public_id ... ok [INFO] [stdout] test store::sqlite_tests::migration_is_idempotent ... ok [INFO] [stdout] test store::sqlite_tests::ingestion_job_creation_is_idempotent_and_outbox_is_stable ... ok [INFO] [stdout] test ingest::worker::tests::completed_job_is_not_executed_again ... ok [INFO] [stdout] test store::sqlite_tests::missing_ingestion_job_returns_typed_error ... ok [INFO] [stdout] test store::sqlite_tests::unsafe_document_keys_are_rejected ... ok [INFO] [stdout] test store::sqlite_tests::asset_upsert_returns_stable_row_id ... ok [INFO] [stdout] test mcp::repair_tests::report_and_plan_surface_remain_dry_run ... ok [INFO] [stdout] test store::sqlite_tests::page_text_returns_inclusive_ordered_range ... ok [INFO] [stdout] test store::sqlite_tests::page_text_reports_missing_document_and_missing_pages ... ok [INFO] [stdout] test store::sqlite_tests::page_text_validates_range ... ok [INFO] [stdout] test mcp::repair_tests::bad_confirmation_maps_to_invalid_params ... ok [INFO] [stdout] test ingest::worker::tests::run_once_picks_up_queued_job_after_enqueue ... ok [INFO] [stdout] test mcp::repair_tests::manual_review_items_are_not_deleted ... ok [INFO] [stdout] test mcp::tools::tests::search_local_documents_returns_actionable_guidance_for_empty_corpus ... ok [INFO] [stdout] test mcp::repair_tests::compact_next_actions_are_operator_gated ... ok [INFO] [stdout] test mcp::repair_tests::apply_requires_confirmation_and_is_idempotent ... ok [INFO] [stdout] test mcp::tools::tests::search_local_documents_returns_object_shape_for_non_empty_results ... ok [INFO] [stdout] test mcp::repair_tests::mcp_apply_does_not_mutate_canonical_tables ... ok [INFO] [stdout] test mcp::tools::tests::search_local_documents_returns_source_specific_guidance_for_filter_miss ... ok [INFO] [stdout] test mcp::tools::tests::refresh_document_kicks_configured_worker_after_durable_enqueue ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 284 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/foia_search-88a9ab5a0ac4ce0a) [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] [stderr] Running tests/aaro_http.rs (/opt/rustwide/target/release/deps/aaro_http-0d1eb7aea98d5e67) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test search_returns_warning_when_no_records_match_query ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test list_assets_orders_pdfs_before_images_and_video ... ok [INFO] [stdout] test search_reads_uap_records_listing_and_returns_normalized_leads ... ok [INFO] [stdout] test search_returns_direct_same_origin_pdf_leads_from_listing ... ok [INFO] [stdout] test get_record_accepts_official_aaro_url ... ok [INFO] [stdout] test get_record_by_prefixed_slug_parses_detail_and_metadata_assets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/army_http.rs (/opt/rustwide/target/release/deps/army_http-baad9fb10fc2fbca) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test get_record_by_returned_id_resolves_official_document_url ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test get_record_accepts_official_category_url ... ok [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test search_returns_official_army_reading_room_leads ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/cia_http.rs (/opt/rustwide/target/release/deps/cia_http-0b1ea9878f59a207) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test redirect_response_is_denied_without_following_target ... ok [INFO] [stdout] test http_failure_returns_actionable_fetch_error ... ok [INFO] [stdout] test http_get_record_fetches_and_parses_detail ... ok [INFO] [stdout] test http_search_fetches_parses_and_limits_results ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/dia_http.rs (/opt/rustwide/target/release/deps/dia_http-66f41b54c6256959) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test get_record_direct_fileid_url_returns_single_pdf_asset_without_http ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test get_record_accepts_official_url ... ok [INFO] [stdout] test get_record_by_prefixed_id_parses_detail_and_orders_assets ... ok [INFO] [stdout] test search_returns_official_dia_reading_room_leads ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stderr] Running tests/doe_http.rs (/opt/rustwide/target/release/deps/doe_http-d50ba87f5c115966) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test search_redirect_is_denied ... ok [INFO] [stdout] test invalid_search_html_reports_source_changed ... ok [INFO] [stdout] test get_record_accepts_official_url_and_rejects_non_official_url ... ok [INFO] [stdout] test search_empty_returns_warning_page ... ok [INFO] [stdout] test get_record_accepts_prefixed_id_and_lists_pdf_first ... ok [INFO] [stdout] test search_returns_official_doe_opennet_leads ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/doj_epstein_http.rs (/opt/rustwide/target/release/deps/doj_epstein_http-f475415fb95e1bb9) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test redirect_is_denied_for_disclosures_search ... ok [INFO] [stdout] test search_preserves_direct_media_ids_for_get_record_lookup ... ok [INFO] [stdout] test get_record_accepts_official_foia_url ... ok [INFO] [stdout] test get_record_bop_video_classifies_media_and_keeps_pdf_preferred ... ok [INFO] [stdout] test get_record_data_set_source_id_prefers_pdf_and_preserves_metadata ... ok [INFO] [stdout] test search_returns_doj_leads_with_sensitive_warning_and_category_provenance ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/doj_foia_http.rs (/opt/rustwide/target/release/deps/doj_foia_http-4d068d5006bd4129) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test direct_legacy_http_asset_url_is_canonicalized_before_return ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test search_includes_official_external_component_link_shape ... ok [INFO] [stdout] test list_assets_prefers_pdf_then_html_other_roles ... ok [INFO] [stdout] test get_record_by_source_id_fetches_component_page_and_prefers_pdf_assets ... ok [INFO] [stdout] test search_returns_component_records_with_oip_provenance ... ok [INFO] [stdout] test search_includes_fbi_component_link_shape ... ok [INFO] [stdout] test get_record_official_url_returns_html_asset_when_no_pdf_available ... ok [INFO] [stdout] test redirect_is_denied_for_oip_index_fetch ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test invalid_component_html_returns_source_changed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running tests/download_cache.rs (/opt/rustwide/target/release/deps/download_cache-3ed1547308739677) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test explicit_same_host_redirect_persists_final_body ... ok [INFO] [stdout] test respect_source_headers_persists_blob_cache_and_revalidates ... ok [INFO] [stdout] test http_error_does_not_write_cache_or_blob ... ok [INFO] [stdout] test redirect_max_hop_limit_is_enforced ... ok [INFO] [stdout] test relative_redirect_location_is_resolved_and_validated ... ok [INFO] [stdout] test redirect_without_location_is_denied_without_persisting ... ok [INFO] [stdout] test redirect_response_is_not_followed_or_persisted ... ok [INFO] [stdout] test do_not_persist_downloads_blob_but_leaves_cache_empty ... ok [INFO] [stdout] test cross_host_redirect_requires_explicit_policy ... ok [INFO] [stdout] test oversized_response_is_rejected_before_persisting ... ok [INFO] [stdout] test repeated_same_body_downloads_deduplicate_in_file_store ... ok [INFO] [stderr] Running tests/dtic_http.rs (/opt/rustwide/target/release/deps/dtic_http-1c4e85709667907a) [INFO] [stdout] test unsafe_redirect_targets_are_rejected_before_fetch ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test metadata_only_record_does_not_infer_pdf_asset ... ok [INFO] [stdout] test json_body_returns_source_changed ... ok [INFO] [stdout] test search_without_accession_returns_guarded_warning_without_http ... ok [INFO] [stdout] test redirect_response_is_denied_for_citation_fetch ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test list_assets_prefers_pdf_first_and_dedupes ... ok [INFO] [stdout] test get_record_accepts_official_pdf_url_and_resolves_citation_page ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test get_record_accepts_prefixed_plain_and_official_citation_urls ... ok [INFO] [stdout] test search_with_accession_query_fetches_official_record_and_warns_about_fragility ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/evals_contract.rs (/opt/rustwide/target/release/deps/evals_contract-14793c5944cdcf8b) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test evals_xml_has_readable_structure_unique_ids_and_current_wording ... ok [INFO] [stdout] test every_registered_source_has_eval_coverage ... ok [INFO] [stdout] test repair_direct_ingestion_and_sensitive_source_guardrails_are_covered ... ok [INFO] [stdout] test repair_eval_cases_pin_explicit_report_plan_apply_contracts ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/fbi_vault_http.rs (/opt/rustwide/target/release/deps/fbi_vault_http-d078370688fc99be) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test get_record_direct_download_url_returns_single_pdf_asset ... ok [INFO] [stdout] test get_record_canonicalizes_official_http_vault_url_without_redirect ... ok [INFO] [stdout] test get_record_accepts_official_vault_url ... ok [INFO] [stdout] test list_assets_orders_pdf_parts_naturally_before_non_pdf ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test get_record_round_trips_percent_encoded_asset_source_id ... ok [INFO] [stdout] test get_record_by_prefixed_slug_resolves_multipart_pdf_assets ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test search_returns_vault_records_with_official_provenance ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/frus_http.rs (/opt/rustwide/target/release/deps/frus_http-858e111024927eda) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test catalog_shape_change_returns_source_changed ... ok [INFO] [stdout] test get_record_accepts_frus_prefixed_id ... ok [INFO] [stdout] test frus_plan_prefers_pdf_but_preserves_official_urls_notes_and_source_metadata ... ok [INFO] [stdout] test detail_shape_change_returns_source_changed ... ok [INFO] [stdout] test get_record_accepts_official_history_state_url ... ok [INFO] [stdout] test non_official_url_is_rejected_before_http ... ok [INFO] [stdout] test frus_plan_uses_tei_text_source_when_pdf_asset_is_unavailable ... ok [INFO] [stdout] test list_assets_prefers_tei_pdf_html_then_epub ... ok [INFO] [stdout] test redirect_response_is_denied_for_catalog_search ... ok [INFO] [stdout] test search_catalog_parses_frus_records_and_metadata ... ok [INFO] [stdout] test search_empty_returns_warning ... ok [INFO] [stdout] test unexpected_search_html_returns_source_changed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/govinfo_http.rs (/opt/rustwide/target/release/deps/govinfo_http-088b0841d5edbcf8) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test search_requires_api_key_before_http ... ok [INFO] [stdout] test search_empty_results_returns_warning ... ok [INFO] [stdout] test search_posts_json_and_normalizes_package_and_granule_results ... ok [INFO] [stdout] test get_record_accepts_details_url_and_fetches_granule_summary ... ok [INFO] [stdout] test get_record_fetches_package_summary_for_plain_package_id ... ok [INFO] [stdout] test search_suppresses_repeat_offset_mark_cursor ... ok [INFO] [stdout] test invalid_html_body_returns_source_changed ... ok [INFO] [stdout] test redirect_response_is_denied_for_search_post ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/ingest_jobs.rs (/opt/rustwide/target/release/deps/ingest_jobs-5fbd55167ec97149) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test interruption_preserves_resume_stage_and_progress ... ok [INFO] [stdout] test failed_job_keeps_original_terminal_error_on_replay ... ok [INFO] [stdout] test progress_is_monotonic_and_warnings_are_deduplicated ... ok [INFO] [stdout] test expired_running_lease_can_be_reclaimed_for_resume ... ok [INFO] [stdout] test claims_oldest_queued_job_with_a_lease ... ok [INFO] [stdout] test wrong_worker_cannot_complete_running_job ... ok [INFO] [stdout] test specific_claim_is_idempotent_for_same_worker ... ok [INFO] [stdout] test completion_sets_success_and_clears_lease ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/ingest_pipeline.rs (/opt/rustwide/target/release/deps/ingest_pipeline-fe2c98f81ab81264) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test repeated_text_ingestion_replaces_existing_fts_rows ... ok [INFO] [stdout] test text_ingestion_preserves_pages_and_chunks ... ok [INFO] [stdout] test text_ingestion_populates_fts_with_page_ranges ... ok [INFO] [stdout] test empty_text_input_fails_without_partial_document_row ... ok [INFO] [stdout] test text_ingestion_preserves_blank_pages_between_text_pages ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/ingest_worker_restart.rs (/opt/rustwide/target/release/deps/ingest_worker_restart-5de36215ee9f6ddb) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test queued_worker_process_restart_resumes_expired_running_job_without_duplicates ... [INFO] [stdout] running 1 test [INFO] [stdout] test queued_worker_process_restart_replaces_seeded_partial_local_state_without_duplicates ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test queued_worker_process_restart_replaces_seeded_partial_local_state_without_duplicates ... [INFO] [stdout] running 1 test [INFO] [stdout] test queued_worker_process_restart_resumes_expired_running_job_without_duplicates ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] test queued_worker_process_restart_replaces_seeded_partial_local_state_without_duplicates ... ok [INFO] [stdout] ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] test queued_worker_process_restart_resumes_expired_running_job_without_duplicates ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running tests/ingest_worker_restart_support.rs (/opt/rustwide/target/release/deps/ingest_worker_restart_support-bfe86fc2e18adcab) [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] [stderr] Running tests/nara_http.rs (/opt/rustwide/target/release/deps/nara_http-bdae094ce76a14ac) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test missing_key_returns_actionable_error_without_http ... ok [INFO] [stdout] test get_record_fetches_detail_by_naid_url ... ok [INFO] [stdout] test redirect_response_is_denied_without_following_target ... ok [INFO] [stdout] test html_response_returns_source_changed_error ... ok [INFO] [stdout] test search_fetches_json_with_api_key_and_normalizes_records ... ok [INFO] [stdout] test get_record_returns_error_when_naid_is_missing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/navy_http.rs (/opt/rustwide/target/release/deps/navy_http-0e087f396646bbcc) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test get_record_by_returned_id_resolves_official_pdf_url ... ok [INFO] [stdout] test get_record_accepts_official_component_url ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test rejects_official_url_outside_documented_family_scope ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test search_returns_official_navy_reading_room_leads ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/noaa_http.rs (/opt/rustwide/target/release/deps/noaa_http-3049b38581df1945) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test get_record_accepts_plain_id_and_official_url ... ok [INFO] [stdout] test json_body_returns_source_changed ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test get_record_accepts_noaa_prefixed_id_and_parses_detail_metadata ... ok [INFO] [stdout] test redirect_response_is_denied_for_search_fetch ... ok [INFO] [stdout] test list_assets_orders_pdf_first_and_dedupes ... ok [INFO] [stdout] test search_empty_fixture_returns_warning ... ok [INFO] [stdout] test search_parses_noaa_records_and_dedupes_duplicate_repository_ids ... ok [INFO] [stdout] test xml_body_returns_source_changed ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/nsa_http.rs (/opt/rustwide/target/release/deps/nsa_http-6345fa1cd7dd54a8) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test get_record_direct_pdf_url_returns_single_pdf_asset_without_http ... ok [INFO] [stdout] test get_record_by_prefixed_id_parses_detail_and_orders_pdf_assets ... ok [INFO] [stdout] test get_record_accepts_official_url ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test search_returns_official_nsa_reading_room_leads ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/osd_joint_staff_http.rs (/opt/rustwide/target/release/deps/osd_joint_staff_http-157800fb8b74144d) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test get_record_direct_official_pdf_returns_single_pdf_asset_without_http ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] test get_record_accepts_official_url ... ok [INFO] [stdout] test get_record_by_prefixed_id_parses_detail_and_orders_assets ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stderr] Running tests/pursue_http.rs (/opt/rustwide/target/release/deps/pursue_http-2603baf94586a041) [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test search_returns_official_osd_joint_staff_reading_room_leads ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test redirect_is_denied_for_ufo_index_fetch ... ok [INFO] [stdout] test get_record_release_collects_pdf_image_and_video_assets ... ok [INFO] [stdout] test release_page_without_assets_returns_source_changed ... ok [INFO] [stdout] test get_record_asset_url_with_release_hint_keeps_asset_provenance ... ok [INFO] [stdout] test search_returns_warning_when_no_records_match_query ... ok [INFO] [stdout] test search_uses_ufo_index_and_csv_and_returns_tranche_records ... ok [INFO] [stdout] test get_record_accepts_official_release_article_url ... ok [INFO] [stdout] test get_record_accepts_search_returned_source_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/repair_surface_contracts.rs (/opt/rustwide/target/release/deps/repair_surface_contracts-24587cc2d0f3d30c) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test repair_references_stay_on_operator_facing_surfaces ... ok [INFO] [stdout] test startup_runtime_and_worker_do_not_reference_repair_surfaces ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/repair_surfaces_worker.rs (/opt/rustwide/target/release/deps/repair_surfaces_worker-38ee7a2756d95e9d) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test queued_worker_reclaims_interrupted_job_without_invoking_repair_surfaces ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/state_http.rs (/opt/rustwide/target/release/deps/state_http-5f2ec5df79c8722d) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test rejects_non_official_url_before_http ... ok [INFO] [stdout] test get_record_direct_pdf_url_returns_single_pdf_asset_without_http ... ok [INFO] [stdout] test redirect_is_denied_for_search_fetch ... ok [INFO] [stdout] test search_no_match_returns_warning ... ok [INFO] [stdout] test search_returns_official_state_vrr_leads ... ok [INFO] [stdout] test get_record_by_prefixed_id_parses_detail_and_orders_assets ... ok [INFO] [stdout] test invalid_html_returns_source_changed ... ok [INFO] [stdout] test get_record_accepts_official_url ... ok [INFO] [stdout] test list_assets_prefers_pdfs_before_non_pdf_assets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests foia_search [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" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be", kill_on_drop: false }` [INFO] [stdout] 57009871a3d71b959e85480842106d4903f127456d9e8d82e5c76c608a4af3be