[INFO] cloning repository https://github.com/johnzilla/3goodsources
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johnzilla/3goodsources" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnzilla%2F3goodsources", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnzilla%2F3goodsources'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 781a7421c0a2ceb03c32c8ce0434ba171e4787b6
[INFO] testing johnzilla/3goodsources against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnzilla%2F3goodsources" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/johnzilla/3goodsources
[INFO] finished tweaking git repo https://github.com/johnzilla/3goodsources
[INFO] tweaked toml for git repo https://github.com/johnzilla/3goodsources written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/johnzilla/3goodsources on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/johnzilla/3goodsources 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 27 packages to latest Rust 1.85 compatible versions
[INFO] [stderr]       Adding android_system_properties v0.1.5
[INFO] [stderr]       Adding chrono v0.4.44
[INFO] [stderr]       Adding foldhash v0.1.5
[INFO] [stderr]       Adding getrandom v0.4.2
[INFO] [stderr]       Adding hashbrown v0.15.5
[INFO] [stderr]       Adding heck v0.5.0
[INFO] [stderr]       Adding iana-time-zone v0.1.65
[INFO] [stderr]       Adding iana-time-zone-haiku v0.1.2
[INFO] [stderr]       Adding id-arena v2.3.0
[INFO] [stderr]       Adding leb128fmt v0.1.0
[INFO] [stderr]       Adding prettyplease v0.2.37
[INFO] [stderr]       Adding r-efi v6.0.0
[INFO] [stderr]       Adding unicode-xid v0.2.6
[INFO] [stderr]       Adding uuid v1.22.0
[INFO] [stderr]       Adding wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06 (requires Rust 1.87.0)
[INFO] [stderr]       Adding wasm-encoder v0.244.0
[INFO] [stderr]       Adding wasm-metadata v0.244.0
[INFO] [stderr]       Adding wasmparser v0.244.0
[INFO] [stderr]       Adding windows-core v0.62.2
[INFO] [stderr]       Adding windows-implement v0.60.2
[INFO] [stderr]       Adding windows-interface v0.59.3
[INFO] [stderr]       Adding wit-bindgen v0.51.0 (requires Rust 1.87.0)
[INFO] [stderr]       Adding wit-bindgen-core v0.51.0 (requires Rust 1.87.0)
[INFO] [stderr]       Adding wit-bindgen-rust v0.51.0 (requires Rust 1.87.0)
[INFO] [stderr]       Adding wit-bindgen-rust-macro v0.51.0
[INFO] [stderr]       Adding wit-component v0.244.0
[INFO] [stderr]       Adding wit-parser v0.244.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9628805689fb962571d7efbdf0b9556d374864d456877fa41a9c9d01b35fd050
[INFO] running `Command { std: "docker" "start" "-a" "9628805689fb962571d7efbdf0b9556d374864d456877fa41a9c9d01b35fd050", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9628805689fb962571d7efbdf0b9556d374864d456877fa41a9c9d01b35fd050", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9628805689fb962571d7efbdf0b9556d374864d456877fa41a9c9d01b35fd050", kill_on_drop: false }`
[INFO] [stdout] 9628805689fb962571d7efbdf0b9556d374864d456877fa41a9c9d01b35fd050
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d895b538c363b60a17dff2086a7284b596871ace9a8d17e8b3ba795aaacb1f5
[INFO] running `Command { std: "docker" "start" "-a" "4d895b538c363b60a17dff2086a7284b596871ace9a8d17e8b3ba795aaacb1f5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0-pre.6 (https://github.com/dalek-cryptography/curve25519-dalek?branch=main#61533d75)
[INFO] [stderr]    Compiling signature v3.0.0-rc.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling pkarr v5.0.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling base32 v0.5.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling hybrid-array v0.4.7
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling block-buffer v0.11.0
[INFO] [stderr]    Compiling crypto-common v0.2.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling digest v0.11.0-rc.11
[INFO] [stderr]    Compiling sha2 v0.11.0-rc.5
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling stop-words v0.9.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ed25519 v3.0.0-rc.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling envy v0.4.2
[INFO] [stderr]    Compiling ed25519-dalek v3.0.0-pre.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling three-good-sources v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error::AuditError`
[INFO] [stdout]  --> src/audit/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::AuditError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuditAction`, `canonical_message`, and `hash_entry_json`
[INFO] [stdout]  --> src/audit/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{canonical_message, filter_entries, hash_entry_json, AuditAction, AuditEntry, AuditFilterParams};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ContributionError`
[INFO] [stdout]  --> src/contributions/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::ContributionError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProposalAction`, `ProposalStatus`, `VoteChoice`, and `Vote`
[INFO] [stdout]  --> src/contributions/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Proposal, ProposalAction, ProposalFilterParams, ProposalStatus, ProposalSummary, Vote,
[INFO] [stdout]   |               ^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^                   ^^^^
[INFO] [stdout] 9 |     VoteChoice,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::IdentityError`
[INFO] [stdout]  --> src/identity/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::IdentityError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlatformClaim` and `Platform`
[INFO] [stdout]  --> src/identity/mod.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{Identity, IdentityType, Platform, PlatformClaim};
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_entry_json` is never used
[INFO] [stdout]    --> src/audit/types.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn hash_entry_json(entry: &AuditEntry) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.75s
[INFO] running `Command { std: "docker" "inspect" "4d895b538c363b60a17dff2086a7284b596871ace9a8d17e8b3ba795aaacb1f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d895b538c363b60a17dff2086a7284b596871ace9a8d17e8b3ba795aaacb1f5", kill_on_drop: false }`
[INFO] [stdout] 4d895b538c363b60a17dff2086a7284b596871ace9a8d17e8b3ba795aaacb1f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1aa290c26be87daf8b291137e973d435760879591e1bed7e41e5e74bb00b1e00
[INFO] running `Command { std: "docker" "start" "-a" "1aa290c26be87daf8b291137e973d435760879591e1bed7e41e5e74bb00b1e00", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0-pre.6 (https://github.com/dalek-cryptography/curve25519-dalek?branch=main#61533d75)
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ed25519 v3.0.0-rc.4
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling envy v0.4.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ed25519-dalek v3.0.0-pre.6
[INFO] [stderr]    Compiling pkarr v5.0.2
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling three-good-sources v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error::AuditError`
[INFO] [stdout]  --> src/audit/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::AuditError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuditAction`, `canonical_message`, and `hash_entry_json`
[INFO] [stdout]  --> src/audit/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{canonical_message, filter_entries, hash_entry_json, AuditAction, AuditEntry, AuditFilterParams};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ContributionError`
[INFO] [stdout]  --> src/contributions/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::ContributionError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProposalAction`, `ProposalStatus`, `VoteChoice`, and `Vote`
[INFO] [stdout]  --> src/contributions/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Proposal, ProposalAction, ProposalFilterParams, ProposalStatus, ProposalSummary, Vote,
[INFO] [stdout]   |               ^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^                   ^^^^
[INFO] [stdout] 9 |     VoteChoice,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::IdentityError`
[INFO] [stdout]  --> src/identity/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::IdentityError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlatformClaim` and `Platform`
[INFO] [stdout]  --> src/identity/mod.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{Identity, IdentityType, Platform, PlatformClaim};
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::AuditError`
[INFO] [stdout]  --> src/audit/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::AuditError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuditAction`, `canonical_message`, and `hash_entry_json`
[INFO] [stdout]  --> src/audit/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{canonical_message, filter_entries, hash_entry_json, AuditAction, AuditEntry, AuditFilterParams};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ContributionError`
[INFO] [stdout]  --> src/contributions/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::ContributionError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProposalAction`, `ProposalStatus`, `VoteChoice`, and `Vote`
[INFO] [stdout]  --> src/contributions/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Proposal, ProposalAction, ProposalFilterParams, ProposalStatus, ProposalSummary, Vote,
[INFO] [stdout]   |               ^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^                   ^^^^
[INFO] [stdout] 9 |     VoteChoice,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::IdentityError`
[INFO] [stdout]  --> src/identity/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use error::IdentityError;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlatformClaim` and `Platform`
[INFO] [stdout]  --> src/identity/mod.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use types::{Identity, IdentityType, Platform, PlatformClaim};
[INFO] [stdout]   |                                         ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_entry_json` is never used
[INFO] [stdout]    --> src/audit/types.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn hash_entry_json(entry: &AuditEntry) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_entry_json` is never used
[INFO] [stdout]    --> src/audit/types.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn hash_entry_json(entry: &AuditEntry) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "1aa290c26be87daf8b291137e973d435760879591e1bed7e41e5e74bb00b1e00", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1aa290c26be87daf8b291137e973d435760879591e1bed7e41e5e74bb00b1e00", kill_on_drop: false }`
[INFO] [stdout] 1aa290c26be87daf8b291137e973d435760879591e1bed7e41e5e74bb00b1e00
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8b4dde962733e1871ddb712cc9981a0b837c475e7664d9e558f1059cc31ad73c
[INFO] running `Command { std: "docker" "start" "-a" "8b4dde962733e1871ddb712cc9981a0b837c475e7664d9e558f1059cc31ad73c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `error::AuditError`
[INFO] [stderr]  --> src/audit/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use error::AuditError;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AuditAction`, `canonical_message`, and `hash_entry_json`
[INFO] [stderr]  --> src/audit/mod.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use types::{canonical_message, filter_entries, hash_entry_json, AuditAction, AuditEntry, AuditFilterParams};
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::ContributionError`
[INFO] [stderr]  --> src/contributions/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use error::ContributionError;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ProposalAction`, `ProposalStatus`, `VoteChoice`, and `Vote`
[INFO] [stderr]  --> src/contributions/mod.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Proposal, ProposalAction, ProposalFilterParams, ProposalStatus, ProposalSummary, Vote,
[INFO] [stderr]   |               ^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^                   ^^^^
[INFO] [stderr] 9 |     VoteChoice,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::IdentityError`
[INFO] [stderr]  --> src/identity/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use error::IdentityError;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PlatformClaim` and `Platform`
[INFO] [stderr]  --> src/identity/mod.rs:7:41
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use types::{Identity, IdentityType, Platform, PlatformClaim};
[INFO] [stderr]   |                                         ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hash_entry_json` is never used
[INFO] [stderr]    --> src/audit/types.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub fn hash_entry_json(entry: &AuditEntry) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `three-good-sources` (bin "three-good-sources") generated 7 warnings (run `cargo fix --bin "three-good-sources" -p three-good-sources` to apply 6 suggestions)
[INFO] [stderr] warning: `three-good-sources` (bin "three-good-sources" test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/three_good_sources-26754a880118c97b)
[INFO] [stdout] 
[INFO] [stdout] running 77 tests
[INFO] [stdout] test audit::types::tests::test_audit_action_serializes_snake_case ... ok
[INFO] [stdout] test audit::types::tests::test_category_option_null_deserializes ... ok
[INFO] [stdout] test audit::types::tests::test_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_action_deserializes ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test audit::types::tests::test_audit_entry_deserializes_all_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_file_not_found ... ok
[INFO] [stdout] test audit::types::tests::test_timestamp_z_suffix_in_canonical ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_status_deserializes ... ok
[INFO] [stdout] test identity::loader::tests::test_bot_serializes_without_none_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_identity_deserializes_from_json ... ok
[INFO] [stdout] test audit::types::tests::test_audit_action_includes_future_types ... ok
[INFO] [stdout] test contributions::loader::tests::test_vote_choice_deserializes ... ok
[INFO] [stdout] test identity::loader::tests::test_bot_serializes_with_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_identity_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_valid_proposals ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_missing_operator_pubkey ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_with_bot_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_nonexistent_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_load_empty_json_object ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_unknown_voter_rejected ... ok
[INFO] [stdout] test identity::loader::tests::test_load_invalid_json ... ok
[INFO] [stdout] test audit::types::tests::test_canonical_message_deterministic ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_invalid_json ... ok
[INFO] [stdout] test identity::loader::tests::test_load_file_not_found ... ok
[INFO] [stdout] test identity::loader::tests::test_load_valid_human_identity ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_empty_json_object ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_rejects_invalid_sig_json ... ok
[INFO] [stdout] test matcher::normalize::tests::test_empty_query ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_tampered_action ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_accepts_valid_json ... ok
[INFO] [stdout] test matcher::normalize::tests::test_whitespace_only_query ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_rejects_invalid_signature ... ok
[INFO] [stdout] test identity::loader::tests::test_load_valid_bot_with_human_operator ... ok
[INFO] [stdout] test matcher::normalize::tests::test_stop_word_removal ... ok
[INFO] [stdout] test matcher::normalize::tests::test_stop_words_only_after_normalization ... ok
[INFO] [stdout] test matcher::scorer::tests::test_empty_query_returns_error ... ok
[INFO] [stdout] test matcher::normalize::tests::test_whitespace_normalization ... ok
[INFO] [stdout] test matcher::scorer::tests::test_all_stop_words_returns_error ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_tampered_data ... ok
[INFO] [stdout] test mcp::handler::tests::test_all_responses_have_jsonrpc_field ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_endorsements_empty_v1 ... ok
[INFO] [stdout] test mcp::handler::tests::test_batch_request_rejected ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_provenance_returns_curator ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_empty_query ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_missing_query ... ok
[INFO] [stdout] test matcher::normalize::tests::test_query_with_numbers ... ok
[INFO] [stdout] test matcher::normalize::tests::test_all_stop_words ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_valid ... ok
[INFO] [stdout] test matcher::normalize::tests::test_punctuation_removal ... ok
[INFO] [stdout] test matcher::normalize::tests::test_mixed_case_and_punctuation ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_json_returns_parse_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_jsonrpc_version ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_tool_params ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_params_on_initialize ... ok
[INFO] [stdout] test mcp::handler::tests::test_list_categories_returns_all ... ok
[INFO] [stdout] test mcp::handler::tests::test_initialize_sets_initialized_flag ... ok
[INFO] [stdout] test mcp::handler::tests::test_initialize_returns_protocol_version ... ok
[INFO] [stdout] test mcp::handler::tests::test_pre_init_tools_list_rejected ... ok
[INFO] [stdout] test mcp::handler::tests::test_notification_returns_none ... ok
[INFO] [stdout] test mcp::handler::tests::test_pre_init_tools_call_rejected ... ok
[INFO] [stdout] test mcp::handler::tests::test_tools_list_has_input_schemas ... ok
[INFO] [stdout] test mcp::handler::tests::test_tools_list_returns_eight_tools ... ok
[INFO] [stdout] test mcp::handler::tests::test_unknown_method_returns_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_unknown_tool_returns_error ... ok
[INFO] [stdout] test matcher::normalize::tests::test_preserves_content_words ... ok
[INFO] [stdout] test matcher::normalize::tests::test_basic_normalization ... ok
[INFO] [stdout] test matcher::scorer::tests::test_keyword_boost_increases_score ... ok
[INFO] [stdout] test matcher::scorer::tests::test_email_server_matches_self_hosted_email ... ok
[INFO] [stdout] test matcher::scorer::tests::test_bitcoin_node_matches_bitcoin_node_setup ... ok
[INFO] [stdout] test matcher::scorer::tests::test_below_threshold_returns_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_success ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_no_match ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_custom_threshold ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_includes_registry_metadata ... ok
[INFO] [stdout] test matcher::scorer::tests::test_best_match_wins ... ok
[INFO] [stdout] test matcher::scorer::tests::test_learn_rust_matches_rust_learning ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/three_good_sources-8c1e0c12673714de)
[INFO] [stdout] 
[INFO] [stdout] running 77 tests
[INFO] [stdout] test audit::types::tests::test_audit_action_serializes_snake_case ... ok
[INFO] [stdout] test audit::types::tests::test_audit_action_includes_future_types ... ok
[INFO] [stdout] test audit::types::tests::test_canonical_message_deterministic ... ok
[INFO] [stdout] test audit::types::tests::test_audit_entry_deserializes_all_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_action_deserializes ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_vote_choice_deserializes ... ok
[INFO] [stdout] test identity::loader::tests::test_bot_serializes_with_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_bot_serializes_without_none_operator ... ok
[INFO] [stdout] test audit::types::tests::test_category_option_null_deserializes ... ok
[INFO] [stdout] test identity::loader::tests::test_identity_deserializes_from_json ... ok
[INFO] [stdout] test identity::loader::tests::test_identity_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_file_not_found ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_unknown_voter_rejected ... ok
[INFO] [stdout] test audit::types::tests::test_timestamp_z_suffix_in_canonical ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_invalid_json ... ok
[INFO] [stdout] test audit::types::tests::test_serde_default_allows_extra_fields ... ok
[INFO] [stdout] test identity::loader::tests::test_load_file_not_found ... ok
[INFO] [stdout] test contributions::loader::tests::test_proposal_status_deserializes ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_valid_proposals ... ok
[INFO] [stdout] test identity::loader::tests::test_load_empty_json_object ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_missing_operator_pubkey ... ok
[INFO] [stdout] test matcher::normalize::tests::test_empty_query ... ok
[INFO] [stdout] test identity::loader::tests::test_load_valid_bot_with_human_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_with_bot_operator ... ok
[INFO] [stdout] test identity::loader::tests::test_load_bot_nonexistent_operator ... ok
[INFO] [stdout] test contributions::loader::tests::test_load_empty_json_object ... ok
[INFO] [stdout] test identity::loader::tests::test_load_valid_human_identity ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_tampered_data ... ok
[INFO] [stdout] test matcher::normalize::tests::test_whitespace_only_query ... ok
[INFO] [stdout] test identity::loader::tests::test_load_invalid_json ... ok
[INFO] [stdout] test matcher::normalize::tests::test_preserves_content_words ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_rejects_invalid_signature ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_valid ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_rejects_invalid_sig_json ... ok
[INFO] [stdout] test matcher::normalize::tests::test_all_stop_words ... ok
[INFO] [stdout] test matcher::normalize::tests::test_punctuation_removal ... ok
[INFO] [stdout] test matcher::scorer::tests::test_all_stop_words_returns_error ... ok
[INFO] [stdout] test audit::loader::tests::test_verify_signature_tampered_action ... ok
[INFO] [stdout] test matcher::scorer::tests::test_empty_query_returns_error ... ok
[INFO] [stdout] test matcher::normalize::tests::test_stop_word_removal ... ok
[INFO] [stdout] test mcp::handler::tests::test_all_responses_have_jsonrpc_field ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_provenance_returns_curator ... ok
[INFO] [stdout] test matcher::normalize::tests::test_basic_normalization ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_endorsements_empty_v1 ... ok
[INFO] [stdout] test matcher::normalize::tests::test_mixed_case_and_punctuation ... ok
[INFO] [stdout] test matcher::normalize::tests::test_whitespace_normalization ... ok
[INFO] [stdout] test matcher::normalize::tests::test_query_with_numbers ... ok
[INFO] [stdout] test matcher::normalize::tests::test_stop_words_only_after_normalization ... ok
[INFO] [stdout] test mcp::handler::tests::test_batch_request_rejected ... ok
[INFO] [stdout] test audit::loader::tests::test_loader_accepts_valid_json ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_empty_query ... ok
[INFO] [stdout] test mcp::handler::tests::test_initialize_sets_initialized_flag ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_tool_params ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_missing_query ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_jsonrpc_version ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_json_returns_parse_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_notification_returns_none ... ok
[INFO] [stdout] test mcp::handler::tests::test_list_categories_returns_all ... ok
[INFO] [stdout] test mcp::handler::tests::test_initialize_returns_protocol_version ... ok
[INFO] [stdout] test mcp::handler::tests::test_invalid_params_on_initialize ... ok
[INFO] [stdout] test mcp::handler::tests::test_pre_init_tools_list_rejected ... ok
[INFO] [stdout] test mcp::handler::tests::test_tools_list_returns_eight_tools ... ok
[INFO] [stdout] test mcp::handler::tests::test_unknown_method_returns_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_unknown_tool_returns_error ... ok
[INFO] [stdout] test mcp::handler::tests::test_pre_init_tools_call_rejected ... ok
[INFO] [stdout] test mcp::handler::tests::test_tools_list_has_input_schemas ... ok
[INFO] [stdout] test matcher::scorer::tests::test_keyword_boost_increases_score ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_includes_registry_metadata ... ok
[INFO] [stdout] test matcher::scorer::tests::test_best_match_wins ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_no_match ... ok
[INFO] [stdout] test matcher::scorer::tests::test_below_threshold_returns_error ... ok
[INFO] [stdout] test matcher::scorer::tests::test_bitcoin_node_matches_bitcoin_node_setup ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_success ... ok
[INFO] [stdout] test mcp::handler::tests::test_get_sources_custom_threshold ... ok
[INFO] [stdout] test matcher::scorer::tests::test_email_server_matches_self_hosted_email ... ok
[INFO] [stdout] test matcher::scorer::tests::test_learn_rust_matches_rust_learning ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.98s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_audit.rs (/opt/rustwide/target/debug/deps/integration_audit-3a2a7298ab7f1a3e)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_audit_combined_filters ... ok
[INFO] [stdout] test test_audit_mcp_get_audit_log ... ok
[INFO] [stdout] test test_audit_returns_all_entries ... ok
[INFO] [stdout] test test_audit_filter_since_past ... ok
[INFO] [stdout] test test_audit_returns_json_array ... ok
[INFO] [stdout] test test_audit_filter_since_future ... ok
[INFO] [stdout] test test_audit_mcp_get_audit_log_filtered ... ok
[INFO] [stdout] test test_audit_entry_structure ... ok
[INFO] [stdout] test test_audit_filter_by_category ... ok
[INFO] [stdout] test test_audit_filter_by_action_source_added ... ok
[INFO] [stdout] test test_audit_filter_by_action_category_added ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_contributions.rs (/opt/rustwide/target/debug/deps/integration_contributions-1a2fc581d8ff6900)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test test_mcp_tools_list_returns_eight ... ok
[INFO] [stdout] test test_mcp_list_proposals ... ok
[INFO] [stdout] test test_proposal_by_id_returns_detail ... ok
[INFO] [stdout] test test_mcp_get_proposal_not_found ... ok
[INFO] [stdout] test test_proposals_filter_by_status_approved ... ok
[INFO] [stdout] test test_proposals_filter_by_status_pending ... ok
[INFO] [stdout] test test_proposals_filter_by_category ... ok
[INFO] [stdout] test test_mcp_list_proposals_filtered ... ok
[INFO] [stdout] test test_proposals_list_returns_json ... ok
[INFO] [stdout] test test_proposal_by_id_not_found ... ok
[INFO] [stdout] test test_mcp_get_proposal ... ok
[INFO] [stdout] test test_proposals_filter_by_invalid_status ... ok
[INFO] [stdout] test test_proposals_filter_by_unknown_category ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.77s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_cors.rs (/opt/rustwide/target/debug/deps/integration_cors-49c8032c86df4af7)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_cors_health_endpoint ... ok
[INFO] [stdout] test test_cors_actual_post_allowed_origin ... ok
[INFO] [stdout] test test_cors_rejects_unlisted_origin ... ok
[INFO] [stdout] test test_cors_preflight_allowed_origin ... ok
[INFO] [stdout] test test_cors_preflight_api_origin ... ok
[INFO] [stdout] test test_cors_exposes_custom_headers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_identity.rs (/opt/rustwide/target/debug/deps/integration_identity-9074eef853ed2d75)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_get_identity_by_pubkey_found ... ok
[INFO] [stdout] test test_get_identity_mcp_tool_not_found ... ok
[INFO] [stdout] test test_get_identity_mcp_tool_missing_params ... ok
[INFO] [stdout] test test_get_identity_by_pubkey_not_found ... ok
[INFO] [stdout] test test_get_identity_mcp_tool_found ... ok
[INFO] [stdout] test test_get_identities_returns_all ... ok
[INFO] [stdout] test test_get_identities_has_correct_structure ... ok
[INFO] [stdout] test test_get_identity_by_pubkey_has_platforms ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_matching.rs (/opt/rustwide/target/debug/deps/integration_matching-f369f993c44d9c65)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_empty_query_returns_error ... ok
[INFO] [stdout] test test_learn_rust_matches_rust_learning ... ok
[INFO] [stdout] test test_email_server_matches_self_hosted_email ... ok
[INFO] [stdout] test test_bitcoin_node_matches_bitcoin_node_setup ... ok
[INFO] [stdout] test test_high_threshold_rejects_partial_match ... ok
[INFO] [stdout] test test_unrelated_query_returns_no_match ... ok
[INFO] [stdout] test test_sources_contain_real_urls ... ok
[INFO] [stdout] test test_gibberish_query_returns_no_match ... ok
[INFO] [stdout] test test_password_manager_matches_password_management ... ok
[INFO] [stdout] test test_each_seed_category_is_matchable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.52s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_mcp.rs (/opt/rustwide/target/debug/deps/integration_mcp-b80dff14dd303a1a)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_notification_returns_204 ... ok
[INFO] [stdout] test test_malformed_json_returns_parse_error ... ok
[INFO] [stdout] test test_tools_call_get_endorsements ... ok
[INFO] [stdout] test test_tools_call_list_categories ... ok
[INFO] [stdout] test test_tools_list_returns_six_tools ... ok
[INFO] [stdout] test test_batch_request_rejected ... ok
[INFO] [stdout] test test_initialize_returns_protocol_version ... ok
[INFO] [stdout] test test_all_responses_have_jsonrpc_field ... ok
[INFO] [stdout] test test_tools_call_get_provenance ... ok
[INFO] [stdout] test test_pre_init_tools_list_rejected ... ok
[INFO] [stdout] test test_unknown_method_returns_error ... ok
[INFO] [stdout] test test_tools_call_get_sources ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_registry.rs (/opt/rustwide/target/debug/deps/integration_registry-0bdfbaf16bcd4b9f)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_registry_has_expected_categories ... ok
[INFO] [stdout] test test_each_category_has_three_sources ... ok
[INFO] [stdout] test test_sources_have_sequential_ranks ... ok
[INFO] [stdout] test test_sources_have_valid_structure ... ok
[INFO] [stdout] test test_health_endpoint_returns_status_ok ... ok
[INFO] [stdout] test test_registry_has_version_and_curator ... ok
[INFO] [stdout] test test_registry_endpoint_returns_200 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests three_good_sources
[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" "8b4dde962733e1871ddb712cc9981a0b837c475e7664d9e558f1059cc31ad73c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b4dde962733e1871ddb712cc9981a0b837c475e7664d9e558f1059cc31ad73c", kill_on_drop: false }`
[INFO] [stdout] 8b4dde962733e1871ddb712cc9981a0b837c475e7664d9e558f1059cc31ad73c
