structuredAttrs is enabled Running phase: unpackPhase unpacking source archive /nix/store/q37d7dh1niv26q9a2izamjxvqpg05fyv-source source root is source Executing cargoSetupPostUnpackHook Finished cargoSetupPostUnpackHook Running phase: patchPhase Executing cargoSetupPostPatchHook Validating consistency between /build/source/Cargo.lock and /build/biomcp-0.8.25-vendor/Cargo.lock Finished cargoSetupPostPatchHook Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase Running phase: buildPhase Executing cargoBuildHook cargoBuildHook flags: -j 48 --target x86_64-unknown-linux-gnu --offline --profile release Compiling proc-macro2 v1.0.106 Compiling unicode-ident v1.0.24 Compiling quote v1.0.45 Compiling libc v0.2.182 Compiling cfg-if v1.0.4 Compiling serde_core v1.0.228 Compiling version_check v0.9.5 Compiling serde v1.0.228 Compiling itoa v1.0.17 Compiling memchr v2.8.0 Compiling pin-project-lite v0.2.17 Compiling bytes v1.11.1 Compiling smallvec v1.15.1 Compiling typenum v1.19.0 Compiling zerocopy v0.8.40 Compiling futures-core v0.3.32 Compiling find-msvc-tools v0.1.9 Compiling shlex v1.3.0 Compiling once_cell v1.21.3 Compiling siphasher v1.0.2 Compiling futures-sink v0.3.32 Compiling subtle v2.6.1 Compiling slab v0.4.12 Compiling stable_deref_trait v1.2.1 Compiling futures-io v0.3.32 Compiling log v0.4.29 Compiling futures-task v0.3.32 Compiling fastrand v2.3.0 Compiling zmij v1.0.21 Compiling rustix v1.1.4 Compiling tower-service v0.3.3 Compiling new_debug_unreachable v1.0.6 Compiling anyhow v1.0.103 Compiling parking_lot_core v0.9.12 Compiling percent-encoding v2.3.2 Compiling bitflags v2.11.0 Compiling scopeguard v1.2.0 Compiling equivalent v1.0.2 Compiling hashbrown v0.16.1 Compiling pkg-config v0.3.32 Compiling autocfg v1.5.0 Compiling writeable v0.6.2 Compiling litemap v0.8.1 Compiling precomputed-hash v0.1.1 Compiling zeroize v1.8.2 Compiling cpufeatures v0.2.17 Compiling serde_json v1.0.149 Compiling siphasher v0.3.11 Compiling httparse v1.10.1 Compiling icu_properties_data v2.1.2 Compiling tower-layer v0.3.3 Compiling icu_normalizer_data v2.1.1 Compiling crc32fast v1.5.0 Compiling futures-channel v0.3.32 Compiling sync_wrapper v1.0.2 Compiling atomic-waker v1.1.2 Compiling utf-8 v0.7.6 Compiling lock_api v0.4.14 Compiling tracing-core v0.1.36 Compiling rustls-pki-types v1.14.0 Compiling fnv v1.0.7 Compiling adler2 v2.0.1 Compiling phf_shared v0.13.1 Compiling phf_shared v0.11.3 Compiling try-lock v0.2.5 Compiling simd-adler32 v0.3.8 Compiling httpdate v1.0.3 Compiling either v1.15.0 Compiling mime v0.3.17 Compiling thiserror v1.0.69 Compiling base64 v0.22.1 Compiling untrusted v0.9.0 Compiling pin-utils v0.1.0 Compiling generic-array v0.14.7 Compiling ipnet v2.12.0 Compiling rustls v0.23.37 Compiling want v0.3.1 Compiling phf_shared v0.10.0 Compiling rand_core v0.10.0 Compiling getrandom v0.4.2 Compiling form_urlencoded v1.2.2 Compiling utf8_iter v1.0.4 Compiling crossbeam-utils v0.8.21 Compiling linux-raw-sys v0.12.1 Compiling heck v0.5.0 Compiling miniz_oxide v0.8.9 Compiling unicase v2.9.0 Compiling syn v1.0.109 Compiling ryu v1.0.23 Compiling itertools v0.14.0 Compiling compression-core v0.4.31 Compiling powerfmt v0.2.0 Compiling num-traits v0.2.19 Compiling phf_generator v0.13.1 Compiling crossbeam-epoch v0.9.20 Compiling regex-syntax v0.8.10 Compiling iana-time-zone v0.1.65 Compiling mime_guess v2.0.5 Compiling aho-corasick v1.1.4 Compiling phf_codegen v0.13.1 Compiling mac v0.1.1 Compiling same-file v1.0.6 Compiling prettyplease v0.2.37 Compiling deranged v0.5.8 Compiling tendril v0.5.0 Compiling rustversion v1.0.22 Compiling fixedbitset v0.5.7 Compiling unicode-width v0.1.14 Compiling http v1.4.0 Compiling futf v0.1.5 Compiling getrandom v0.3.4 Compiling walkdir v2.5.0 Compiling webpki-roots v1.0.6 Compiling phf v0.10.1 Compiling iri-string v0.7.10 Compiling time-core v0.1.8 Compiling num-conv v0.2.0 Compiling num_threads v0.1.7 Compiling strsim v0.11.1 Compiling ident_case v1.0.1 Compiling flate2 v1.1.9 Compiling byteorder v1.5.0 Compiling utf8parse v0.2.2 Compiling dtoa v1.0.11 Compiling tendril v0.4.3 Compiling indexmap v1.9.3 Compiling ahash v0.8.12 Compiling anstyle-parse v0.2.7 Compiling anstyle-query v1.1.5 Compiling xxhash-rust v0.8.15 Compiling multimap v0.10.1 Compiling anstyle v1.0.13 Compiling indexmap v2.13.0 Compiling colorchoice v1.0.4 Compiling ref-cast v1.0.25 Compiling syn v2.0.117 Compiling string_cache_codegen v0.6.1 Compiling dtoa-short v0.3.5 Compiling hex v0.4.3 Compiling is_terminal_polyfill v1.70.2 Compiling compression-codecs v0.4.37 Compiling zstd-safe v5.0.2+zstd.1.5.2 Compiling base64 v0.21.7 Compiling rayon-core v1.13.0 Compiling thiserror v2.0.18 Compiling anstream v0.6.21 Compiling servo_arc v0.3.0 Compiling unicode-width v0.2.2 Compiling base64ct v1.8.3 Compiling fxhash v0.2.1 Compiling tinyvec_macros v0.1.1 Compiling clap_lex v1.0.0 Compiling errno v0.3.14 Compiling socket2 v0.6.2 Compiling mio v1.1.1 Compiling getrandom v0.2.17 Compiling socket2 v0.5.10 Compiling memmap2 v0.5.10 Compiling signal-hook-registry v1.4.8 Compiling hashbrown v0.12.3 Compiling rand_core v0.6.4 Compiling zstd-safe v7.2.4 Compiling cpufeatures v0.3.0 Compiling getopts v0.2.24 Compiling tinyvec v1.10.0 Compiling unpdf v0.4.5 Compiling rmcp v1.7.0 Compiling lazy_static v1.5.0 Compiling chacha20 v0.10.0 Compiling openssl-probe v0.2.1 Compiling option-ext v0.2.0 Compiling http-body v1.0.1 Compiling web_atoms v0.2.4 Compiling winnow v0.7.15 Compiling clap_builder v4.5.60 Compiling ego-tree v0.6.3 Compiling matchit v0.7.3 Compiling dyn-clone v1.0.20 Compiling parking_lot v0.12.5 Compiling hybrid-array v0.4.10 Compiling toml_write v0.1.2 Compiling uuid v1.22.0 Compiling rustls-native-certs v0.8.3 Compiling sharded-slab v0.1.7 Compiling dirs-sys v0.4.1 Compiling http-body-util v0.1.3 Compiling password-hash v0.4.2 Compiling rand v0.10.1 Compiling filetime v0.2.27 Compiling crossbeam-channel v0.5.15 Compiling crossbeam-deque v0.8.6 Compiling rustls-pemfile v2.2.0 Compiling tracing-log v0.2.0 Compiling csv-core v0.1.13 Compiling thread_local v1.1.9 Compiling matchit v0.8.4 Compiling constant_time_eq v0.1.5 Compiling unicode-bidi v0.3.18 Compiling nu-ansi-term v0.50.3 Compiling jobserver v0.1.34 Compiling unicode-normalization v0.1.25 Compiling colorous v1.0.16 Compiling axum-core v0.5.6 Compiling pastey v0.2.1 Compiling dirs v5.0.1 Compiling fs2 v0.4.3 Compiling humantime v2.3.0 Compiling roxmltree v0.20.0 Compiling petgraph v0.7.1 Compiling md5 v0.7.0 Compiling bytesize v1.3.3 Compiling semver v1.0.27 Compiling cc v1.2.56 Compiling crypto-common v0.2.1 Compiling inout v0.2.2 Compiling block-buffer v0.12.0 Compiling time v0.3.47 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling digest v0.10.7 Compiling regex-automata v0.4.14 Compiling block-padding v0.3.3 Compiling inout v0.1.4 Compiling sha2 v0.10.9 Compiling rayon v1.12.0 Compiling cipher v0.4.4 Compiling tempfile v3.26.0 Compiling sha1 v0.10.6 Compiling sha-1 v0.10.1 Compiling hmac v0.12.1 Compiling md-5 v0.10.6 Compiling aes v0.8.4 Compiling cbc v0.1.2 Compiling rust-embed-utils v8.11.0 Compiling pbkdf2 v0.11.0 Compiling reflink-copy v0.1.29 Compiling xattr v1.6.1 Compiling cipher v0.5.1 Compiling tar v0.4.46 Compiling serde_path_to_error v0.1.20 Compiling csv v1.4.0 Compiling rc4 v0.2.0 Compiling ring v0.17.14 Compiling zstd-sys v2.0.16+zstd.1.5.7 Compiling bzip2-sys v0.1.13+1.0.8 Compiling regex v1.12.3 Compiling ppv-lite86 v0.2.21 Compiling html5ever v0.26.0 Compiling rand_chacha v0.3.1 Compiling bzip2 v0.4.4 Compiling rand v0.8.6 Compiling synstructure v0.13.2 Compiling darling_core v0.23.0 Compiling serde_derive_internals v0.29.1 Compiling serde_derive v1.0.228 Compiling tokio-macros v2.6.1 Compiling futures-macro v0.3.32 Compiling zerofrom-derive v0.1.6 Compiling yoke-derive v0.8.1 Compiling zerovec-derive v0.11.2 Compiling displaydoc v0.2.5 Compiling tracing-attributes v0.1.31 Compiling thiserror-impl v1.0.69 Compiling prost-derive v0.13.5 Compiling async-trait v0.1.89 Compiling phf_macros v0.13.1 Compiling miette-derive v5.10.0 Compiling cssparser-macros v0.6.1 Compiling pin-project-internal v1.1.11 Compiling ref-cast-impl v1.0.25 Compiling derive_more v0.99.20 Compiling thiserror-impl v2.0.18 Compiling clap_derive v4.5.55 Compiling async-stream-impl v0.3.6 Compiling rust-embed-impl v8.11.0 Compiling phf_generator v0.11.3 Compiling phf_generator v0.10.0 Compiling schemars_derive v1.2.1 Compiling retry-policies v0.4.0 Compiling phf_codegen v0.10.0 Compiling string_cache_codegen v0.5.4 Compiling phf_macros v0.11.3 Compiling selectors v0.25.0 Compiling markup5ever v0.11.0 Compiling async-stream v0.3.6 Compiling tokio v1.50.0 Compiling matchers v0.2.0 Compiling rust-embed v8.11.0 Compiling phf v0.13.1 Compiling futures-util v0.3.32 Compiling phf v0.11.3 Compiling zerofrom v0.1.6 Compiling cssparser v0.31.2 Compiling pin-project v1.1.11 Compiling yoke v0.8.1 Compiling miette v5.10.0 Compiling tracing v0.1.44 Compiling zerovec v0.11.5 Compiling zerotrie v0.2.3 Compiling tracing-subscriber v0.3.22 Compiling prost v0.13.5 Compiling darling_macro v0.23.0 Compiling clap v4.5.60 Compiling prost-types v0.13.5 Compiling tinystr v0.8.2 Compiling potential_utf v0.1.4 Compiling icu_collections v2.1.1 Compiling icu_locale_core v2.1.1 Compiling darling v0.23.0 Compiling rmcp-macros v1.7.0 Compiling prost-build v0.13.5 Compiling icu_provider v2.1.1 Compiling rustls-webpki v0.103.13 Compiling icu_properties v2.1.2 Compiling icu_normalizer v2.1.1 Compiling string_cache v0.9.0 Compiling chrono v0.4.44 Compiling string_cache v0.8.9 Compiling serde_urlencoded v0.7.1 Compiling http-serde v2.1.1 Compiling ssri v9.2.0 Compiling serde_spanned v0.6.9 Compiling bincode v1.3.3 Compiling toml_datetime v0.6.11 Compiling minijinja v2.17.1 Compiling tonic-build v0.12.3 Compiling toml_edit v0.22.27 Compiling http-cache-semantics v2.1.1 Compiling futures-executor v0.3.32 Compiling axum-core v0.4.5 Compiling sse-stream v0.2.1 Compiling biomcp-cli v0.8.25 (/build/source) Compiling futures v0.3.32 Compiling markup5ever v0.38.0 Compiling idna_adapter v1.2.1 Compiling idna v1.1.0 Compiling html5ever v0.38.0 Compiling xml5ever v0.38.0 Compiling schemars v1.2.1 Compiling kuva v0.1.4 Compiling url v2.5.8 Compiling scraper v0.18.1 Compiling markup5ever_rcdom v0.38.0+unofficial Compiling toml v0.8.23 Compiling zstd v0.13.3 Compiling zstd v0.11.2+zstd.1.5.2 Compiling htmd v0.5.4 Compiling readability-rust v0.1.0 Compiling zip v0.6.6 Compiling tokio-util v0.7.18 Compiling tower v0.5.3 Compiling async-compression v0.4.41 Compiling tokio-stream v0.1.18 Compiling cacache v13.1.0 Compiling axum v0.7.9 Compiling h2 v0.4.13 Compiling tower-http v0.6.8 Compiling tower v0.4.13 Compiling http-cache v0.20.1 Compiling tokio-rustls v0.26.4 Compiling hyper v1.8.1 Compiling hyper-util v0.1.20 Compiling hyper-rustls v0.27.7 Compiling hyper-timeout v0.5.2 Compiling axum v0.8.8 Compiling tonic v0.12.3 Compiling reqwest v0.12.28 Compiling reqwest-middleware v0.4.2 Compiling reqwest-retry v0.7.0 Compiling http-cache-reqwest v0.15.1 Finished `release` profile [optimized] target(s) in 15m 43s Executing cargoInstallPostBuildHook Finished cargoInstallPostBuildHook Finished cargoBuildHook buildPhase completed in 15 minutes 45 seconds Running phase: checkPhase Executing cargoCheckHook cargoCheckHook flags: -j 48 --profile release --target x86_64-unknown-linux-gnu --offline --lib -- Compiling libc v0.2.182 Compiling cfg-if v1.0.4 Compiling memchr v2.8.0 Compiling itoa v1.0.17 Compiling pin-project-lite v0.2.17 Compiling smallvec v1.15.1 Compiling bytes v1.11.1 Compiling futures-core v0.3.32 Compiling once_cell v1.21.3 Compiling futures-sink v0.3.32 Compiling slab v0.4.12 Compiling stable_deref_trait v1.2.1 Compiling log v0.4.29 Compiling futures-task v0.3.32 Compiling futures-io v0.3.32 Compiling subtle v2.6.1 Compiling bitflags v2.11.0 Compiling tower-service v0.3.3 Compiling hashbrown v0.16.1 Compiling equivalent v1.0.2 Compiling percent-encoding v2.3.2 Compiling siphasher v1.0.2 Compiling litemap v0.8.1 Compiling writeable v0.6.2 Compiling new_debug_unreachable v1.0.6 Compiling scopeguard v1.2.0 Compiling tower-layer v0.3.3 Compiling try-lock v0.2.5 Compiling adler2 v2.0.1 Compiling fnv v1.0.7 Compiling httpdate v1.0.3 Compiling serde_core v1.0.228 Compiling typenum v1.19.0 Compiling zmij v1.0.21 Compiling zeroize v1.8.2 Compiling atomic-waker v1.1.2 Compiling simd-adler32 v0.3.8 Compiling httparse v1.10.1 Compiling icu_properties_data v2.1.2 Compiling pin-utils v0.1.0 Compiling precomputed-hash v0.1.1 Compiling cpufeatures v0.2.17 Compiling icu_normalizer_data v2.1.1 Compiling zerofrom v0.1.6 Compiling base64 v0.22.1 Compiling ipnet v2.12.0 Compiling utf8_iter v1.0.4 Compiling mime v0.3.17 Compiling untrusted v0.9.0 Compiling utf-8 v0.7.6 Compiling crc32fast v1.5.0 Compiling want v0.3.1 Compiling form_urlencoded v1.2.2 Compiling rand_core v0.10.0 Compiling zerocopy v0.8.40 Compiling futures-channel v0.3.32 Compiling sync_wrapper v1.0.2 Compiling lock_api v0.4.14 Compiling linux-raw-sys v0.12.1 Compiling compression-core v0.4.31 Compiling thiserror v1.0.69 Compiling iri-string v0.7.10 Compiling ryu v1.0.23 Compiling num-traits v0.2.19 Compiling iana-time-zone v0.1.65 Compiling regex-syntax v0.8.10 Compiling miniz_oxide v0.8.9 Compiling siphasher v0.3.11 Compiling cfg_aliases v0.2.1 Compiling rustls-pki-types v1.14.0 Compiling crossbeam-utils v0.8.21 Compiling mac v0.1.1 Compiling fastrand v2.3.0 Compiling same-file v1.0.6 Compiling unicase v2.9.0 Compiling nix v0.31.2 Compiling powerfmt v0.2.0 Compiling tendril v0.5.0 Compiling zstd-sys v2.0.16+zstd.1.5.7 Compiling time-core v0.1.8 Compiling tracing-core v0.1.36 Compiling unicode-width v0.1.14 Compiling futf v0.1.5 Compiling yoke v0.8.1 Compiling indexmap v2.13.0 Compiling dtoa v1.0.11 Compiling num_threads v0.1.7 Compiling num-conv v0.2.0 Compiling walkdir v2.5.0 Compiling deranged v0.5.8 Compiling byteorder v1.5.0 Compiling phf_shared v0.13.1 Compiling phf_shared v0.11.3 Compiling utf8parse v0.2.2 Compiling either v1.15.0 Compiling tendril v0.4.3 Compiling anyhow v1.0.103 Compiling phf_shared v0.10.0 Compiling thiserror v2.0.18 Compiling is_terminal_polyfill v1.70.2 Compiling xxhash-rust v0.8.15 Compiling colorchoice v1.0.4 Compiling webpki-roots v1.0.6 Compiling hex v0.4.3 Compiling dtoa-short v0.3.5 Compiling anstyle-query v1.1.5 Compiling mime_guess v2.0.5 Compiling miette v5.10.0 Compiling base64 v0.21.7 Compiling anstyle v1.0.13 Compiling cpufeatures v0.3.0 Compiling ref-cast v1.0.25 Compiling rustix v1.1.4 Compiling tracing v0.1.44 Compiling anstyle-parse v0.2.7 Compiling zerovec v0.11.5 Compiling zerotrie v0.2.3 Compiling phf v0.10.1 Compiling phf v0.13.1 Compiling chacha20 v0.10.0 Compiling fxhash v0.2.1 Compiling servo_arc v0.3.0 Compiling strsim v0.11.1 Compiling dyn-clone v1.0.20 Compiling futures-util v0.3.32 Compiling aho-corasick v1.1.4 Compiling rmcp v1.7.0 Compiling phf v0.11.3 Compiling base64ct v1.8.3 Compiling clap_lex v1.0.0 Compiling unicode-width v0.2.2 Compiling crossbeam-epoch v0.9.20 Compiling tinyvec_macros v0.1.1 Compiling hashbrown v0.12.3 Compiling pin-project v1.1.11 Compiling bzip2-sys v0.1.13+1.0.8 Compiling anstream v0.6.21 Compiling tinyvec v1.10.0 Compiling ego-tree v0.6.3 Compiling winnow v0.7.15 Compiling matchit v0.7.3 Compiling openssl-probe v0.2.1 Compiling option-ext v0.2.0 Compiling toml_write v0.1.2 Compiling lazy_static v1.5.0 Compiling async-stream v0.3.6 Compiling zstd-safe v7.2.4 Compiling crossbeam-channel v0.5.15 Compiling csv-core v0.1.13 Compiling flate2 v1.1.9 Compiling cssparser v0.31.2 Compiling sharded-slab v0.1.7 Compiling tracing-log v0.2.0 Compiling rustls-pemfile v2.2.0 Compiling thread_local v1.1.9 Compiling http v1.4.0 Compiling getopts v0.2.24 Compiling rustls-native-certs v0.8.3 Compiling prost v0.13.5 Compiling serial_test_derive v3.5.0 Compiling unicode-bidi v0.3.18 Compiling colorous v1.0.16 Compiling nu-ansi-term v0.50.3 Compiling comma v1.0.0 Compiling matchit v0.8.4 Compiling tinystr v0.8.2 Compiling potential_utf v0.1.4 Compiling crossbeam-deque v0.8.6 Compiling constant_time_eq v0.1.5 Compiling roxmltree v0.20.0 Compiling bytesize v1.3.3 Compiling zstd v0.13.3 Compiling shlex v1.3.0 Compiling semver v1.0.27 Compiling md5 v0.7.0 Compiling generic-array v0.14.7 Compiling hybrid-array v0.4.10 Compiling humantime v2.3.0 Compiling rayon-core v1.13.0 Compiling indexmap v1.9.3 Compiling clap_builder v4.5.60 Compiling icu_collections v2.1.1 Compiling icu_locale_core v2.1.1 Compiling compression-codecs v0.4.37 Compiling unicode-normalization v0.1.25 Compiling crypto-common v0.1.7 Compiling block-buffer v0.10.4 Compiling block-padding v0.3.3 Compiling inout v0.1.4 Compiling digest v0.10.7 Compiling block-buffer v0.12.0 Compiling inout v0.2.2 Compiling crypto-common v0.2.1 Compiling http-body v1.0.1 Compiling rayon v1.12.0 Compiling cipher v0.4.4 Compiling clap v4.5.60 Compiling http-body-util v0.1.3 Compiling aes v0.8.4 Compiling cbc v0.1.2 Compiling sha2 v0.10.9 Compiling sha-1 v0.10.1 Compiling sha1 v0.10.6 Compiling hmac v0.12.1 Compiling md-5 v0.10.6 Compiling selectors v0.25.0 Compiling axum-core v0.5.6 Compiling rust-embed-utils v8.11.0 Compiling errno v0.3.14 Compiling socket2 v0.6.2 Compiling mio v1.1.1 Compiling getrandom v0.2.17 Compiling parking_lot_core v0.9.12 Compiling socket2 v0.5.10 Compiling getrandom v0.4.2 Compiling time v0.3.47 Compiling memmap2 v0.5.10 Compiling getrandom v0.3.4 Compiling zstd-safe v5.0.2+zstd.1.5.2 Compiling filetime v0.2.27 Compiling bzip2 v0.4.4 Compiling dirs-sys v0.4.1 Compiling fs2 v0.4.3 Compiling serde v1.0.228 Compiling serde_json v1.0.149 Compiling serde_path_to_error v0.1.20 Compiling csv v1.4.0 Compiling signal-hook-registry v1.4.8 Compiling rust-embed v8.11.0 Compiling regex-automata v0.4.14 Compiling zstd v0.11.2+zstd.1.5.2 Compiling rand v0.10.1 Compiling uuid v1.22.0 Compiling dirs v5.0.1 Compiling ring v0.17.14 Compiling rand_core v0.6.4 Compiling tokio v1.50.0 Compiling icu_provider v2.1.1 Compiling parking_lot v0.12.5 Compiling password-hash v0.4.2 Compiling cipher v0.5.1 Compiling ppv-lite86 v0.2.21 Compiling ahash v0.8.12 Compiling pbkdf2 v0.11.0 Compiling tempfile v3.26.0 Compiling reflink-copy v0.1.29 Compiling xattr v1.6.1 Compiling icu_normalizer v2.1.1 Compiling icu_properties v2.1.2 Compiling tar v0.4.46 Compiling chrono v0.4.44 Compiling string_cache v0.9.0 Compiling serde_urlencoded v0.7.1 Compiling string_cache v0.8.9 Compiling http-serde v2.1.1 Compiling ssri v9.2.0 Compiling bincode v1.3.3 Compiling serde_spanned v0.6.9 Compiling toml_datetime v0.6.11 Compiling minijinja v2.17.1 Compiling rc4 v0.2.0 Compiling rand_chacha v0.3.1 Compiling idna_adapter v1.2.1 Compiling rand v0.8.6 Compiling markup5ever v0.11.0 Compiling web_atoms v0.2.4 Compiling idna v1.1.0 Compiling toml_edit v0.22.27 Compiling url v2.5.8 Compiling markup5ever v0.38.0 Compiling html5ever v0.38.0 Compiling xml5ever v0.38.0 Compiling retry-policies v0.4.0 Compiling regex v1.12.3 Compiling matchers v0.2.0 Compiling http-cache-semantics v2.1.1 Compiling zip v0.6.6 Compiling tracing-subscriber v0.3.22 Compiling markup5ever_rcdom v0.38.0+unofficial Compiling futures-executor v0.3.32 Compiling sse-stream v0.2.1 Compiling axum-core v0.4.5 Compiling schemars v1.2.1 Compiling kuva v0.1.4 Compiling rexpect v0.7.0 Compiling htmd v0.5.4 Compiling futures v0.3.32 Compiling serial_test v3.5.0 Compiling html5ever v0.26.0 Compiling rustls-webpki v0.103.13 Compiling toml v0.8.23 Compiling scraper v0.18.1 Compiling rustls v0.23.37 Compiling readability-rust v0.1.0 Compiling tokio-util v0.7.18 Compiling tower v0.5.3 Compiling async-compression v0.4.41 Compiling tokio-stream v0.1.18 Compiling process-wrap v9.1.0 Compiling cacache v13.1.0 Compiling axum v0.7.9 Compiling h2 v0.4.13 Compiling tower-http v0.6.8 Compiling tower v0.4.13 Compiling http-cache v0.20.1 Compiling hyper v1.8.1 Compiling hyper-util v0.1.20 Compiling tokio-rustls v0.26.4 Compiling hyper-rustls v0.27.7 Compiling reqwest v0.13.4 Compiling hyper-timeout v0.5.2 Compiling axum v0.8.8 Compiling tonic v0.12.3 Compiling reqwest v0.12.28 Compiling reqwest-middleware v0.4.2 Compiling http-cache-reqwest v0.15.1 Compiling reqwest-retry v0.7.0 Compiling unpdf v0.4.5 Compiling biomcp-mcp-contract-client v0.1.0 (/build/source/crates/biomcp-mcp-contract-client) Compiling biomcp-cli v0.8.25 (/build/source) Finished `release` profile [optimized] target(s) in 12m 57s Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/biomcp_cli-9470fddd4945fe24) running 2390 tests test augment_genes_with_opentargets_respects_twenty_gene_cap ... ok test augment_genes_with_opentargets_merges_sources_without_duplicates ... ok test cache::config::tests::blank_env_max_age_falls_through ... ok test cache::clear::tests::clear_missing_path_returns_zero_report ... ok test cache::config::tests::blank_toml_dir_returns_error ... ok test cache::config::tests::blank_env_values_are_treated_as_unset ... ok test cache::config::tests::defaults_when_no_env_or_file_uses_default_cache_config ... ok test cache::clear::tests::clear_rejects_root_regular_file_before_mutation ... ok test cache::config::tests::disk_free_threshold_methods_cover_percent_bytes_and_display ... ok test cache::config::tests::env_cache_dir_overrides_file_and_default ... ok test cache::config::tests::default_min_disk_free_is_10_percent_with_default_origin ... ok test cache::config::tests::default_origins_are_reported_when_values_fall_through ... ok test cache::config::tests::env_max_age_overrides_file_and_default ... ok test cache::clean::tests::cache_clean_snapshot_failure_returns_io_error ... ok test cache::config::tests::env_max_size_overrides_file_and_default ... ok test cache::config::tests::env_min_disk_free_overrides_file_and_tracks_env_origin ... ok test cache::clear::tests::clear_rejects_special_file_before_mutation ... ok test cache::config::tests::invalid_env_max_age_returns_error ... ok test cache::config::tests::invalid_env_min_disk_free_over_100_percent_returns_error ... ok test cache::config::tests::invalid_env_min_disk_free_returns_error ... ok test cache::clear::tests::clear_nested_symlink_unlinks_entry_and_sets_bytes_to_none ... ok test cache::config::tests::invalid_env_size_returns_error ... ok test cache::clear::tests::clear_root_symlink_is_unlinked_without_traversing_target ... ok test cache::clear::tests::clear_removes_directory_tree_and_root_http_dir ... ok test cache::config::tests::invalid_toml_syntax_returns_error ... ok test cache::config::tests::origins_track_mixed_precedence_without_max_age_env_override ... ok test cache::clean::tests::cache_clean_blob_not_found_is_benign_drift ... ok test cache::config::tests::resolve_cache_config_uses_defaults_when_no_env_or_file ... ok test cache::config::tests::resolve_cache_config_env_overrides_file ... ok test cache::config::tests::toml_dir_overrides_default ... ok test cache::config::tests::toml_max_age_overrides_default ... ok test cache::config::tests::resolve_cache_config_reads_cache_toml_from_xdg_config_home ... ok test cache::config::tests::toml_max_size_overrides_default ... ok test cache::config::tests::toml_min_disk_free_parses_absolute_bytes_and_tracks_file_origin ... ok test cache::config::tests::toml_without_cache_section_uses_defaults ... ok test cache::config::tests::toml_zero_max_age_returns_error ... ok test cache::config::tests::toml_zero_max_size_returns_error ... ok test cache::config::tests::resolve_cache_config_reports_path_on_failure ... ok test cache::config::tests::unknown_toml_field_returns_error ... ok test cache::config::tests::zero_env_max_age_returns_error ... ok test cache::config::tests::zero_env_size_returns_error ... ok test cache::clean::tests::cache_clean_default_origins_skip_limits_without_flags ... ok test cache::clean::tests::cache_clean_destructive_removes_orphan_blobs ... ok test cache::planner::tests::composite_cleanup_plans_age_then_size_on_one_snapshot ... ok test cache::config::tests::resolve_cache_config_reports_path_on_read_failure ... ok test cache::migration::tests::renames_legacy_http_cache_directory_when_only_legacy_dir_exists ... ok test cache::planner::tests::snapshot_cache_errors_when_cache_root_is_not_a_directory ... ok test cache::manager::tests::new_manager_seeds_approximate_bytes_from_fast_estimate ... ok test cli::article::assets::tests::asset_requires_exactly_one_filename_and_no_assets_section ... ok test cache::manager::tests::estimate_cache_bytes_fast_returns_zero_for_missing_tree ... ok test cache::manager::tests::estimate_cache_bytes_fast_sums_content_tree_file_sizes ... ok test cache::clear::tests::clear_preserves_sibling_downloads_directory ... ok test cli::adverse_event::tests::search_plan_rejects_nondefault_source_for_recall ... ok test cli::adverse_event::tests::get_adverse_event_parses_sections ... ok test cli::adverse_event::tests::search_plan_rejects_positional_drug_alias_for_device ... ok test cache::clean::tests::cache_clean_shared_integrity_blob_waits_for_all_keys ... ok test cache::clean::tests::cache_clean_size_cleanup_uses_explicit_config_without_flag ... ok test cli::article::assets::tests::assets_is_standalone_json_only_route ... ok test cli::article::dispatch::workflow_tests::article_follow_up_requires_pmid_and_annotations ... ok test cli::article::session::tests::overlap_threshold_boundaries ... ok test cli::adverse_event::tests::search_plan_rejects_nondefault_source_for_device ... ok test cli::adverse_event::tests::search_adverse_event_device_rejects_positional_drug_alias ... ok test cli::article::tests::exact_lookup::article_entity_suggestion_uses_alias_reason_and_valid_sections ... ok test cli::article::tests::exact_lookup::exact_article_keyword_lookup_eligibility_is_keyword_only_and_short ... ok test cli::adverse_event::tests::search_adverse_event_parses_serious_default_and_limit ... ok test cli::article::tests::filters::article_query_and_debug_filters_include_effective_ranking_context ... ok test cli::article::tests::filters::article_query_and_debug_filters_render_default_and_disabled_max_per_source_modes ... ok test cli::article::tests::filters::article_search_request_accepts_semantic_scholar_source ... ok test cli::adverse_event::tests::search_plan_rejects_count_for_vaers_source ... ok test cli::article::tests::exact_lookup::handle_command_rejects_zero_limit_before_backend_lookup ... ok test cli::article::tests::filters::article_search_request_records_exact_keyword_lookup_intent ... ok test cli::article::tests::exact_lookup::article_search_json_fails_open_when_exact_entity_lookup_returns_none ... ok test cli::article::tests::filters::article_search_request_records_normalized_cli_intent_and_backend_plan ... ok test cli::adverse_event::tests::search_adverse_event_parses_source_filter ... ok test cli::article::tests::filters::build_article_debug_plan_includes_article_type_limitation_note ... ok test cli::article::tests::filters::related_article_filters_default_to_relevance_and_safety_flags ... ok test cli::article::tests::filters::ticket_400_request_command_article_fields_drive_execution_boundaries ... ok test cli::article::tests::filters::truncate_article_annotations_applies_limit_per_bucket ... ok test cli::article::tests::exact_lookup::article_search_request_typed_filter_skips_exact_lookup ... ok test cache::migration::tests::errors_when_legacy_path_is_a_dangling_symlink ... ok test cli::article::tests::help::article_date_help_advertises_shared_accepted_formats ... ok test cli::article::tests::help::article_get_pdf_modifier_parses_after_fulltext ... ok test cli::article::tests::help::article_get_pdf_modifier_parses_before_fulltext ... ok test cache::limits::tests::evaluate_cache_limits_can_drive_effective_max_size_to_zero ... ok test cli::article::session::tests::token_validation_accepts_safe_local_labels_and_rejects_unsafe_input ... ok test cli::article::session::tests::normalization_removes_search_filler_words_and_deduplicates_terms ... ok test cli::article::tests::json::article_search_json_allows_loop_suggestions_without_sections ... ok test cli::article::tests::json::article_search_json_emits_structured_exact_entity_suggestions ... ok test cli::article::tests::help::article_year_flags_conflict_with_explicit_dates ... ok test cli::article::tests::json::article_search_json_includes_query_and_ranking_context ... ok test cli::article::tests::json::article_search_json_next_commands_preserve_source_filter ... ok test cli::article::tests::json::ticket_377_article_renderer_envelope_contracts_json_meta ... ok test cli::article::tests::help::article_year_flags_reject_non_yyyy_values ... ok test cli::article::tests::help::search_article_help_includes_when_to_use_guidance ... ok test cli::benchmark::run::regression::tests::detects_latency_and_size_regressions_above_threshold ... ok test cli::benchmark::run::regression::tests::flags_fail_fast_latency_over_limit ... ok test cli::article::tests::help::article_year_flags_parse_and_expand_to_date_bounds ... ok test cli::article::tests::help::search_article_help_includes_query_formulation_guidance ... ok test cli::article::tests::help::article_session_flag_parses_and_help_documents_json_loop_breaker ... ok test cli::article::tests::help::article_year_max_conflicts_with_date_to ... ok test cli::benchmark::run::regression::tests::flags_invalid_date_contract_that_starts_succeeding ... ok test cli::benchmark::run::regression::tests::ignores_changes_below_thresholds ... ok test cli::benchmark::score::normalize::tests::normalize_command_shape_tracks_structure ... ok test cli::benchmark::run::suite::tests::quick_suite_keeps_core_and_one_contract_case ... ok test cli::benchmark::score::normalize::tests::returns_none_for_non_biomcp_commands ... ok test cli::benchmark::score::normalize::tests::section_like_tokens_include_new_gene_enrichment_sections ... ok test cli::benchmark::score::parse_tests::classify_error_detects_expected_categories ... ok test cli::benchmark::score::parse_tests::recognizes_legacy_and_current_biomcp_tool_names ... ok test cli::cache::tests::build_cache_stats_report_counts_orphans_and_includes_all_blob_bytes ... ok test cli::article::tests::help::get_article_help_includes_opt_in_pdf_guidance ... ok test cli::cache::tests::build_cache_stats_report_empty_snapshot_has_zero_counts_null_age_and_default_origins ... ok test cli::cache::tests::build_cache_stats_report_uses_index_entry_timestamps_only_for_age_range ... ok test cli::cache::tests::cache_stats_report_json_serializes_env_and_file_origins_lowercase ... ok test cli::cache::tests::cache_stats_report_markdown_is_heading_free_and_stable ... ok test cli::cache::tests::collect_cache_stats_report_calls_snapshot_once_for_resolved_http_path ... ok test cli::cache::tests::render_path_for_config_appends_http_to_resolved_cache_root ... ok test cli::cache::tests::render_path_for_config_keeps_relative_cache_roots_relative ... ok test cli::chart::tests::chart_subcommand_parses_scatter_topic ... ok test cli::chart::tests::chart_subcommand_parses_stacked_bar_topic ... ok test cli::chart::tests::chart_help_lists_descriptions_for_all_chart_topics ... ok test cli::chart::tests::chart_subcommand_parses_survival_topic ... ok test cli::chart::tests::show_returns_scatter_doc ... ok test cli::chart::tests::show_returns_heatmap_doc ... ok test cache::limits::tests::evaluate_cache_limits_converts_disk_deficit_into_effective_max_size ... ok test cli::chart::tests::show_returns_stacked_bar_doc ... ok test cli::chart::tests::show_returns_waterfall_doc ... ok test cli::chart::tests::chart_subcommand_parses_waterfall_topic ... ok test cache::migration::tests::errors_when_legacy_path_is_not_a_directory ... ok test cli::chart::tests::chart_subcommand_parses_violin_topic ... ok test cli::chart::tests::chart_subcommand_parses_heatmap_topic ... ok test cli::diagnostic::tests::handle_search_json_omits_suggestions_for_high_offset_empty_page ... ok test cli::diagnostic::tests::get_diagnostic_help_mentions_supported_sections ... ok test cache::clean::tests::cache_clean_age_cleanup_removes_only_old_entries ... ok test cli::disease::dispatch::workflow_tests::disease_trials_limit_one_disables_ctgov_condition_fanout ... ok test cli::disease::dispatch::workflow_tests::disease_workflow_probe_filters_use_top_result_name_and_bounded_queries ... ok test cli::diagnostic::tests::handle_get_honors_trailing_json_flag_after_sections ... ok test cli::disease::tests::disease_search_json_includes_next_commands_for_direct_hits ... ok test cli::disease::tests::disease_search_json_includes_fallback_meta_and_provenance ... ok test cli::diagnostic::tests::handle_search_json_includes_suggestions_for_true_zero_result ... ok test cache::migration::tests::errors_when_runtime_http_target_is_a_dangling_symlink ... ok test cli::diagnostic::tests::search_args_reject_zero_limit_before_gtr_lookup ... ok test cli::disease::tests::disease_search_json_preserves_fallback_with_workflow_meta ... ok test cli::diagnostic::tests::search_diagnostic_help_mentions_source_aware_examples ... ok test cli::diagnostic::tests::search_diagnostic_parses_filter_only_flags ... ok test cache::clean::tests::cache_clean_dry_run_reports_orphan_plan_without_deleting ... ok test cli::disease::tests::get_disease_help_includes_when_to_use_guidance ... ok test cache::planner::tests::plan_orphan_gc_selects_only_zero_refcount_blobs ... ok test cache::manager::tests::run_eviction_cycle_false_positive_resyncs_without_cleaning ... ok test cli::disease::tests::get_disease_accepts_explicit_multi_word_name ... ok test cli::disease::tests::disease_trials_parses_source_and_limit ... ok test cli::disease::tests::disease_trials_limit_rejects_too_big_before_lookup ... ok test cache::manager::tests::put_schedules_eviction_for_preexisting_oversized_cache_with_ample_disk ... ok test cli::drug::tests::drug_bare_name_parses_as_external_subcommand ... ok test cache::planner::tests::snapshot_cache_returns_empty_snapshot_for_missing_cache_root ... ok test cli::drug::tests::drug_interactions_parse_anchor_name ... ok test cli::disease::tests::related_limit_rejects_zero_before_lookup ... ok test cli::drug::tests::drug_adverse_events_help_lists_count_and_filter_parity ... ok test cli::drug::tests::get_drug_region_defaults_to_all_for_regulatory_only_queries ... ok test cli::drug::tests::drug_trials_help_mentions_alias_expansion_and_opt_out ... ok test cli::drug::tests::get_drug_region_keeps_non_regulatory_no_flag_shapes_on_us_default ... ok test cli::drug::tests::drug_adverse_events_parses_advertised_faers_filters ... ok test cli::drug::tests::get_drug_region_respects_explicit_region ... ok test cache::migration::tests::skips_when_legacy_http_cache_directory_is_missing ... ok test cache::manager::tests::put_schedules_eviction_when_disk_floor_is_violated ... ok test cli::drug::tests::drug_trials_parse_no_alias_expand ... ok test cli::drug::tests::drug_interactions_help_mentions_ddinter_bundle_and_truthful_empty_state ... ok test cli::drug::tests::get_drug_accepts_explicit_multi_word_name ... ok test cli::drug::tests::json::drug_search_json_all_region_keeps_empty_buckets ... ok test cli::drug::tests::get_drug_help_mentions_raw_label_mode ... ok test cli::drug::tests::drug_trials_reject_no_alias_expand_for_nci_source ... ok test cache::planner::tests::snapshot_cache_includes_orphan_blobs_without_synthesizing_missing_referenced_blobs ... ok test cli::drug::tests::get_drug_parses_ema_region_alias_as_eu ... ok test cli::drug::tests::json::drug_search_json_all_region_uses_unified_regions_envelope ... ok test cli::drug::tests::json::drug_search_json_preserves_region_envelope_with_workflow_meta ... ok test cli::drug::tests::json::drug_search_json_single_region_keeps_empty_selected_bucket_and_omits_meta ... ok test cli::drug::tests::get_drug_help_lists_region_flag_and_examples ... ok test cli::drug::tests::get_drug_raw_rejects_non_label_sections ... ok test cli::drug::tests::json::drug_search_json_single_region_keeps_api_identifier_when_present ... ok test cli::drug::tests::get_drug_parses_region_split_form ... ok test cli::drug::tests::json::drug_search_json_single_region_keeps_selected_bucket_and_who_fields ... ok test cli::drug::tests::json::drug_search_json_single_region_omits_get_follow_up_for_vaccine_results ... ok test cache::migration::tests::skips_when_runtime_http_directory_already_exists ... ok test cli::drug::tests::search_drug_region_allows_explicit_who_for_structured_queries ... ok test cli::drug::tests::search_drug_region_defaults_to_all_for_name_only_queries ... ok test cli::drug::tests::search_drug_region_defaults_to_us_for_structured_queries ... ok test cli::drug::tests::search_drug_region_rejects_explicit_non_us_for_structured_queries ... ok test cache::planner::tests::shared_integrity_size_lru_uses_projected_refcounts_and_oldest_first_tiebreak ... ok test cli::drug::alias_alignment_tests::public_region_aliases_are_aligned_across_parser_help_list_and_docs ... ok test cli::drug::tests::search_drug_help_mentions_default_all_and_structured_filter_note ... ok test cli::gene::related::tests::gene_trials_limit_one_disables_ctgov_condition_fanout ... ok test cache::manager::tests::run_eviction_cycle_propagates_snapshot_error ... ok test cli::drug::tests::search_plan_rejects_non_us_structured_region ... ok test cli::gene::tests::handle_get_gene_alias_fallback_returns_markdown_suggestion ... ok test cli::drug::tests::search_drug_parses_who_product_type_filter ... ok test cli::health::tests::catalog::alpha_genome_health_probe_connects_without_scoring ... ok test cli::health::tests::catalog::health_inventory_includes_all_expected_sources ... ok test cli::health::tests::catalog::markdown_shows_new_affects_mappings ... ok test cache::manager::tests::put_debounces_duplicate_eviction_scheduling ... ok test cli::gene::tests::gene_get_alias_parses_as_definition_subcommand ... ok test cli::health::tests::catalog::nci_health_probe_uses_keyword_query ... ok test cli::gene::tests::gene_bare_symbol_parses_as_external_subcommand ... ok test cli::health::tests::http::empty_key_is_treated_as_missing ... ok test cli::health::tests::http::excluded_key_gated_row_serializes_key_configured_false ... ok test cli::gene::tests::gene_pathways_parses_limit_and_offset ... ok test cli::health::tests::http::key_gated_source_is_excluded_when_env_missing ... ok test cli::drug::tests::search_plan_rejects_structured_who_vaccine_requests ... ok test cli::health::tests::http::optional_auth_get_reports_authed_semantic_scholar_as_configured ... ok test cache::planner::tests::snapshot_cache_returns_empty_snapshot_for_uninitialized_cache_root ... ok test cli::drug::tests::search_plan_rejects_product_type_without_explicit_who_region ... ok test cli::health::tests::http::optional_auth_get_reports_unauthed_semantic_scholar_as_healthy ... ok test cli::gene::tests::get_gene_help_includes_when_to_use_guidance ... ok test cli::health::tests::http::optional_auth_get_reports_unauthenticated_429_as_unavailable ... ok test cli::health::tests::http::optional_auth_get_reports_unauthenticated_non_429_as_error ... ok test cli::health::tests::http::optional_auth_get_reports_authenticated_429_as_error ... ok test cli::health::tests::http::vaers_query_error_reports_error_row_with_affects ... ok test cli::gwas::tests::search_args_reject_zero_limit_before_backend_lookup ... ok test cli::gwas::tests::search_gwas_parses_positional_query ... ok test cli::health::tests::local::check_cache_limits_reports_snapshot_errors_as_error_rows ... ok test cli::health::tests::local::check_cache_limits_warns_when_disk_floor_is_violated ... ok test cli::health::tests::http::vaers_query_success_reports_healthy_row ... ok test cli::health::tests::local::check_cache_limits_within_limits_returns_healthy_row ... ok test cli::health::tests::local::check_cache_limits_warns_when_referenced_bytes_exceed_max_size ... ok test cache::planner::tests::size_lru_missing_blob_entries_do_not_displace_live_entries ... ok test cache::migration::tests::errors_when_runtime_http_target_is_not_a_directory ... ok test cache::clean::tests::cache_clean_dry_run_matches_destructive_on_equivalent_seed ... ok test cache::planner::tests::planner_walk_errors_when_content_root_is_not_a_directory ... ok test cache::planner::tests::shared_integrity_age_cleanup_only_removes_blob_after_last_reference ... ok test cache::limits::tests::summarize_cache_usage_distinguishes_referenced_and_orphan_blob_bytes ... ok test cli::benchmark::score::parse_tests::score_session_extracts_counts_tokens_errors_and_coverage ... ok test cli::cache::tests::render_path_for_config_does_not_create_or_migrate_directories ... ok test cli::health::tests::local::who_local_data_errors_when_only_api_file_is_missing ... ok test cli::health::tests::local::who_ivd_local_data_errors_when_env_root_is_missing_file ... ok test cli::health::tests::local::check_cache_dir_success_row_uses_resolved_path_and_ok_contract ... ok test cli::health::tests::local::ema_local_data_errors_when_env_root_is_missing_files ... ok test cli::health::tests::local::who_local_data_reports_configured_stale_when_env_root_is_complete_but_old ... ok test cli::health::tests::local::cvx_local_data_reports_available_when_default_root_is_complete ... ok test cli::health::tests::runner::all_healthy_includes_warning_and_excluded_rows ... ok test cli::health::tests::runner::keyed_row_serializes_raw_status_with_key_configured_true ... ok test cli::health::tests::local::cvx_local_data_reports_configured_stale_when_env_root_is_complete_but_old ... ok test cli::health::tests::runner::markdown_decorates_keyed_error_rows_without_changing_status ... ok test cli::health::tests::runner::markdown_decorates_keyed_success_rows_without_changing_status ... ok test cli::health::tests::local::ema_local_data_json_reports_error_row_with_affects ... ok test cli::health::tests::runner::markdown_omits_affects_column_when_all_healthy ... ok test cli::health::tests::runner::markdown_shows_affects_column_when_present ... ok test cli::health::tests::runner::markdown_summary_reports_ok_error_excluded_and_warning_counts ... ok test cli::health::tests::local::cvx_local_data_not_configured_when_default_root_is_empty ... ok test cli::health::tests::runner::public_row_omits_key_configured_in_json ... ok test cache::planner::tests::size_lru_ignores_orphan_bytes ... ok test cli::health::tests::runner::report_counts_use_probe_class_not_status_prefixes ... ok test cli::health::tests::local::ema_local_data_errors_when_default_root_is_partial ... ok test cli::health::tests::runner::timed_out_probe_returns_error_row_with_timeout_latency ... ok test cli::health::tests::local::ema_local_data_not_configured_when_default_root_is_empty ... ok test cli::list::tests::pages::list_article_page_mentions_entity_aware_followups ... ok test cache::manager::tests::run_eviction_cycle_logs_successful_cleanup_still_under_floor_at_debug ... ok test cli::list::tests::pages::list_batch_and_enrich_pages_exist ... ok test cli::health::tests::local::who_local_data_reports_configured_when_env_root_is_complete ... ok test cli::list::tests::pages::list_diagnostic_page_exists ... ok test cli::list::tests::pages::list_discover_page_exists ... ok test cli::health::tests::local::who_local_data_reports_default_path_stale_when_complete_but_old ... ok test cli::list::tests::pages::list_discover_page_mentions_empty_and_low_confidence_article_fallbacks ... ok test cli::list::tests::pages::list_discover_page_mentions_gene_topic_article_followup ... ok test cli::list::tests::pages::list_discover_page_mentions_relational_redirect_and_supported_exceptions ... ok test cli::list::tests::pages::list_disease_mentions_opt_in_sections ... ok test cli::list::tests::pages::list_disease_mentions_phenotype_search_supports_symptom_phrases ... ok test cli::list::tests::pages::list_drug_documents_raw_label_mode ... ok test cli::list::tests::pages::list_drug_describes_omitted_region_behavior ... ok test cli::benchmark::score::parse_tests::fails_on_invalid_jsonl_line ... ok test cli::list::tests::pages::list_entity_pages_drop_stale_skill_sections ... ok test cli::list::tests::pages::list_gene_mentions_new_gene_sections ... ok test cli::list::tests::pages::list_pathway_describes_source_aware_sections ... ok test cache::manager::tests::run_eviction_cycle_logs_cleanup_errors_at_warn ... ok test cli::list::tests::pages::list_root_entity_verbs_match_public_grammar ... ok test cli::list::tests::pages::list_root_includes_routing_table_and_quickstart ... ok test cli::health::tests::local::gtr_local_data_reports_available_when_default_root_is_complete ... ok test cli::health::tests::local::gtr_local_data_not_configured_when_default_root_is_empty ... ok test cli::list::tests::pages::list_root_json_includes_gettable_and_search_only_entities ... ok test cli::list::tests::pages::list_root_primary_discovery_lines_stay_terminal_friendly ... ok test cli::list::tests::pages::list_search_all_page_mentions_counts_only_json_contract ... ok test cli::list::tests::pages::list_search_pages_document_search_json_next_commands ... ok test cli::list::tests::pages::list_study_page_exists ... ok test cli::list::tests::pages::list_suggest_page_exists ... ok test cli::list::tests::pages::phenotype_and_gwas_include_workflow_tips ... ok test cli::list::tests::pages::phenotype_list_mentions_hpo_ids_and_symptom_phrases ... ok test cli::list::tests::pages::list_trial_and_article_include_missing_flags ... ok test cli::health::tests::local::ema_local_data_json_reports_healthy_row_without_affects ... ok test cli::list::tests::router::unknown_entity_lists_new_valid_entities ... ok test cli::list::tests::router::list_skill_alias_routes_to_skill_listing ... ok test cli::health::tests::local::gtr_local_data_reports_configured_stale_when_env_root_is_complete_but_old ... ok test cli::mcp_config::tests::absolute_path_command_stays_valid_json ... ok test cli::health::tests::local::gtr_local_data_errors_when_default_root_is_partial ... ok test cli::mcp_config::tests::codex_absolute_path_is_shell_safe ... ok test cli::health::tests::local::who_ivd_local_data_not_configured_when_default_root_is_empty ... ok test cli::mcp_config::tests::codex_uses_default_biomcp_serve_invocation ... ok test cli::mcp_config::tests::no_client_output_lists_clients_and_examples ... ok test cli::mcp_config::tests::json_clients_use_biomcp_serve_by_default ... ok test cli::health::tests::local::who_ivd_local_data_reports_available_when_default_root_is_complete ... ok test cli::pathway::tests::pathway_trial_fallback_allows_no_match_on_first_page ... ok test cli::pathway::tests::pathway_trial_fallback_skips_offset_or_known_matches ... ok test cli::health::tests::local::probe_cache_dir_failure_preserves_error_contract ... ok test cache::planner::tests::planner_walk_skips_symlinked_content_entries ... ok test cli::health::tests::local::who_ivd_local_data_reports_configured_stale_when_env_root_is_complete_but_old ... ok test cli::health::tests::local::ema_local_data_reports_configured_when_env_root_is_complete ... ok test cli::health::tests::local::ema_local_data_reports_available_when_default_root_is_complete ... ok test cli::health::tests::local::who_local_data_errors_when_env_root_is_missing_file ... ok test cache::planner::tests::planner_walk_skips_malformed_blob_leaves ... ok test cli::health::tests::local::cvx_local_data_errors_when_default_root_is_partial ... ok test cli::health::tests::local::check_cache_dir_config_error_matches_pinned_contract ... ok test cache::planner::tests::snapshot_cache_reports_seeded_entries_and_blobs_deterministically ... ok test cli::health::tests::local::who_ivd_local_data_reports_configured_when_env_root_is_complete ... ok test cli::pathway::tests::pathway_trials_parse_source_and_limit ... ok test cli::search_all::tests::dispatch::merge_trial_backfill_rows_preserves_preferred_order_and_dedupes ... ok test cli::search_all::tests::dispatch::merge_trial_backfill_rows_respects_limit_with_preferred_only ... ok test cli::pathway::tests::pathway_help_describes_source_aware_section_contract ... ok test cli::benchmark::run::suite::tests::baseline_discovery_picks_highest_semver ... ok test cli::pgx::tests::search_pgx_parses_positional_query ... ok test cli::search_all::tests::dispatch::section_fetch_limit_reduces_only_safe_counts_only_sections ... ok test cli::pgx::tests::search_args_reject_zero_limit_before_backend_lookup ... ok test cli::health::tests::local::who_local_data_not_configured_when_default_root_is_empty ... ok test cli::search_all::tests::dispatch::section_timeout_uses_article_specific_budget ... ok test cli::pathway::tests::search_pathway_help_describes_conditional_query_contract ... ok test cli::phenotype::tests::search_args_reject_zero_limit_before_backend_lookup ... ok test cli::search_all::tests::format::counts_only_json_projection_omits_results_links_and_total ... ok test cli::search_all::tests::format::counts_only_json_projection_preserves_debug_plan ... ok test cli::search_all::tests::format::format_search_all_p_value_removes_float_artifacts ... ok test cli::search_all::tests::format::refine_drug_results_filters_metabolites_when_parent_like_match_exists ... ok test cli::search_all::tests::format::dedupe_gwas_rows_keeps_lowest_p_value ... ok test cli::protein::tests::search_args_reject_next_page_with_offset ... ok test cli::health::tests::local::who_local_data_errors_when_only_vaccine_file_is_missing ... ok test cli::search_all::tests::format::refine_drug_results_keeps_metabolites_when_no_parent_like_match ... ok test cli::search_all::tests::format::variant_significance_rank_matches_clinical_priority ... ok test cli::search_all::tests::format::to_json_array_preserves_article_source_and_ranking_metadata ... ok test cli::phenotype::tests::search_phenotype_help_mentions_hpo_ids_and_symptom_phrases ... ok test cli::search_all::tests::links::canonical_article_command_dedupes_shared_disease_keyword_token ... ok test cli::pathway::tests::related_limit_rejects_zero_before_lookup ... ok test cli::search_all::tests::links::canonical_article_command_keeps_distinct_disease_and_keyword_filters ... ok test cli::protein::tests::search_protein_help_shows_limit_range ... ok test cli::health::tests::local::who_local_data_reports_available_when_default_root_is_complete ... ok test cli::search_all::tests::links::canonical_article_command_keeps_keyword_only_search ... ok test cli::protein::tests::search_args_reject_too_large_limit ... ok test cli::search_all::tests::links::canonical_article_command_quotes_apostrophe_keyword_for_shell_safety ... ok test cache::manager::tests::run_eviction_cycle_uses_exact_snapshot_state_for_size_eviction ... ok test cache::manager::tests::run_eviction_cycle_uses_effective_max_size_for_disk_pressure ... ok test cli::search_all::tests::links::canonical_drug_command_stays_typed_only_with_gene_anchor ... ok test cli::protein::tests::protein_structures_parses_offset_flag ... ok test cli::search_all::tests::links::canonical_trial_command_stays_typed_only_with_distinct_keyword ... ok test cli::search_all::tests::links::top_get_command_prefers_parent_drug_name ... ok test cli::search_all::tests::links::top_get_command_prefers_parent_like_salt_name_over_metabolites ... ok test cli::search_all::tests::links::top_get_command_skips_civic_variant_ids ... ok test cli::search_all::tests::plan::article_filters_follow_keyword_dependent_ranking_defaults ... ok test cli::search_all::tests::plan::build_dispatch_plan_gene_only_matches_contract ... ok test cli::search_all::tests::plan::build_dispatch_plan_keyword_only_routes_to_article ... ok test cli::search_all::tests::plan::build_result_plan_includes_fallback_and_article_matched_sources ... ok test cli::search_all::tests::links::canonical_variant_command_preserves_unparsed_anchor ... ok test cli::search_all::tests::plan::build_result_plan_keyword_article_leg_excludes_litsense2_default_source ... ok test cli::search_all::tests::plan::build_result_plan_marks_shared_disease_keyword_orientation_fallback ... ok test cli::search_all::tests::plan::build_result_plan_marks_ungrounded_disease_fallback_on_article_leg ... ok test cli::search_all::tests::plan::build_result_plan_skips_ungrounded_marker_when_disease_leg_errors ... ok test cli::search_all::tests::plan::prepared_input_rejects_empty_typed_slots ... ok test cli::pathway::tests::search_pathway_requires_query_unless_top_level ... ok test cli::pathway::tests::search_pathway_limit_rejects_too_big_with_range ... ok test cli::skill::tests::catalog::canonical_prompt_body_matches_overview_and_normalizes_newlines ... ok test cli::search_all::tests::plan::build_dispatch_plan_variant_with_gene_fanout ... ok test cli::skill::tests::catalog::missing_skill_suggests_skill_catalog ... ok test cli::skill::tests::catalog::embedded_skill_overview_is_routing_first_and_points_to_worked_examples ... ok test cli::skill::tests::catalog::embedded_use_case_catalog_lists_expected_worked_examples ... ok test cli::skill::tests::catalog::refreshed_search_examples_are_non_empty ... ok test cli::search_all_command::tests::search_all_parses_slot_flags ... ok test cli::search_all_command::tests::search_all_parses_positional_keyword ... ok test cli::search_all_command::tests::search_all_without_typed_slots_still_parses_for_runtime_validation ... ok test cli::search_all::tests::dispatch::search_all_pathway_section_surfaces_sanitized_wikipathways_error ... ok test cli::study::tests::charts::chart_auxiliary_flags_require_chart ... ok test cli::skill::tests::catalog::validate_skills_target_uses_project_free_uv_dev_environment ... ok test cli::study::tests::charts::study_co_occurrence_parses_heatmap_chart_flag ... ok test cli::study::tests::charts::short_help_hides_chart_flags_but_long_help_shows_them ... ok test cli::study::tests::charts::study_compare_expression_parses_scatter_chart_with_file_dimensions ... ok test cli::skill::tests::install::find_best_target_defaults_to_home_agents_when_nothing_exists ... ok test cli::study::tests::help::study_help_lists_descriptions_for_all_subcommands ... ok test cli::study::tests::charts::study_compare_mutations_parses_stacked_bar_chart_flag ... ok test cli::study::tests::charts::study_query_parses_waterfall_chart_flag ... ok test cli::study::tests::help::study_compare_help_describes_type_and_target ... ok test cli::study::tests::charts::handle_command_rejects_invalid_expression_chart ... ok test cli::study::tests::help::study_filter_help_describes_each_filter_flag ... ok test cli::study::tests::help::study_download_help_describes_list_and_study_id ... ok test cli::study::tests::charts::study_survival_parses_survival_chart_flag ... ok test cli::study::tests::charts::study_query_parses_chart_flags ... ok test cli::study::tests::help::study_co_occurrence_help_describes_gene_list_contract ... ok test cli::study::tests::help::study_survival_help_describes_endpoint_values_and_aliases ... ok test cli::study::tests::parsing::study_download_parses_list_flag ... ok test cli::study::tests::parsing::study_filter_parses_all_flags_and_repeated_values ... ok test cli::study::tests::help::study_cohort_help_describes_gene_split ... ok test cli::study::tests::parsing::study_compare_parses_type_and_target ... ok test cli::study::tests::parsing::study_co_occurrence_parses_gene_list ... ok test cli::study::tests::help::study_query_help_describes_key_flags_and_aliases ... ok test cli::study::tests::parsing::study_cohort_parses_required_flags ... ok test cli::study::tests::parsing::study_query_parses_required_flags ... ok test cli::study::tests::parsing::study_survival_parses_endpoint_flag ... ok test cli::study::tests::parsing::study_download_parses_positional_study_id ... ok test cli::study::tests::help::study_top_mutated_help_describes_limit ... ok test cli::study::tests::parsing::study_list_parses_subcommand ... ok test cli::study::tests::parsing::study_top_mutated_parses_limit_flag ... ok test cli::study::tests::charts::study_co_occurrence_invalid_chart_lists_heatmap ... ok test cli::study::tests::charts::study_compare_mutations_invalid_chart_lists_stacked_bar ... ok test cli::skill::tests::install::find_best_target_preserves_pi_agent_skills_path ... ok test cli::study::tests::validation::study_filter_requires_at_least_one_criterion ... ok test cli::study::tests::validation::study_filter_rejects_malformed_expression_threshold ... ok test cli::skill::tests::install::find_existing_install_detects_claude ... ok test cli::suggest::tests::render::no_match_is_successful_with_null_json_fields ... ok test cli::system::tests::batch_help_includes_examples_and_limits ... ok test cli::suggest::tests::routes::mechanism_drug_branch_handles_imatinib_resistance_develop ... ok test cli::system::tests::cvx_help_mentions_sync_example ... ok test cli::system::tests::batch_command_parses_sections_and_source ... ok test cli::suggest::tests::render::ticket_examples_keep_exact_commands_and_response_shape ... ok test cli::system::tests::cvx_sync_help_describes_bundle_refresh ... ok test cli::suggest::tests::render::markdown_exposes_labels_and_no_match_guidance ... ok test cli::skill::tests::install::find_best_target_prefers_agents_populated_skills_dir ... ok test cli::suggest::tests::routes::mechanism_resistance_to_drug_prefers_drug_anchor ... ok test cli::suggest::tests::routes::mechanism_resistance_against_prefers_drug_anchor ... ok test cli::system::tests::cvx_sync_parses_subcommand ... ok test cli::system::tests::ddinter_help_mentions_sync_example ... ok test cli::study::tests::charts::study_query_mutations_invalid_chart_lists_waterfall ... ok test cli::suggest::tests::extract::mechanism_resistance_to_drug_quotes_shell_sensitive_anchor ... ok test cli::system::tests::ema_help_mentions_sync_example ... ok test cli::system::tests::ddinter_sync_help_describes_eight_csv_refresh ... ok test cli::suggest::tests::extract::generated_commands_quote_user_derived_multiword_and_shell_metacharacter_anchors ... ok test cli::system::tests::ema_sync_parses_subcommand ... ok test cli::study::tests::validation::study_compare_rejects_unknown_type ... ok test cli::system::tests::enrich_command_parses_limit ... ok test cli::suggest::tests::routes::route_examples_cover_shipped_skill_slugs ... ok test cli::system::tests::gtr_help_mentions_sync_example ... ok test cli::study::tests::validation::study_co_occurrence_requires_2_to_10_genes ... ok test cli::skill::tests::install::find_best_target_ignores_non_skill_files_in_skills_dir ... ok test cli::system::tests::enrich_rejects_limit_above_max_before_api_call ... ok test cli::system::tests::gtr_sync_parses_subcommand ... ok test cli::system::tests::discover_help_includes_when_to_use_guidance ... ok test cli::system::tests::ddinter_sync_parses_subcommand ... ok test cli::system::tests::discover_top_level_command_parses_query ... ok test cli::system::tests::handle_enrich_rejects_zero_limit_before_api_call ... ok test cli::system::tests::enrich_rejects_zero_limit_before_api_call ... ok test cli::system::tests::gtr_sync_help_describes_diagnostic_bundle_refresh ... ok test cli::system::tests::health_command_parses_apis_only ... ok test cli::system::tests::serve_http_help_describes_streamable_http ... ok test cli::system::tests::skill_uninstall_is_rejected_before_skill_lookup ... ok test cli::system::tests::list_command_parses_entity_name ... ok test cli::system::tests::who_help_mentions_sync_example ... ok test cli::system::tests::version_command_parses_verbose_flag ... ok test cli::system::tests::who_ivd_help_mentions_sync_example ... ok test cli::suggest::tests::routes::guardrails_avoid_common_false_positives ... ok test cli::system::tests::who_ivd_sync_help_describes_diagnostic_csv_refresh ... ok test cli::system::tests::who_sync_help_describes_dual_export_refresh ... ok test cli::tests::facade::cache::cache_clean_help_mentions_dry_run_json_and_limits ... ok test cli::system::tests::who_sync_parses_subcommand ... ok test cli::tests::facade::cache::cache_path_command_parses ... ok test cli::tests::facade::chart::chart_args_default_to_no_chart ... ok test cli::tests::facade::cache::cache_clean_command_parses_with_flags ... ok test cli::tests::facade::cache::cache_clear_command_parses ... ok test cli::tests::facade::cache::cache_clear_command_parses_with_yes_flag ... ok test cli::tests::facade::cache::cache_clear_help_mentions_yes_tty_and_destructive_scope ... ok test cli::tests::facade::chart::rewrite_mcp_chart_args_preserves_svg_sizing_flags ... ok test cli::tests::facade::cache::cache_stats_command_parses ... ok test cli::tests::facade::cache::cache_path_help_mentions_plain_text_and_ignored_json ... ok test cli::tests::facade::chart::rewrite_mcp_chart_args_rejects_terminal_and_png_only_flags ... ok test cli::tests::facade::cache::cache_help_lists_clear_subcommand ... ok test cli::tests::facade::cache::json_cache_path_parses_as_plain_path_command ... ok test cli::system::tests::version_json_contract_has_identity_fields ... ok test cli::tests::facade::cache::json_cache_stats_parses_as_stats_command ... ok test cli::tests::facade::help::discover_help_mentions_article_search_fallback_for_non_canonical_queries ... ok test cli::system::tests::who_ivd_sync_parses_subcommand ... ok test cli::tests::facade::help::skill_help_examples_match_installed_surface ... ok test cli::tests::facade::cache::cache_stats_help_mentions_json_and_cli_only ... ok test cli::tests::facade::help::serve_sse_help_stays_callable_and_deprecated ... ok test cli::skill::tests::install::find_existing_install_prefers_agents_and_reports_others ... ok test cli::tests::facade::help::search_all_help_mentions_counts_only_json_contract ... ok test cli::tests::facade::help::suggest_help_documents_examples_json_and_no_match ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_json_includes_regulatory_field_and_provenance_when_requested ... ok test cli::tests::facade::help::top_level_help_hides_serve_sse_but_keeps_serve_http ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_json_next_commands_keep_four_visible_gtr_sections ... ok test cli::tests::facade::help::top_level_help_lists_suggest_command ... ok test cli::tests::facade::help::top_level_help_describes_cache_family_not_path_only ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_json_omits_regulatory_field_when_unrequested ... ok test cli::tests::facade::help::top_level_help_lists_cache_command ... ok test cli::tests::facade::chart::chart_dimension_flags_validate_positive_values ... ok test cli::tests::facade::help::top_level_help_mentions_cache_path_json_exception ... ok test cli::tests::next_commands_json_property::disease_trial::disease_json_next_commands_omit_requested_section_follow_up ... ok test cli::tests::next_commands_json_property::disease_trial::disease_json_suggestions_match_see_also_without_more_hints ... ok test cli::tests::facade::help::top_level_help_uses_count_free_source_phrase ... ok test cli::tests::facade::help::runtime_help_hides_query_only_global_flags ... ok test cli::tests::next_commands_json_property::gene_article::gene_json_next_commands_omit_requested_section_follow_up ... ok test cli::tests::facade::help::runtime_commands_still_parse_hidden_global_flags ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_json_next_commands_quote_who_follow_up ... ok test cli::tests::facade::search_all_requires_at_least_one_typed_slot ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_search_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::batch_protein_json_omits_requested_section_from_next_commands ... ok test cli::tests::next_commands_json_property::gene_article::gene_json_suggestions_match_see_also_without_section_hints ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::batch_adverse_event_json_uses_variant_specific_meta ... ok test cli::tests::next_commands_json_property::diagnostic::diagnostic_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::disease_trial::pgx_json_next_commands_parse ... ok test cli::suggest::tests::routes::route_specific_contract_edges_match_design ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::pathway_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::faers_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::protein_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::protein_phenotype::phenotype_search_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::pathway_adverse_event::device_event_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::protein_phenotype::protein_search_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::variant_drug::drug_interaction_report_json_next_commands_include_helper_follow_ups ... ok test cli::tests::next_commands_validity::adverse_event_next_commands_parse ... ok test cli::tests::next_commands_validity::adverse_event_search_json_next_commands_parse ... ok test cli::tests::next_commands_validity::device_event_next_commands_parse ... ok test cli::tests::next_commands_validity::pathway_next_commands_parse ... ok test cli::tests::next_commands_json_property::variant_drug::drug_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::gene_article::article_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::disease_trial::trial_json_next_commands_parse ... ok test cli::tests::next_commands_validity::article_loop_suggestion_commands_parse ... ok test cli::tests::next_commands_validity::gwas_search_json_next_commands_parse ... ok test cli::tests::next_commands_validity::disease_search_json_next_commands_parse ... ok test cli::tests::outcome::alias_fallback_ols_failure_preserves_original_not_found ... ok test cli::tests::next_commands_validity::pgx_next_commands_parse ... ok test cli::tests::next_commands_validity::diagnostic_search_json_next_commands_parse ... ok test cli::tests::outcome::ambiguous_gene_miss_points_to_discover ... ok test cli::tests::next_commands_json_property::variant_drug::variant_json_next_commands_parse ... ok test cli::tests::next_commands_validity::drug_search_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::disease_trial::disease_json_next_commands_include_top_gene_context ... ok test cli::tests::outcome::batch_gene_json_includes_meta_per_item ... ok test cli::tests::outcome::drug_alias_fallback_json_writes_stdout_and_exit_1 ... ok test cli::tests::next_commands_json_property::variant_drug::variant_json_next_commands_include_vus_literature_route ... ok test cli::tests::outcome::drug_alias_fallback_returns_exit_1_markdown_suggestion ... ok test cli::tests::outcome::extract_json_from_sections_detects_trailing_long_flag ... ok test cli::tests::next_commands_validity::article_and_discover_next_commands_parse ... ok test cli::tests::outcome::extract_json_from_sections_detects_trailing_short_flag ... ok test cli::tests::next_commands_validity::pgx_search_json_next_commands_parse ... ok test cli::tests::outcome::extract_json_from_sections_keeps_regular_sections ... ok test cli::tests::next_commands_validity::gene_search_json_next_commands_parse ... ok test cli::tests::outcome::mcp_alias_suggestion_json_stays_structured ... ok test cli::tests::next_commands_validity::trial_search_json_next_commands_parse ... ok test cli::tests::outcome::gene_alias_fallback_json_writes_stdout_and_exit_1 ... ok test cli::tests::next_commands_validity::pathway_search_json_next_commands_parse ... ok test cli::tests::outcome::gene_alias_fallback_returns_exit_1_markdown_suggestion ... ok test cli::tests::outcome::phenotype_search_json_contract_unchanged ... ok test cli::tests::outcome::resolve_query_input_accepts_flag_or_positional ... ok test cli::tests::outcome::resolve_query_input_rejects_dual_values ... ok test cli::tests::next_commands_validity::article_search_json_next_commands_parse ... ok test cli::tests::outcome::search_json_with_meta_and_suggestions_includes_zero_result_suggestions ... ok test cli::tests::outcome::search_json_with_meta_includes_next_commands ... ok test cli::tests::next_commands_validity::variant_search_json_next_commands_parse ... ok test cli::tests::outcome::search_json_with_meta_omits_meta_when_empty ... ok test cli::tests::outcome::search_meta_trims_empty_commands ... ok test cli::tests::outcome::search_meta_with_suggestions_keeps_empty_suggestions_array ... ok test cli::tests::outcome::search_meta_with_workflow_keeps_meta_without_next_commands ... ok test cli::tests::next_commands_json_property::disease_trial::disease_json_next_commands_parse ... ok test cli::tests::next_commands_json_property::gene_article::gene_json_next_commands_parse ... ok test cli::tests::next_commands_validity::diagnostic_next_commands_parse ... ok test cli::tests::next_commands_validity::protein_next_commands_parse ... ok test cli::tests::next_commands_validity::article_next_commands_parse ... ok test cli::trial::tests::handle_search_rejects_next_page_with_offset ... ok test cli::trial::tests::get_trial_parses_location_paging_before_sections ... ok test cli::trial::tests::handle_search_rejects_no_alias_expand_for_nci_source ... ok test cli::skill::tests::install::install_to_dir_writes_canonical_skill_md_and_assets ... ok test cli::trial::tests::search_trial_parses_multi_word_positional_query ... ok test cli::tests::next_commands_validity::drug_next_commands_parse ... ok test cli::trial::tests::get_trial_parses_source_before_sections ... ok test cli::trial::tests::search_trial_parses_no_alias_expand ... ok test cli::trial::tests::handle_search_rejects_no_alias_expand_without_intervention ... ok test cli::trial::tests::zero_result_trial_broadening_hints_name_filter_relaxations ... ok test cli::trial::tests::search_trial_parses_positional_query ... ok test cli::trial::tests::zero_result_trial_next_commands_offer_filtered_broadening ... ok test cli::trial::tests::trial_age_help_explains_age_only_count_is_approximate ... ok test cli::trial::tests::trial_help_clarifies_mutation_vs_biomarker ... ok test cli::tests::next_commands_validity::disease_next_commands_parse ... ok test cli::trial::tests::search_trial_parses_next_page_with_intervention ... ok test cli::trial::tests::trial_help_documents_alias_expansion_controls ... ok test cli::trial::tests_locations::handle_get_rejects_declared_paging_without_locations ... ok test cli::trial::tests::search_trial_parses_positional_query_with_status_flag ... ok test cli::trial::tests_locations::handle_get_rejects_duplicate_declared_and_legacy_paging ... ok test cli::trial::tests::trial_phase_help_explains_canonical_numeric_forms_and_aliases ... ok test cli::trial::tests::search_trial_rejects_non_numeric_age ... ok test cli::trial::tests_locations::handle_get_rejects_declared_limit_zero ... ok test cli::trial::tests::search_trial_parses_unquoted_multi_token_mutation ... ok test cli::trial::tests_locations::paginate_trial_locations_handles_missing_locations ... ok test cli::trial::tests::search_trial_parses_new_filter_flags ... ok test cli::trial::tests_locations::parse_trial_location_paging_extracts_offset_limit_flags ... ok test cli::trial::tests_locations::parse_trial_location_paging_rejects_legacy_limit_zero ... ok test cli::trial::tests::trial_help_documents_nci_source_specific_notes ... ok test cli::trial::tests_locations::trial_search_query_summary_can_show_canonical_intervention ... ok test cli::trial::tests_locations::trial_locations_json_preserves_location_pagination_and_section_sources ... ok test cli::trial::tests::trial_phase_help_explains_combined_phase_label ... ok test cli::trial::tests_locations::trial_search_query_summary_includes_alias_opt_out_marker ... ok test cli::trial::tests::trial_facility_help_names_text_search_and_geo_verify_modes ... ok test cli::trial::tests_locations::trial_search_query_summary_includes_geo_filters ... ok test cli::trial::tests_locations::trial_search_query_summary_includes_nci_source_marker ... ok test cli::trial::tests_locations::trial_search_query_summary_omits_alias_opt_out_marker_when_not_applicable ... ok test cli::trial::tests::trial_sex_help_explains_all_means_no_restriction ... ok test cli::trial::tests_locations::trial_zero_result_nickname_hint_requires_positional_ctgov_query_with_zero_results ... ok test cli::update::tests::enforce_checksum_policy_missing_sidecar_with_override_warns_and_continues ... ok test cli::update::tests::enforce_checksum_policy_missing_sidecar_without_override_fails_closed ... ok test cli::tests::next_commands_validity::trial_next_commands_parse ... ok test cli::tests::next_commands_json_property::gene_article::gene_json_next_commands_include_clingen_trial_search ... ok test cli::update::tests::install_binary_after_checksum_policy_missing_sidecar_without_override_does_not_replace ... ok test cli::update::tests::verify_archive_against_checksum_accepts_matching_sha256 ... ok test cli::update::tests::verify_archive_against_checksum_rejects_invalid_format ... ok test cli::update::tests::extract_binary_from_targz_returns_matching_binary_bytes ... ok test cli::update::tests::verify_archive_against_checksum_rejects_mismatch ... ok test cli::update::tests::extract_binary_from_targz_reports_missing_binary_as_not_found ... ok test cli::update::tests::enforce_checksum_policy_verified_returns_no_warning ... ok test cli::update::tests::extract_binary_from_targz_rejects_empty_binary ... ok test cli::variant::normalization_json::tests::render_deduplicates_aggregate_results ... ok test cli::tests::next_commands_validity::variant_next_commands_parse ... ok test cli::variant::tests::parse_simple_gene_change_detects_supported_forms ... ok test cli::variant::tests::resolve_variant_query_maps_long_form_positional_gene_change_to_gene_and_hgvsp ... ok test cli::variant::tests::resolve_variant_query_maps_rsid_to_rsid_filter ... ok test cli::variant::tests::resolve_variant_query_maps_simple_gene_change_to_gene_and_hgvsp ... ok test cli::variant::tests::resolve_variant_query_normalizes_long_form_hgvsp_flag ... ok test cli::variant::tests::resolve_variant_query_preserves_stop_x_for_hgvsp_flag ... ok test cli::tests::next_commands_validity::gene_next_commands_parse ... ok test cli::variant::tests::resolve_variant_query_maps_single_token_to_gene ... ok test cli::variant::tests::parse_simple_gene_change_rejects_non_simple_forms ... ok test cli::variant::tests::resolve_variant_query_rejects_conflicts_with_positional_mapping ... ok test cli::variant::tests::resolve_variant_query_maps_exon_deletion_phrase_to_gene_and_consequence ... ok test cli::variant::tests::resolve_variant_query_maps_gene_hgvsc_text_to_gene_and_hgvsc ... ok test cli::variant::tests::resolve_variant_query_maps_gene_residue_alias_to_residue_alias_search ... ok test cli::variant::tests::handle_get_returns_guidance_json_for_shorthand_variant ... ok test cli::variant::tests::resolve_variant_query_returns_guidance_for_standalone_protein_change ... ok test cli::variant::tests::resolve_variant_query_maps_gene_flag_residue_alias_to_residue_alias_search ... ok test cli::variant::tests::resolve_variant_query_returns_guidance_for_long_form_single_token_change ... ok test cli::variant::tests::resolve_variant_query_uses_gene_context_for_standalone_protein_change ... ok test cli::variant::tests::resolve_variant_query_uses_gene_context_for_long_form_single_token_change ... ok test cli::variant::tests::ticket_377_variant_renderer_envelope_contracts ... ok test enrich_sparse_disease_identity_prefers_exact_ols4_match ... ok test entities::adverse_event::tests::build_device_query_requires_any_device_filter ... ok test disease_markdown_renders_ot_only_gene_association_table ... ok test cli::variant::tests::search_variant_parses_quoted_gene_change_positional_query ... ok test entities::adverse_event::tests::build_device_query_supports_manufacturer_and_product_code_filters ... ok test entities::adverse_event::tests::build_enforcement_query_has_default_when_filters_empty ... ok test entities::adverse_event::tests::build_openfda_query_encodes_outcome_and_since ... ok test entities::adverse_event::tests::build_openfda_query_requires_drug_name ... ok test entities::adverse_event::tests::device_query_summary_includes_new_filters ... ok test cli::variant::tests::search_variant_parses_multi_token_positional_query_and_flag ... ok test cli::variant::tests::search_variant_parses_single_token_positional_query ... ok test entities::adverse_event::tests::normalize_classification_accepts_common_forms ... ok test entities::adverse_event::tests::normalize_count_field_maps_reaction_alias_to_exact_keyword_field ... ok test cli::variant::tests::variant_trials_parses_source_flag ... ok test entities::adverse_event::tests::query_type_rejects_unknown_flag ... ok test cli::variant::tests::variant_bare_id_parses_as_external_subcommand ... ok test entities::adverse_event::tests::search_with_source_all_skips_vaers_for_unsupported_filters ... ok test entities::adverse_event::tests::search_with_source_all_non_vaccine_uses_local_only_vaers_result ... ok test cli::variant::tests::variant_get_shorthand_json_returns_variant_guidance_metadata ... ok test entities::adverse_event::tests::search_count_rejects_empty_count_field ... ok test entities::adverse_event::tests::search_with_source_vaers_rejects_offset ... ok test entities::adverse_event::tests::search_with_source_vaers_rejects_unsupported_filters ... ok test cli::variant::tests::variant_search_shorthand_json_returns_variant_guidance_metadata ... ok test entities::adverse_event::tests::search_with_status_preserves_openfda_empty_results ... ok test entities::adverse_event::tests::search_with_status_preserves_openfda_not_found ... ok test entities::adverse_event::tests::source_filter_rejects_unknown_flag ... ok test entities::adverse_event::tests::summarize_search_results_computes_top_reactions ... ok test entities::adverse_event::tests::trial_adverse_events_count_each_term_once_per_study ... ok test entities::adverse_event::tests::trial_adverse_events_dedupe_studies_across_aliases ... ok test entities::adverse_event::tests::trial_adverse_events_prefers_alias_copy_with_counted_terms ... ok test entities::adverse_event::tests::vaers_resolver_matches_influenza_family_queries ... ok test entities::adverse_event::tests::vaers_resolver_returns_query_not_vaccine_without_upstream_call ... ok test entities::adverse_event::tests::vaers_summary_payload_maps_mmr_tables ... ok test entities::adverse_event::tests::validate_count_field_preserves_real_field_paths_and_aliases ... ok test entities::adverse_event::tests::validate_count_field_rejects_non_field_syntax ... ok test entities::adverse_event::tests::validate_count_field_rejects_total_affordances ... ok test entities::article::assets::tests::append_matching_figshare_ids_dedupes_sorts_and_caps ... ok test entities::article::assets::tests::build_manifest_hashes_binary_bytes_and_quotes_retrieval_commands ... ok test entities::article::assets::tests::figshare_same_paper_matches_doi_or_normalized_exact_title ... ok test cli::skill::tests::catalog::embedded_use_case_anchor_commands_parse ... ok test entities::article::backends::tests::search_pubmed_page_cleans_question_keyword_before_esearch ... ok test entities::article::backends::tests::search_pubmed_page_rejects_no_preprints ... ok test entities::article::backends::tests::litsense2_candidates_apply_hydrated_journal_and_date_filters ... ok test entities::article::backends::tests::search_pubmed_page_applies_offset_after_filtering ... ok test entities::article::backends::tests::search_pubmed_page_refills_across_batches_after_filtering ... ok test entities::article::backends::tests::litsense2_candidates_deduplicate_and_hydrate_pubmed_metadata ... ok test entities::article::backends::tests::search_pubmed_page_rejects_open_access ... ok test entities::article::backends::tests::search_pubmed_page_sends_standalone_not_retraction_term ... ok test entities::article::backends::tests::semantic_scholar_candidates_keep_unknown_retraction_rows ... ok test entities::article::backends::tests::semantic_scholar_candidates_send_effective_year_filter ... ok test entities::article::backends::tests::search_pubmed_page_hard_fails_on_blank_title ... ok test entities::article::backends::tests::semantic_scholar_year_filter_uses_normalized_date_bounds ... ok test entities::article::backends::tests::ticket_376_article_source_status_contracts_semantic_scholar_unavailable_status_without_key ... ok test entities::article::batch::tests::article_batch_item_projection_keeps_requested_id_year_and_top_entities ... ok test entities::article::batch::tests::batch_semantic_scholar_merge_fills_fields_and_skips_none_rows_and_pmcid_only ... ok test entities::article::batch::tests::article_batch_rejects_more_than_max_ids_before_network ... ok test entities::article::candidates::tests::article_source_litsense2_priority ... ok test entities::article::candidates::tests::article_source_pubmed_priority ... ok test entities::article::candidates::tests::finalize_article_candidates_default_cap_ignores_empty_pmid_rows ... ok test entities::article::candidates::tests::federated_relevance_uses_source_local_position_not_merge_order ... ok test entities::article::candidates::tests::finalize_article_candidates_default_cap_limits_three_source_pool ... ok test entities::article::candidates::tests::finalize_article_candidates_default_cap_skips_two_source_pools ... ok test entities::article::candidates::tests::finalize_article_candidates_explicit_cap_applies_on_two_source_pools ... ok test entities::article::candidates::tests::finalize_article_candidates_explicit_cap_equal_limit_disables_capping ... ok test entities::article::candidates::tests::finalize_article_candidates_explicit_cap_uses_primary_source_native_position ... ok test entities::article::candidates::tests::finalize_article_candidates_preserves_source_local_position ... ok test entities::article::candidates::tests::merge_article_candidates_dedups_transitively_across_identifiers ... ok test entities::article::candidates::tests::merge_article_candidates_keeps_min_source_local_position ... ok test entities::article::candidates::tests::pubmed_led_rescue_preserves_per_source_positions_through_merge ... ok test entities::article::candidates::tests::pubmed_unique_row_survives_first_page_in_mixed_federation ... ok test entities::article::detail::tests::get_rejects_pdf_without_fulltext_section ... ok test entities::article::detail::tests::is_doi_basic ... ok test entities::article::detail::tests::parse_article_id_basic ... ok test entities::article::detail::tests::parse_article_id_publisher_pii_is_invalid ... ok test entities::article::detail::tests::parse_pmcid_basic ... ok test entities::article::detail::tests::parse_pmid_basic ... ok test entities::article::detail::tests::parse_sections_supports_tldr_and_all ... ok test entities::article::detail::tests::pubtator_lag_error_is_400_or_404_only ... ok test entities::article::enrichment::tests::article_base_merge_fills_abstract_when_semantic_scholar_has_none ... ok test entities::article::enrichment::tests::semantic_scholar_merge_preserves_existing_nonempty_primary_metadata ... ok test entities::article::enrichment::tests::semantic_scholar_merge_treats_zero_citation_as_missing ... ok test entities::article::filters::tests::exclude_retracted_keeps_unknown_retraction_status ... ok test entities::article::filters::tests::exclude_retracted_only_filters_confirmed_retractions ... ok test entities::article::filters::tests::normalize_article_type_accepts_aliases ... ok test entities::article::enrichment::tests::semantic_scholar_merge_fills_missing_citation_and_abstract_metadata ... ok test entities::article::filters::tests::normalized_date_bounds_normalizes_partial_dates ... ok test entities::article::filters::tests::normalized_date_bounds_rejects_bad_date_to_with_flag_name ... ok test entities::article::filters::tests::normalized_date_bounds_rejects_bad_month ... ok test cli::tests::next_commands_validity::workflow_ladder_sidecar_commands_parse ... ok test cli::tests::next_commands_validity::discover_next_commands_parse ... ok test entities::article::filters::tests::normalized_date_bounds_rejects_inverted_range ... ok test entities::article::filters::tests::partial_date_normalization_and_filtering_are_consistent ... ok test entities::article::fulltext::tests::fulltext_cache_key_is_kind_aware_and_versioned ... ok test entities::article::fulltext::tests::pdf_detection_rejects_non_pdf_payloads ... ok test entities::article::fulltext::tests::semantic_scholar_pdf_url_requires_opt_in_and_nonblank_url ... ok test entities::article::fulltext::tests::unresolved_note_reflects_attempted_ladder ... ok test entities::article::fulltext::tests::xml_fulltext_attempts_try_pmc_sources_before_med_fallback ... ok test entities::article::fulltext::tests::xml_fulltext_attempts_use_med_when_only_pmid_is_available ... ok test entities::article::fulltext::tests::xml_source_metadata_is_truthful ... ok test entities::article::graph::tests::citations_map_semantic_scholar_edges ... ok test entities::article::graph::tests::recommendations_map_semantic_scholar_papers ... ok test entities::article::graph::tests::references_map_semantic_scholar_edges ... ok test entities::article::graph::tests::semantic_scholar_lookup_id_supports_arxiv_and_paper_ids ... ok test entities::article::planner::tests::article_type_limitation_note_tracks_compatible_source_sets ... ok test entities::article::planner::tests::litsense2_search_enabled_only_for_explicit_litsense2_source ... ok test entities::article::planner::tests::planner_rejects_litsense2_open_access_filter ... ok test entities::article::planner::tests::planner_rejects_litsense2_type_filter ... ok test entities::article::planner::tests::planner_rejects_litsense2_without_keyword ... ok test entities::article::planner::tests::planner_rejects_pubtator_open_access_without_suggesting_pubmed ... ok test entities::article::planner::tests::planner_rejects_pubtator_type_and_no_preprints_without_suggesting_pubmed ... ok test entities::article::planner::tests::planner_rejects_pubtator_type_with_pubmed_compatible_filters_and_suggests_supported_routes ... ok test entities::article::planner::tests::planner_rejects_semantic_scholar_open_access_filter ... ok test entities::article::planner::tests::planner_rejects_semantic_scholar_type_filter ... ok test entities::article::planner::tests::planner_routes_all_to_europepmc_for_strict_filters ... ok test entities::article::planner::tests::planner_routes_all_with_type_and_no_preprints_to_europe_only ... ok test entities::article::planner::tests::planner_routes_all_with_type_to_type_capable ... ok test entities::article::planner::tests::planner_routes_litsense2_to_litsense2_only ... ok test entities::article::planner::tests::planner_routes_pubmed_to_pubmed_only ... ok test entities::article::planner::tests::planner_routes_semantic_scholar_to_semantic_scholar_only ... ok test entities::article::planner::tests::semantic_scholar_search_is_enabled_for_explicit_semantic_scholar_source ... ok test entities::article::planner::tests::semantic_scholar_search_is_enabled_for_federated_queries ... ok test entities::article::planner::tests::summarize_debug_plan_explicit_litsense2_remains_selectable ... ok test entities::article::planner::tests::summarize_debug_plan_explicit_pubtator_emits_pubtator_only ... ok test entities::article::planner::tests::summarize_debug_plan_explicit_semantic_scholar_remains_selectable ... ok test entities::article::planner::tests::summarize_debug_plan_keyword_all_excludes_litsense2 ... ok test entities::article::planner::tests::summarize_debug_plan_no_preprints_omits_pubmed ... ok test entities::article::planner::tests::summarize_debug_plan_reports_federated_sources_and_matches ... ok test entities::article::planner::tests::summarize_debug_plan_strict_filter_emits_europe_only_strict ... ok test entities::article::query::tests::build_free_text_article_query_preserves_mixed_semantic_anchors ... ok test entities::article::query::tests::build_pubmed_esearch_params_allows_federated_windows_above_user_limit ... ok test entities::article::query::tests::build_pubmed_esearch_params_rejects_federated_window_overflow ... ok test entities::article::query::tests::build_pubmed_esearch_params_rejects_no_preprints ... ok test entities::article::query::tests::build_pubmed_esearch_params_rejects_open_access ... ok test entities::article::query::tests::build_pubmed_esearch_params_reuses_article_type_aliases ... ok test entities::article::query::tests::build_pubmed_search_term_cleans_unfielded_clauses_only ... ok test entities::article::query::tests::build_pubmed_search_term_falls_back_for_all_stopword_unfielded_clause ... ok test entities::article::query::tests::build_pubmed_search_term_uses_standalone_not_for_retraction_filter ... ok test entities::article::query::tests::build_search_query_combines_keyword_and_since ... ok test entities::article::query::tests::build_search_query_excludes_retracted_when_requested ... ok test entities::article::query::tests::build_search_query_keeps_phrase_quoting_for_entity_filters ... ok test entities::article::query::tests::build_search_query_rejects_unknown_article_type ... ok test entities::article::query::tests::build_search_query_uses_gene_anchor_field_when_requested ... ok test entities::article::query::tests::europepmc_keyword_does_not_quote_whitespace ... ok test entities::article::query::tests::pubtator_sort_omits_param_for_relevance ... ok test cli::suggest::tests::routes::route_examples_match_expected_skills_commands_and_parse ... ok test entities::article::query::tests::pubtator_sort_sends_param_for_date ... ok test entities::article::query::tests::strip_pubmed_stopwords_cleans_question_patterns ... ok test entities::article::query::tests::ticket_406_myd88_exact_protein_alias_article_precision ... ok test entities::article::ranking::tests::calibration::hybrid::hybrid_custom_weights_shift_ordering ... ok test entities::article::ranking::tests::calibration::hybrid::hybrid_entity_only_falls_back_without_nan ... ok test entities::article::ranking::tests::calibration::hybrid::hybrid_default_weights_orders_example_one ... ok test entities::article::ranking::tests::calibration::hybrid::hybrid_scoring_is_zero_safe ... ok test entities::article::ranking::tests::calibration::hybrid::hybrid_uses_litsense2_signal_for_semantic_score ... ok test entities::article::ranking::tests::calibration::hybrid::semantic_mode_ignores_non_litsense2_raw_scores ... ok test entities::article::ranking::tests::calibration::hybrid::lexical_mode_matches_current_ordering ... ok test entities::article::ranking::tests::calibration::hybrid::semantic_mode_prefers_score_before_lexical_fallback ... ok test entities::article::ranking::tests::calibration::rescue::anchor_count_pubmed_rescue_surfaces_above_higher_title_hit_competitor ... ok test entities::article::ranking::tests::calibration::rescue::exactly_one_anchor_hit_pubmed_unique_position_zero_is_rescued ... ok test entities::article::ranking::tests::calibration::rescue::mesh_synonym_zero_overlap_pubmed_row_does_not_rescue_above_literal_competitor ... ok test entities::article::ranking::tests::calibration::rescue::pubmed_nonfirst_position_does_not_rescue ... ok test entities::article::ranking::tests::calibration::rescue::pubmed_led_row_rescues_when_pubmed_position_is_strictly_best ... ok test entities::article::ranking::tests::calibration::rescue::rescued_rows_still_use_lexical_and_citation_tiebreaks ... ok test entities::article::ranking::tests::calibration::rescue::rescue_metadata_records_kind_and_position ... ok test entities::article::ranking::tests::calibration::rescue::shared_source_row_with_better_non_pubmed_position_does_not_rescue ... ok test entities::article::ranking::tests::calibration::rescue::shared_source_tie_does_not_count_as_pubmed_led ... ok test entities::article::ranking::tests::calibration::rescue::zero_overlap_pubmed_unique_position_zero_is_not_rescued ... ok test entities::article::ranking::tests::directness::directness_ranking_prefers_cue_then_citation_then_source_local_position ... ok test entities::article::ranking::tests::directness::directness_ranking_uses_full_title_and_token_boundaries ... ok test entities::article::ranking::tests::keyword::compound_name_variants_match_symmetrically_in_ranking ... ok test entities::article::ranking::tests::keyword::keyword_tokenization_decomposes_multi_word_into_separate_anchors ... ok test entities::article::ranking::tests::keyword::keyword_tokenization_dedups_structured_filter_overlap ... ok test entities::article::ranking::tests::keyword::multi_concept_keyword_all_tokens_in_title_scores_tier3 ... ok test entities::article::ranking::tests::keyword::multi_concept_keyword_partial_match_scores_nonzero ... ok test entities::article::ranking::tests::policy::article_relevance_ranking_policy_formats_modes ... ok test entities::article::ranking::tests::policy::default_ranking_mode_depends_on_keyword_presence ... ok test entities::article::ranking::tests::policy::search_article_ranking_flags_validate_cleanly ... ok test entities::article::search::tests::finalizer::federated_collection_keeps_available_rows_when_semantic_scholar_is_unavailable ... ok test entities::article::search::tests::finalizer::pubmed_only_rows_use_common_finalizer_for_sorting ... ok test entities::article::search::tests::finalizer::semantic_scholar_status_tracker_keeps_batch_failure_non_fatal ... ok test entities::article::search::tests::integration::federated_merge_includes_pubmed_rows_in_matched_sources ... ok test entities::article::search::tests::integration::federated_merge_keeps_non_europepmc_matches_under_default_retraction_filter ... ok test entities::article::search::tests::merge::federated_offset_applied_after_merge_not_per_leg ... ok test entities::article::search::tests::merge::federated_sort_orders_merged_results_for_citations_and_date ... ok test entities::article::search::tests::merge::merge_federated_pages_preserves_known_retraction_status_from_later_duplicate ... ok test entities::article::search::tests::merge::merge_federated_pages_dedups_with_pubtator_priority ... ok test entities::article::search::tests::merge::merge_federated_pages_records_litsense2_in_matched_sources ... ok test entities::article::search::tests::merge::merge_federated_pages_returns_first_error_when_both_fail ... ok test entities::article::search::tests::merge::merge_federated_pages_returns_surviving_europe_leg ... ok test entities::article::search::tests::merge::merge_federated_pages_returns_surviving_pubtator_leg ... ok test entities::article::search::tests::merge::merge_federated_pages_sorts_surviving_leg_before_offset ... ok test entities::article::search::tests::validate_search_page_request_rejects_invalid_inputs_before_backend_io ... ok test entities::article::tests::article_error_copy_and_warn_threshold_match_contract ... ok test entities::article::tests::article_ranking_mode_parses_supported_values ... ok test entities::article::tests::article_search_result_serializes_unknown_retraction_as_null ... ok test entities::article::tests::article_section_names_include_tldr ... ok test entities::article::tests::article_sort_default_is_relevance ... ok test entities::article::tests::article_sort_parses_supported_values ... ok test entities::article::tests::article_source_filter_parses_supported_values ... ok test entities::article::tests::article_source_litsense2_display_name ... ok test entities::article::tests::article_source_pubmed_display_name ... ok test entities::article::tests::empty_filters_default_sort_is_relevance ... ok test entities::article::tests::invalid_article_id_error_names_supported_types_and_publisher_limit ... ok test entities::article::tests::search_page_rejects_max_per_source_above_limit_before_backend_planning ... ok test entities::diagnostic::search::tests::disease_phrase_matches_accepts_word_and_phrase_boundaries ... ok test entities::article::tests::search_page_rejects_unknown_article_type_before_backend_planning ... ok test entities::diagnostic::search::tests::disease_phrase_matches_handles_utf8_boundaries_without_panicking ... ok test entities::diagnostic::search::tests::disease_phrase_matches_rejects_partial_words_and_keeps_scanning ... ok test entities::diagnostic::tests::diagnostic_source_filter_from_flag_accepts_expected_values ... ok test entities::diagnostic::search::tests::normalized_filters_reject_short_disease_filter ... ok test entities::diagnostic::tests::regulatory_rows_dedupe_pma_supplements_and_keep_latest_decision ... ok test entities::diagnostic::tests::search_query_summary_uses_documented_filter_order ... ok test entities::diagnostic::tests::who_ivd_regulatory_overlay_returns_empty_vec_on_no_match ... ok test entities::discover::tests::alias_fallback_classifier_returns_none_without_discovery_signal ... ok test entities::discover::tests::exact_article_keyword_resolver_accepts_gene_drug_and_disease_docs ... ok test entities::discover::tests::exact_article_keyword_resolver_canonicalizes_ols_aliases ... ok test entities::discover::tests::discover_request_records_alias_fallback_no_cache_intent ... ok test entities::discover::tests::discover_request_records_command_intent_before_clients ... ok test entities::discover::tests::exact_article_keyword_resolver_rejects_prefix_unsupported_and_ambiguous_matches ... ok test entities::discover::tests::exact_article_keyword_resolver_reports_alias_to_canonical_match ... ok test entities::discover::tests::discover_gene_function_without_topic_keeps_gene_only_article_search ... ok test entities::discover::tests::gene_function_queries_prefer_get_gene ... ok test entities::discover::tests::gene_disease_queries_prefer_search_all_orientation ... ok test entities::discover::tests::exact_gene_query_promotes_hgnc_result ... ok test entities::discover::tests::discover_general_gene_topic_adds_filtered_article_search ... ok test entities::discover::tests::discover_gene_function_with_topic_preserves_meaningful_keyword ... ok test entities::discover::tests::alias_fallback_classifier_returns_canonical_for_exact_gene_alias ... ok test entities::discover::tests::drug_safety_queries_beat_treatment_language ... ok test entities::discover::tests::alias_fallback_classifier_returns_ambiguous_for_type_mismatch ... ok test entities::discover::tests::empty_results_add_review_article_fallback_note_and_command ... ok test entities::discover::tests::hpo_backed_symptom_concepts_route_to_phenotype_search_first ... ok test entities::discover::tests::low_confidence_noncanonical_paths_append_article_search_once_when_missing ... ok test entities::discover::tests::normalize_primary_id_accepts_ols4_underscore_short_forms ... ok test entities::discover::tests::ols4_timeout_absorbs_slow_primary_discover_blips ... ok test entities::discover::tests::low_confidence_variant_adds_note_without_duplicate_article_fallback ... ok test entities::discover::tests::merge_prefers_shared_xrefs ... ok test entities::discover::tests::ols_doc_identifier_falls_back_to_short_form_when_obo_id_is_empty ... ok test entities::discover::tests::ols_hpo_identifier_overrides_non_hp_prefix_to_symptom ... ok test entities::discover::tests::single_entity_gene_alias_queries_stay_stable_after_general_filtering ... ok test entities::discover::tests::single_entity_disease_queries_stay_stable_after_general_filtering ... ok test entities::discover::tests::symptom_queries_about_disease_prefer_phenotype_section ... ok test entities::discover::tests::relational_mef2_query_redirects_when_only_weak_general_hits_remain ... ok test entities::discover::tests::relational_warfarin_query_redirects_instead_of_returning_collocation_noise ... ok test entities::discover::tests::symptom_disease_lookup_query_strips_intent_prefixes ... ok test entities::discover::tests::symptom_queries_keep_search_suggestions_and_plain_language ... ok test entities::discover::tests::symptom_search_with_hpo_ids_suggests_capped_phenotype_bridge_first ... ok test cli::tests::next_commands_validity::suggest_command_parse ... ok test entities::discover::tests::ticket_400_request_command_discover_fields_drive_resolve_boundaries ... ok test entities::discover::tests::ticket_416_rare_disease_trial_pivots_discover_ignores_unmentioned_trial_noise_concepts ... ok test entities::discover::tests::ticket_416_rare_disease_trial_pivots_discover_mixed_query_uses_planned_trial_commands ... ok test entities::discover::tests::treatment_queries_prefer_structured_indication_search ... ok test entities::discover::tests::trial_intent_suppresses_plain_language ... ok test entities::discover::tests::umbrella_disease_queries_stay_ambiguous_and_search_oriented ... ok test entities::disease::associations::tests::civic_gene_symbol_extraction_ignores_protein_change_tokens ... ok test entities::disease::clinical_features::tests::collect_live_topics_deduplicates_urls_and_preserves_first_seen_order ... ok test entities::disease::clinical_features::tests::load_topics_uses_embedded_fixture_when_live_queries_fail ... ok test entities::disease::clinical_features::tests::load_topics_uses_embedded_fixture_when_no_live_topics ... ok test entities::disease::clinical_features::tests::normalize_text_matches_spike_contract ... ok test entities::disease::clinical_features::tests::map_feature_returns_reviewed_hpo_for_known_concepts ... ok test entities::disease::clinical_features::tests::map_feature_returns_unmapped_for_unknown_concept ... ok test entities::disease::clinical_features::tests::clinical_feature_config_for_matches_request_name_identifier_and_unsupported ... ok test entities::disease::clinical_features::tests::slugify_matches_spike_contract ... ok test entities::disease::clinical_features::tests::source_native_id_strips_path_and_extension ... ok test entities::disease::clinical_features::tests::compact_evidence_handles_unicode_no_match ... ok test entities::disease::clinical_features::tests::topic_helper_builds_medlineplus_topic ... ok test entities::disease::clinical_features::tests::select_topics_falls_back_to_top_three_related_when_no_direct_page ... ok test entities::disease::enrichment::tests::disease_diagnostics_section_populates_from_rows ... ok test entities::disease::clinical_features::tests::select_topics_prefers_direct_pages_when_any_exist ... ok test entities::disease::enrichment::tests::disease_diagnostics_unavailable_sets_note ... ok test entities::disease::enrichment::tests::funding_query_prefers_free_text_lookup ... ok test entities::disease::enrichment::tests::funding_query_uses_canonical_name_for_identifier_lookups ... ok test entities::disease::enrichment::tests::survival_catalog_resolution_sets_unavailable_note_when_catalog_fails ... ok test entities::disease::enrichment::tests::survival_catalog_resolution_sets_truthful_note_for_unmapped_disease ... ok test entities::disease::fallback::tests::canonical_fallback_row_ignores_not_found_and_maps_hits ... ok test entities::disease::fallback::tests::contains_all_query_tokens_ignores_generic_suffix_terms ... ok test entities::disease::fallback::tests::disease_fallback_request_records_alias_queries_and_doid_preference ... ok test entities::disease::fallback::tests::disease_fallback_request_records_mesh_skip_before_discover ... ok test entities::disease::fallback::tests::fallback_candidate_source_ids_prefer_primary_then_ranked_xrefs ... ok test entities::disease::fallback::tests::fallback_candidates_rank_specific_crosswalkable_disease_ahead_of_generic_rows ... ok test entities::disease::fallback::tests::fallback_rows_dedupe_by_resolved_disease_id ... ok test entities::disease::get::tests::disease_parse_sections_accepts_diagnostics ... ok test entities::disease::get::tests::disease_parse_sections_all_keeps_diagnostics_opt_in ... ok test entities::disease::get::tests::get_disease_preserves_canonical_mondo_lookup_path ... ok test entities::disease::get::tests::get_disease_resolves_mesh_and_omim_crosswalk_ids_before_fetch ... ok test entities::disease::get::tests::get_disease_returns_not_found_for_unresolved_crosswalk_without_name_fallback ... ok test entities::disease::get::tests::parse_sections_accepts_clinical_features ... ok test entities::disease::get::tests::parse_sections_all_keeps_optional_sections_opt_in ... ok test entities::disease::get::tests::parse_sections_supports_new_disease_sections ... ok test entities::disease::get::tests::parse_sections_unknown_section_lists_clinical_features ... ok test entities::disease::get::tests::parse_sections_unknown_value_suggests_name_flag_for_multi_word_diseases ... ok test entities::disease::resolution::tests::disease_candidate_score_prefers_canonical_colorectal_match_over_subtype ... ok test entities::disease::resolution::tests::disease_exact_rank_prefers_exact_then_prefix_then_contains ... ok test entities::disease::resolution::tests::normalize_disease_id_basic ... ok test entities::disease::resolution::tests::parse_disease_lookup_input_distinguishes_canonical_crosswalk_and_text ... ok test entities::disease::resolution::tests::preferred_crosswalk_hit_prefers_mondo_then_doid_then_lexicographic_id ... ok test entities::disease::resolution::tests::rerank_disease_search_hits_prefers_canonical_exact_candidate_across_query_variants ... ok test entities::disease::resolution::tests::resolve_disease_hit_by_name_direct_rejects_weak_contains_only_match ... ok test entities::disease::resolution::tests::resolver_queries_adds_carcinoma_fallback_for_cancer_terms ... ok test entities::disease::resolution::tests::resolver_queries_adds_cml_fallback_variant ... ok test entities::disease::resolution::tests::resolver_queries_adds_hodgkin_alias_variants ... ok test entities::disease::resolution::tests::scored_best_candidate_for_queries_prefers_hodgkin_alias_over_non_hodgkin_contains_match ... ok test entities::disease::search::tests::disease_search_request_preserves_limit_and_query_validation ... ok test entities::disease::search::tests::disease_search_request_records_normalized_filters_and_fetch_plan ... ok test entities::disease::search::tests::parse_hpo_query_terms_requires_valid_ids ... ok test entities::disease::search::tests::split_phenotype_queries_preserves_single_phrase_and_splits_commas ... ok test entities::disease::search::tests::resolve_phenotype_query_terms_empty_input_mentions_hpo_ids_and_symptom_phrases ... ok test entities::disease::enrichment::tests::apply_requested_sections_clears_funding_when_not_requested ... ok test entities::disease::fallback::tests::fallback_search_page_swallows_discover_errors ... ok test entities::disease::enrichment::tests::enrich_sparse_disease_identity_prefers_exact_ols4_match ... ok test entities::disease::enrichment::tests::apply_requested_sections_preserves_clinical_features_when_requested ... ok test entities::disease::associations::tests::augment_genes_with_opentargets_merges_sources_without_duplicates ... ok test entities::disease::enrichment::tests::apply_requested_sections_clears_clinical_features_when_not_requested ... ok test entities::disease::associations::tests::augment_genes_with_opentargets_respects_twenty_gene_cap ... ok test entities::disease::search::tests::ticket_400_request_command_disease_search_fields_drive_source_query_and_pagination ... ok test entities::disease::fallback::tests::arnold_synonym_rescue_resolves_mesh_crosswalk_through_fixture_plan ... ok test entities::disease::fallback::tests::fallback_search_page_applies_offset_and_limit_after_dedupe ... ok test entities::disease::fallback::tests::ticket_400_request_command_disease_fallback_fields_drive_discover_and_crosswalk_boundaries ... ok test entities::disease::tests::clinical_features_config_fixture_matches_spike_order ... ok test entities::disease::tests::disease_clinical_features_empty_serializes_as_absent ... ok test entities::disease::tests::disease_clinical_features_missing_json_deserializes_empty ... ok test entities::disease::tests::disease_clinical_features_nonempty_serializes_rows ... ok test entities::drug::get::tests::parse_sections_all_with_explicit_label_keeps_label ... ok test entities::drug::get::tests::parse_sections_default_card_includes_targets_enrichment ... ok test entities::drug::get::tests::parse_sections_supports_all_and_rejects_unknown ... ok test entities::drug::get::tests::parse_sections_unknown_value_suggests_name_flag_for_multi_word_drugs ... ok test entities::drug::get::tests::trial_alias_cache_key_normalizes_requested_name ... ok test entities::drug::get::tests::validate_raw_usage_allows_raw_with_label_section ... ok test entities::drug::get::tests::validate_raw_usage_rejects_raw_without_label_section ... ok test entities::drug::get::tests::validate_region_usage_allows_who_all_requests ... ok test entities::drug::get::tests::validate_region_usage_rejects_approvals_with_explicit_region ... ok test entities::drug::get::tests::validate_region_usage_rejects_explicit_region_without_regional_sections ... ok test entities::drug::get::tests::validate_region_usage_rejects_who_safety_only_requests ... ok test entities::drug::get::tests::validate_region_usage_rejects_who_shortage_only_requests ... ok test entities::drug::interactions::tests::apply_interaction_report_preserves_anchor_pharm_classes ... ok test entities::drug::interactions::tests::interaction_description_uses_legacy_partner_narrative ... ok test entities::drug::interactions::tests::normalized_class_summaries_surface_design_buckets ... ok test entities::drug::get::tests::trial_alias_resolution_does_not_cache_transient_lookup_failure ... ok test entities::drug::get::tests::trial_alias_filter_keeps_sponsor_codes ... ok test entities::drug::get::tests::build_trial_aliases_preserves_requested_canonical_and_brand_order ... ok test entities::drug::get::tests::trial_alias_resolution_keeps_generic_requests_canonical ... ok test entities::drug::get::tests::trial_alias_filter_rejects_formulation_strength_variants ... ok test entities::drug::label::tests::extraction::extract_interaction_text_from_label_returns_none_when_missing ... ok test entities::drug::label::tests::extraction::extract_interaction_text_from_label_uses_openfda_drug_interactions ... ok test entities::drug::label::tests::extraction::extract_label_set_id_falls_back_to_spl_set_id ... ok test cli::study::tests::validation::study_survival_rejects_unknown_endpoint ... ok test entities::drug::label::tests::extraction::extract_label_set_id_prefers_top_level_set_id ... ok test entities::diagnostic::tests::get_who_ivd_keeps_summary_and_resolves_supported_sections ... ok test entities::diagnostic::tests::get_who_ivd_rejects_unsupported_sections_with_recovery_hint ... ok test entities::diagnostic::tests::search_page_applies_conjunctive_filters_and_stable_ordering ... ok test entities::drug::metadata::tests::extract_top_adverse_events_ranks_by_frequency ... ok test entities::drug::query::tests::build_mychem_query_escapes_free_text_query ... ok test entities::drug::metadata::tests::map_drugsfda_approvals_extracts_key_fields ... ok test entities::diagnostic::tests::get_keeps_summary_by_default_and_requested_sections_as_options ... ok test entities::diagnostic::tests::search_page_disease_filter_requires_word_boundary ... ok test entities::drug::query::tests::build_mychem_query_expands_purine_to_atc_codes ... ok test entities::drug::query::tests::build_mychem_query_includes_mechanism_of_action_field ... ok test entities::diagnostic::tests::search_page_all_source_uses_unknown_total_when_both_sources_match ... ok test entities::drug::query::tests::build_mychem_query_includes_target_and_mechanism_filters ... ok test entities::drug::query::tests::build_mychem_query_keeps_atc_filter_exact ... ok test entities::drug::query::tests::build_mychem_query_rejects_public_interaction_filter ... ok test entities::drug::query::tests::build_mychem_query_requires_at_least_one_filter ... ok test entities::diagnostic::tests::get_diagnostic_genes_returns_full_deduped_broad_panel_list ... ok test entities::drug::query::tests::drug_search_filters_detect_structured_filters ... ok test entities::diagnostic::tests::search_page_rejects_short_disease_filter ... ok test cli::skill::tests::install::find_best_target_falls_back_to_agents_root_then_claude_root ... ok test entities::drug::query::tests::mechanism_atc_expansions_returns_purine_mapping ... ok test entities::drug::search::tests::fallback::openfda_label_fallback_is_first_page_only ... ok test entities::drug::search::tests::fallback::search_results_from_openfda_label_response_prefers_exact_brand_match ... ok test entities::drug::search::tests::fallback::search_results_from_openfda_label_response_respects_limit ... ok test entities::drug::search::tests::fallback::search_results_from_openfda_label_response_returns_remaining_unique_generics ... ok test entities::drug::label::tests::summary::extract_inline_label_summary_mode_uses_numbered_subsection_titles ... ok test entities::drug::label::tests::summary::extract_inline_label_summary_mode_falls_back_to_raw_indications_when_no_rows ... ok test entities::drug::search::tests::mechanism::hit_mentions_mechanism_matches_atc_purine_hits ... ok test entities::drug::label::tests::summary::extract_inline_label_summary_mode_preserves_subtype_wording ... ok test entities::drug::label::tests::extraction::extract_inline_label_raw_mode_preserves_truncated_raw_subsections ... ok test entities::drug::label::tests::summary::extract_inline_label_summary_mode_trims_patient_eligibility_qualifiers ... ok test entities::drug::search::tests::mechanism::hit_mentions_mechanism_matches_mechanism_of_action_text ... ok test entities::drug::search::tests::who::explicit_who_vaccine_search_skips_drug_identity_resolution ... ok test entities::drug::search::tests::mechanism::mechanism_match_uses_mechanism_fields_not_drug_name ... ok test entities::drug::search::tests::who::structured_who_search_reports_exact_total_when_mychem_is_exhausted ... ok test entities::drug::search::tests::who::structured_who_search_stops_after_one_extra_match_and_reports_unknown_total ... ok test entities::drug::search::tests::who::structured_who_search_with_api_filter_keeps_only_api_rows ... ok test entities::drug::search::tests::who::structured_who_search_with_finished_filter_keeps_only_finished_rows ... ok test entities::drug::targets::tests::civic::extract_variant_targets_from_civic_deduplicates_and_filters_by_generic_target ... ok test entities::drug::targets::tests::civic::normalize_variant_target_label_keeps_spaced_protein_change ... ok test entities::drug::targets::tests::civic::normalize_variant_target_label_normalizes_egfr_roman_suffix ... ok test entities::drug::targets::tests::civic::normalize_variant_target_label_rejects_exact_gene_match ... ok test entities::drug::targets::tests::family::derive_target_family_name_handles_non_ascii_without_panicking ... ok test entities::drug::targets::tests::family::derive_target_family_name_requires_complete_member_names ... ok test entities::drug::targets::tests::family::derive_target_family_name_trims_numeric_member_suffix ... ok test entities::drug::targets::tests::family::family_target_chembl_id_accepts_mechanism_only_family_row ... ok test entities::drug::targets::tests::family::family_target_chembl_id_rejects_missing_matching_target_id ... ok test entities::drug::targets::tests::family::family_target_chembl_id_rejects_multiple_matching_target_ids ... ok test entities::drug::targets::tests::family::family_target_chembl_id_requires_single_matching_target_id ... ok test entities::drug::targets::tests::family::strict_target_family_label_accepts_numeric_suffix_family ... ok test entities::drug::targets::tests::family::strict_target_family_label_handles_embedded_digits ... ok test entities::drug::targets::tests::family::strict_target_family_label_rejects_mixed_targets ... ok test entities::drug::targets::tests::family::strict_target_family_label_rejects_single_target ... ok test entities::drug::targets::tests::indications::format_opentargets_clinical_stage_falls_back_for_future_values ... ok test entities::drug::targets::tests::indications::format_opentargets_clinical_stage_maps_known_stages ... ok test entities::drug::targets::tests::indications::format_opentargets_clinical_stage_suppresses_unknown_and_blank ... ok test entities::gene::tests::canonical_alias_matches_cover_common_gene_aliases ... ok test entities::gene::tests::canonical_alias_matches_keep_ambiguous_aliases_ambiguous ... ok test entities::gene::tests::gene_diagnostics_section_populates_from_rows ... ok test entities::gene::tests::gene_diagnostics_unavailable_sets_note ... ok test entities::gene::tests::gene_section_names_include_new_enrichment_sections ... ok test entities::gene::tests::merge_druggability_keeps_successful_source_data_when_other_source_fails ... ok test entities::gene::tests::merge_pathways_keeps_kegg_then_appends_reactome_without_duplicates ... ok test entities::gene::tests::mygene_query_term_escapes_free_text_special_chars ... ok test entities::gene::tests::mygene_query_term_searches_aliases_for_symbol_like_input ... ok test entities::gene::tests::normalize_gene_chromosome_accepts_chr_prefix_and_special_values ... ok test entities::gene::tests::normalize_gene_chromosome_rejects_invalid_values ... ok test entities::gene::tests::normalize_gene_type_accepts_supported_aliases ... ok test entities::gene::tests::normalize_gene_type_rejects_invalid_value ... ok test entities::gene::tests::normalize_go_id_accepts_canonical_and_lowercase_prefix ... ok test entities::gene::tests::normalize_go_id_rejects_free_text ... ok test entities::gene::tests::parse_sections_accepts_diagnostics ... ok test entities::gene::tests::parse_sections_accepts_new_enrichment_sections ... ok test entities::gene::tests::parse_sections_all_keeps_optional_diagnostics_opt_in ... ok test entities::gene::tests::parse_sections_all_keeps_optional_sections_opt_in ... ok test entities::gene::tests::parse_sections_redirects_variants_to_variant_search ... ok test entities::gene::tests::reactome_workflow_signal_skips_empty_gene_without_probe ... ok test entities::gene::tests::search_query_includes_chromosome_filter ... ok test entities::gene::tests::search_query_summary_includes_new_filters ... ok test entities::pathway::tests::ensembl_redirect_matcher_rejects_malformed_version_suffix ... ok test entities::pathway::tests::finalize_pathway_search_results_keeps_wikipathways_when_kegg_is_disabled ... ok test entities::pathway::tests::finalize_pathway_search_results_tolerates_reactome_failure_when_other_sources_succeed ... ok test entities::pathway::tests::kegg_all_expands_to_supported_sections_only ... ok test entities::pathway::tests::kegg_disabled_error_is_actionable ... ok test entities::pathway::tests::kegg_disabled_flag_parsing_accepts_expected_values ... ok test entities::pathway::tests::kegg_explicit_enrichment_section_is_rejected ... ok test entities::pathway::tests::kegg_explicit_events_section_is_rejected ... ok test entities::pathway::tests::normalize_pathway_query_maps_confirmed_mapk_aliases ... ok test entities::pathway::tests::parse_sections_supports_all_and_rejects_unknown_values ... ok test entities::pathway::tests::extract_gene_symbols_dedupes_and_filters_non_gene_tokens ... ok test entities::pathway::tests::looks_like_gene_symbol_rejects_mutation_notation ... ok test entities::pathway::tests::pathway_lookup_error_adds_gene_redirect_for_gene_symbol ... ok test entities::pathway::tests::pathway_lookup_error_adds_gene_redirect_for_ensembl_gene_id ... ok test entities::pathway::tests::pathway_lookup_error_adds_gene_redirect_for_ensembl_transcript_id ... ok test entities::pathway::tests::pathway_lookup_error_adds_gene_redirect_for_versioned_ensembl_id ... ok test entities::pathway::tests::pathway_lookup_error_adds_variant_redirect_for_rsid ... ok test entities::pathway::tests::pathway_lookup_error_adds_protein_redirect_for_uniprot_accession ... ok test entities::pathway::tests::pathway_title_match_tier_prefers_exact_then_prefix_then_contains ... ok test entities::pathway::tests::rerank_pathway_search_results_floats_exact_match_across_sources ... ok test entities::pathway::tests::rerank_pathway_search_results_uses_upstream_position_for_same_tier ... ok test entities::pathway::tests::wikipathways_all_expands_to_supported_sections_only ... ok test entities::pathway::tests::wikipathways_explicit_enrichment_section_is_rejected ... ok test entities::pathway::tests::search_requires_query_with_quoted_example ... ok test entities::pathway::tests::wikipathways_explicit_events_section_is_rejected ... ok test entities::pgx::tests::distinct_actionable_cpic_gene_count_counts_unique_genes_to_threshold ... ok test entities::pgx::tests::likely_gene_recognizes_hgnc_style_symbol ... ok test entities::pgx::tests::normalize_cpic_level_accepts_supported_values ... ok test entities::pgx::tests::normalize_cpic_level_rejects_invalid_value ... ok test entities::pgx::tests::parse_sections_supports_all ... ok test entities::pgx::tests::search_summary_formats_filters ... ok test entities::protein::tests::map_complexportal_complex_uses_explicit_curation_and_components ... ok test entities::disease::clinical_features::tests::extract_features_preserves_source_native_rows_and_mapping ... ok test entities::protein::tests::paginate_structures_applies_offset_then_limit ... ok test entities::protein::tests::parse_sections_supports_all_and_reports_unknown_values ... ok test entities::protein::tests::search_rejects_empty_query ... ok test entities::protein::tests::validate_structure_limit_enforces_bounds ... ok test entities::protein::tests::uniprot_accession_validation_accepts_accessions_and_rejects_symbols ... ok test entities::study::tests::filter_validates_empty_criteria ... ok test entities::study::tests::normalize_study_id_rejects_path_like_input ... ok test entities::study::tests::query_type_from_flag_parses_supported_values ... ok test entities::study::tests::query_type_from_flag_rejects_unknown_type ... ok test entities::study::tests::survival_endpoint_from_flag_parses_supported_values ... ok test entities::study::tests::survival_endpoint_rejects_unknown_value ... ok test entities::trial::action_summary::tests::action_summary_geo_hints_keep_existing_validation_rules ... ok test entities::trial::action_summary::tests::geo_hints_mark_missing_coordinates ... ok test entities::trial::action_summary::tests::geo_hints_rank_listed_sites_by_distance ... ok test entities::trial::get::tests::normalize_nct_id_uppercases_prefix ... ok test entities::trial::get::tests::get_rejects_non_nct_id_with_format_hint ... ok test entities::trial::get::tests::parse_sections_accepts_contacts_and_all_includes_contacts ... ok test entities::trial::planning_contract_tests::ticket_414_rare_disease_trial_planning_phelan_shank3_expands_to_bounded_trial_terms ... ok test entities::trial::planning_contract_tests::ticket_414_rare_disease_trial_planning_rejects_noisy_broad_terms ... ok test entities::trial::planning_contract_tests::ticket_414_rare_disease_trial_planning_strict_mode_keeps_literal_condition ... ok test entities::trial::planning_contract_tests::ticket_416_rare_disease_trial_pivots_disease_trials_preserve_shared_condition_plan ... ok test entities::trial::planning_contract_tests::ticket_416_rare_disease_trial_pivots_gene_trials_shank3_uses_planned_condition_expansion ... ok test entities::trial::planning_contract_tests::ticket_416_rare_disease_trial_pivots_noisy_unsupported_query_degrades_without_dead_commands ... ok test entities::trial::search::ctgov::tests::alias_expansion_next_page_error_is_actionable ... ok test entities::trial::search::ctgov::tests::alias_union_count_returns_exact_unique_total_when_exhausted ... ok test entities::trial::search::ctgov::tests::age_filter_total_returns_native_total_when_exhausted ... ok test entities::trial::search::ctgov::tests::alias_union_count_returns_unknown_when_page_cap_is_hit ... ok test entities::trial::search::ctgov::tests::build_ctgov_search_params_preserves_none_values_without_defaults ... ok test entities::trial::search::ctgov::tests::count_all_returns_approximate_for_age_only_filters ... ok test entities::trial::search::ctgov::tests::count_all_returns_unknown_when_expensive_post_filter_hits_page_cap ... ok test entities::trial::search::ctgov::tests::ctgov_cursor_preserves_next_page_token_after_offset_full_page_consumption ... ok test entities::trial::search::ctgov::tests::count_all_returns_exact_for_no_post_filters ... ok test entities::trial::search::ctgov::tests::ctgov_query_term_joins_multi_phase_filters_with_and ... ok test entities::trial::search::ctgov::tests::ctgov_workers_do_not_label_literal_single_intervention ... ok test entities::trial::search::ctgov::tests::ctgov_workers_label_condition_and_intervention_fanout ... ok test entities::trial::search::ctgov::tests::age_filter_uses_native_total_semantics_across_limits ... ok test entities::trial::search::ctgov::tests::ctgov_query_term_broadens_simple_mutation_across_discovery_fields ... ok test entities::trial::search::ctgov::tests::resolve_ctgov_condition_labels_honors_strict_condition_mode ... ok test entities::trial::search::ctgov::tests::ctgov_query_term_broadens_mutation_across_discovery_fields ... ok test entities::trial::search::ctgov::tests::ticket_415_rare_disease_trial_search_count_dedupes_expanded_condition_ncts ... ok test entities::trial::search::ctgov::tests::user_condition_expand_opt_out_still_reports_limit_one_total ... ok test entities::trial::search::eligibility::tests::collect_eligibility_keywords_includes_supported_filters ... ok test entities::trial::search::eligibility::tests::collect_eligibility_keywords_omits_blank_values ... ok test entities::trial::search::ctgov::tests::build_ctgov_search_params_keeps_search_and_count_call_shapes_aligned ... ok test entities::trial::search::ctgov::tests::build_ctgov_search_params_maps_all_shared_fields ... ok test entities::trial::search::eligibility::tests::collect_eligibility_keywords_skips_boolean_expressions ... ok test cli::article::session::tests::malformed_store_recovers_as_empty_and_writes_valid_json ... ok test entities::study::tests::co_occurrence_validates_gene_count ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_matches_hyphenated_token ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_matches_word_token ... ok test entities::study::tests::cohort_round_trips_source_result ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_rejects_substring_word_match ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_discards_exclusion_only_match ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_matches_hyphenated_plus_token ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_does_not_match_without_plus_suffix ... ok test entities::study::tests::compare_expression_values_returns_mutant_then_wildtype_groups ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_matches_slash_separated_plus_tokens ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_fails_open_when_keyword_missing ... ok test entities::trial::search::eligibility::tests::parse_age_years_handles_standard_formats ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_rejects_hyphenated_token_without_plus_suffix ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_fails_open_without_exclusion_section ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_keeps_when_inclusion_matches ... ok test entities::study::tests::compare_expression_round_trips_source_result ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_discards_negated_inclusion_sentence ... ok test entities::trial::search::eligibility::tests::facility_geo_keeps_same_site_match ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_rejects_no_prior_without_exclusion_section ... ok test entities::trial::search::eligibility::tests::verify_age_eligibility_handles_sub_year_maximum_age ... ok test entities::trial::search::eligibility::tests::contains_keyword_tokens_matches_plus_suffix_token ... ok test entities::trial::search::ctgov::tests::search_path_rejects_next_page_when_alias_expansion_uses_multiple_queries ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_keeps_when_in_both_sections ... ok test entities::trial::search::ctgov::tests::ticket_415_rare_disease_trial_search_condition_expansion_fans_out_and_dedupes_ncts ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_rejects_mixed_context_without_exclusion_section ... ok test entities::trial::search::eligibility::tests::facility_geo_discards_mixed_site_false_positive ... ok test entities::trial::search::eligibility::tests::eligibility_keyword_in_inclusion_rejects_negated_without_exclusion_section ... ok test entities::trial::search::eligibility::tests::split_eligibility_sections_detects_exclusion_header ... ok test entities::trial::search::essie::tests::essie_escape_boolean_expression_preserves_or_operators ... ok test entities::trial::search::eligibility::tests::split_eligibility_sections_without_exclusion_keeps_all_in_inclusion ... ok test entities::trial::search::eligibility::tests::split_eligibility_sections_supports_key_exclusion_header ... ok test entities::trial::search::essie::tests::line_of_therapy_patterns_accepts_supported_values ... ok test entities::trial::search::essie::tests::line_of_therapy_patterns_rejects_invalid_values ... ok test entities::trial::search::nci::tests::nci_keyword_fallback_request_uses_keyword_not_concept_id ... ok test entities::trial::search::nci::tests::nci_phase_mapping_uses_i_ii_for_combined_phase ... ok test entities::trial::search::nci::tests::nci_search_falls_back_to_keyword_when_best_hit_lacks_nci_xref ... ok test entities::trial::search::nci::tests::nci_search_falls_back_to_keyword_when_grounding_is_unavailable ... ok test entities::study::tests::compare_mutations_round_trips_source_result ... ok test entities::trial::search::nci::tests::nci_search_prefers_grounded_disease_concept_id ... ok test entities::study::tests::expression_values_returns_sorted_values ... ok test entities::trial::search::eligibility::tests::verify_age_eligibility_handles_sub_year_minimum_age ... ok test entities::trial::search::essie::tests::essie_escape_boolean_expression_handles_and_not ... ok test entities::trial::search::essie::tests::essie_escape_boolean_expression_handles_leading_not ... ok test entities::trial::search::nci::tests::nci_source_rejects_age_filter ... ok test entities::trial::search::nci::tests::nci_source_rejects_early_phase1 ... ok test entities::trial::search::nci::tests::nci_source_rejects_essie_filters ... ok test entities::study::tests::expression_pairs_by_sample_round_trips_source_result ... ok test entities::trial::search::nci::tests::nci_source_rejects_sex_filter ... ok test entities::trial::search::nci::tests::nci_source_rejects_sponsor_type_filter ... ok test entities::trial::search::nci::tests::nci_source_rejects_status_lists ... ok test entities::study::tests::filter_round_trips_source_result ... ok test entities::trial::search::normalization::tests::normalize_intervention_query_canonicalizes_confirmed_drug_code_pattern ... ok test entities::trial::search::normalization::tests::normalize_intervention_query_preserves_generic_multiword_names ... ok test entities::trial::search::normalization::tests::normalize_phase_accepts_aliases ... ok test entities::trial::search::normalization::tests::normalize_phase_rejects_invalid_value ... ok test entities::trial::search::nci::tests::nci_status_mapping_uses_documented_single_value_filters ... ok test entities::trial::search::normalization::tests::normalize_sex_accepts_supported_values ... ok test entities::study::tests::query_study_missing_local_cohort_returns_coverage_signal ... ok test entities::trial::search::normalization::tests::normalize_sex_rejects_invalid_value ... ok test entities::study::tests::list_studies_returns_available_data ... ok test entities::trial::search::normalization::tests::normalize_sponsor_type_accepts_supported_values ... ok test entities::trial::search::normalization::tests::normalize_sponsor_type_rejects_invalid_value ... ok test entities::trial::search::normalization::tests::normalize_status_accepts_comma_separated_values ... ok test entities::trial::search::normalization::tests::normalize_status_accepts_ctgov_wording_and_aliases ... ok test entities::trial::search::normalization::tests::normalize_status_rejects_comma_list_with_invalid_value ... ok test entities::study::tests::mutation_outputs_include_caveat_when_structural_variants_exist ... ok test entities::trial::search::normalization::tests::normalize_status_rejects_invalid_value ... ok test entities::study::tests::survival_round_trips_source_result ... ok test entities::trial::search::normalization::tests::status_priority_prefers_recruiting_over_completed ... ok test entities::variant::get::tests::cancerhotspots_enrichment_uses_requested_change_not_resolved_hgvsp ... ok test entities::variant::get::tests::cancerhotspots_upstream_failure_omits_recurrence_and_preserves_cbioportal ... ok test entities::variant::get::tests::civic_molecular_profile_name_prefers_gene_and_hgvs_p ... ok test entities::variant::get::tests::default_section_stripping_preserves_cached_civic_but_removes_graphql_context ... ok test entities::variant::get::tests::gwas_only_request_detection_matches_section_flags ... ok test entities::variant::get::tests::gwas_only_request_returns_variant_when_gwas_is_unavailable ... ok test entities::variant::get::tests::gwas_only_variant_stub_keeps_requested_rsid ... ok test entities::variant::get::tests::parse_sections_all_excludes_key_required_prediction ... ok test entities::variant::get::tests::parse_sections_supports_new_variant_sections ... ok test entities::variant::get::tests::therapies_from_oncokb_truncation_shows_count ... ok test entities::variant::get::tests::transcript_hgvs_fallback_queries_clinvar_coding_identity ... ok test entities::variant::get::tests::transcript_hgvs_get_and_normalize_share_normalized_genomic_identity ... ok test entities::study::tests::query_study_mutations_round_trips_source_result ... ok test entities::variant::get::tests::transcript_hgvs_normalization_failure_suggests_variant_normalize ... ok test entities::study::tests::query_study_structural_variants_round_trips_source_result ... ok test entities::study::tests::mutation_counts_by_sample_round_trips_source_result ... ok test entities::variant::get::tests::variant_json_omits_legacy_name_when_absent ... ok test entities::variant::get::tests::workflow_signal_detects_clinvar_metadata_before_section_stripping ... ok test entities::study::tests::query_study_unknown_study_returns_not_in_local_cohorts ... ok test entities::variant::gwas::tests::collect_supporting_pmids_dedupes_case_insensitively ... ok test entities::variant::normalization::tests::accepts_first_slice_transcript_coding_hgvs ... ok test entities::variant::normalization::tests::rejects_non_transcript_guardrail_inputs ... ok test entities::study::tests::top_mutated_genes_reports_ranked_rows ... ok test entities::variant::resolution::tests::classify_variant_input_detects_search_only_shorthand ... ok test entities::variant::resolution::tests::classify_variant_input_detects_transcript_coding_hgvs_before_rejecting ... ok test entities::variant::resolution::tests::classify_variant_input_normalizes_long_form_single_token_protein_change ... ok test entities::variant::resolution::tests::parse_variant_id_accepts_long_form_gene_protein_change ... ok test entities::variant::resolution::tests::parse_variant_id_accepts_prefixed_short_gene_protein_change ... ok test entities::variant::resolution::tests::parse_variant_id_egfr_l858r ... ok test entities::variant::resolution::tests::parse_variant_id_examples ... ok test entities::variant::resolution::tests::parse_variant_id_kras_g12c ... ok test entities::variant::resolution::tests::parse_variant_id_normalizes_uppercase_rsid_prefix ... ok test entities::variant::resolution::tests::parse_variant_id_points_long_form_single_token_to_search_variant ... ok test entities::variant::resolution::tests::parse_variant_id_points_search_only_shorthand_to_search_variant ... ok test entities::variant::resolution::tests::parse_variant_id_points_transcript_hgvs_to_normalize_when_direct_parse_is_used ... ok test entities::variant::resolution::tests::parse_variant_id_suggests_search_for_complex_alteration_text ... ok test entities::variant::search::tests::exon_deletion_fallback_preserves_non_exon_filters ... ok test entities::variant::search::tests::quality_score_prioritizes_significance_and_frequency ... ok test entities::variant::search::tests::search_query_summary_includes_hgvsc_and_rsid ... ok test entities::variant::search::tests::search_query_summary_includes_residue_alias_marker ... ok test entities::variant::structure::tests::hgvsp_position_extracts_three_letter_short_and_accession_prefixed_aliases ... ok test entities::variant::structure::tests::normalize_hgvsp_change_matches_accession_prefixed_aliases ... ok test error::tests::api_error_display_includes_api_name ... ok test error::tests::api_key_required_display_includes_env_var_and_docs ... ok test error::tests::not_found_display_includes_suggestion ... ok test error::tests::source_unavailable_display_includes_reason ... ok test entities::disease::clinical_features::tests::three_disease_checksum_regression ... ok test mcp::shell::tests::cache_family_rejection_message_mentions_local_path_disclosure ... ok test mcp::shell::tests::generic_mcp_rejection_message_stays_read_only_for_mutating_commands ... ok test mcp::shell::tests::index_handler_reports_streamable_http_surface ... ok test mcp::shell::tests::mcp_allowlist_blocks_mutating_commands ... ok test next_command::tests::renders_each_argument_as_its_own_shell_word ... ok test render::chart::tests::co_occurrence_heatmap_rejects_palette_override ... ok test render::chart::tests::compare_chart_validation_lists_valid_types ... ok test render::chart::tests::co_occurrence_heatmap_renders_inline_svg ... ok test render::chart::tests::co_occurrence_heatmap_respects_custom_dimensions ... ok test render::chart::tests::display_mutation_class_maps_known_and_passes_through_unknown ... ok test render::chart::tests::expression_scatter_renders_inline_svg_and_rejects_empty_points ... ok test render::chart::tests::inline_svg_output_respects_custom_dimensions ... ok test render::chart::tests::inline_svg_target_returns_svg_markup ... ok test mcp::shell::tests::typed_search_rejects_out_of_schema_limit_before_cli_dispatch ... ok test render::chart::tests::mutation_and_cna_svg_output_use_human_readable_labels ... ok test mcp::shell::tests::typed_search_and_get_build_cli_args ... ok test render::chart::tests::mutation_compare_stacked_bar_renders_inline_svg ... ok test render::chart::tests::mutation_compare_stacked_bar_uses_integer_sample_ticks ... ok test render::chart::tests::bar_family_renderers_produce_svg ... ok test render::chart::tests::mutation_compare_validation_lists_stacked_bar ... ok test render::chart::tests::mutation_waterfall_renders_inline_svg ... ok test render::chart::tests::output_target_validation_rejects_incompatible_sizing_flags ... ok test mcp::shell::tests::typed_schema_sources_match_cli_entities_and_sections ... ok test render::chart::tests::heatmap_and_stacked_bar_svg_outputs_write_files ... ok test render::chart::tests::query_chart_validation_lists_valid_types ... ok test render::chart::tests::render_survival_chart_returns_error_when_all_groups_have_empty_km_points ... ok test render::chart::tests::standalone_chart_validation_rejects_invalid_survival_chart ... ok test render::chart::tests::structural_variant_chart_validation_reports_unsupported_surface ... ok test render::json::tests::json_render_drug_entity ... ok test render::chart::tests::survival_svg_output_supports_kaplan_meier_curves ... ok test render::chart::tests::terminal_chart_respects_custom_cols_and_rows ... ok test render::json::tests::json_render_drug_entity_omits_family_fields_when_absent ... ok test render::json::tests::json_render_gene_entity ... ok test render::json::tests::json_render_gene_entity_with_sparse_disgenet_omits_optional_fields ... ok test render::json::tests::to_alias_suggestion_json_includes_alias_resolution_and_next_commands ... ok test render::chart::tests::pie_histogram_density_and_distribution_renderers_produce_terminal_output ... ok test render::json::tests::to_alias_suggestion_json_includes_ambiguous_resolution ... ok test render::json::tests::to_discover_json_adds_discover_meta_aliases ... ok test render::json::tests::to_discover_json_keeps_relational_redirect_commands_only_under_meta ... ok test render::json::tests::to_entity_json_adds_meta_and_flattens_entity ... ok test render::json::tests::to_entity_json_filters_blank_evidence_rows ... ok test render::json::tests::to_entity_json_filters_blank_section_source_rows ... ok test render::json::tests::to_entity_json_value_adds_meta_and_flattens_entity ... ok test render::json::tests::to_entity_json_with_suggestions_adds_suggestions_meta ... ok test render::json::tests::to_entity_json_with_suggestions_keeps_empty_suggestions_array ... ok test render::json::tests::to_entity_json_with_workflow_adds_ladder_without_losing_existing_meta ... ok test render::json::tests::to_pretty_serializes_with_indentation ... ok test render::json::tests::to_variant_guidance_json_includes_alias_resolution_and_next_commands ... ok test render::markdown::adverse_event::tests::adverse_event_count_markdown_renders_bucket_rows ... ok test render::markdown::adverse_event::tests::adverse_event_markdown_includes_openfda_sections ... ok test render::markdown::adverse_event::tests::adverse_event_search_markdown_renders_contextual_empty_state ... ok test render::markdown::adverse_event::tests::adverse_event_search_markdown_renders_trial_fallback_section ... ok test render::markdown::adverse_event::tests::adverse_event_search_markdown_renders_summary_and_filters ... ok test render::markdown::adverse_event::tests::combined_adverse_event_search_markdown_appends_vaers_summary_for_unavailable_status ... ok test render::markdown::adverse_event::tests::combined_adverse_event_search_markdown_skips_query_not_vaccine_status ... ok test cli::article::session::tests::lock_contention_fails_open_without_rewriting_existing_baseline ... ok test render::markdown::adverse_event::tests::device_event_renderers_include_openfda_content ... ok test render::markdown::adverse_event::tests::recall_search_markdown_renders_result_table ... ok test render::markdown::adverse_event::tests::vaers_only_markdown_renders_snake_case_status_labels ... ok test render::markdown::article::tests::article_batch_markdown_renders_compact_rows ... ok test render::markdown::article::tests::article_entities_markdown_uses_safe_gene_search_commands ... ok test render::markdown::article::tests::article_graph_markdown_renders_expected_table_headers ... ok test render::markdown::article::tests::article_markdown_renders_resolved_fulltext_source_label ... ok test render::markdown::article::tests::article_ranking_why_hybrid_includes_score_and_lexical_context ... ok test render::markdown::article::tests::article_markdown_renders_semantic_scholar_section ... ok test render::markdown::article::tests::article_ranking_why_rescue_composes_with_lexical_reason ... ok test render::markdown::article::tests::article_ranking_why_semantic_includes_score_and_lexical_context ... ok test render::markdown::adverse_event::tests::adverse_event_search_markdown_can_label_aggregate_summary ... ok test render::markdown::article::tests::article_ranking_why_tier1_mixed_shows_title_plus_abstract ... ok test render::markdown::article::tests::article_search_markdown_includes_cross_entity_discover_hint_for_short_keyword_phrase ... ok test render::markdown::article::tests::article_search_markdown_omits_index_footer_when_no_rows_have_it ... ok test render::markdown::article::tests::article_search_markdown_preserves_rank_order_and_shows_rationale ... ok test render::markdown::article::tests::article_search_markdown_prepends_debug_plan_block ... ok test render::markdown::article::tests::article_search_markdown_renders_non_semantic_source_status ... ok test render::markdown::article::tests::format_newest_indexed_footer_clamps_future_dates_to_zero_days ... ok test render::markdown::article::tests::article_search_markdown_renders_related_block_before_pagination ... ok test render::markdown::article::tests::format_newest_indexed_footer_is_deterministic ... ok test render::markdown::article::tests::ticket_377_article_renderer_envelope_contracts_markdown_status ... ok test render::markdown::diagnostic::tests::diagnostic_markdown_keeps_regulatory_hidden_for_all_expansion ... ok test render::markdown::diagnostic::tests::diagnostic_markdown_renders_regulatory_empty_state_when_requested ... ok test render::markdown::diagnostic::tests::diagnostic_markdown_renders_regulatory_section_rows ... ok test render::markdown::diagnostic::tests::diagnostic_markdown_renders_requested_sections_and_truthful_empty_states ... ok test render::markdown::diagnostic::tests::diagnostic_markdown_renders_who_summary_fields_and_supported_sections_only ... ok test render::markdown::diagnostic::tests::diagnostic_search_markdown_does_not_render_recovery_for_high_offset_empty_page ... ok test render::markdown::diagnostic::tests::diagnostic_search_markdown_renders_true_zero_result_recovery ... ok test render::markdown::diagnostic::tests::diagnostic_search_markdown_shows_source_column_and_detail_hint ... ok test render::markdown::diagnostic::tests::diagnostic_search_rows_caps_genes_and_conditions_with_overflow_marker ... ok test render::markdown::diagnostic::tests::diagnostic_search_rows_escapes_markdown_table_cells ... ok test render::markdown::discovery::tests::render_discover_renders_grouped_concepts_and_plain_language ... ok test render::markdown::discovery::tests::search_all_markdown_counts_only_keeps_links_without_row_headers ... ok test render::markdown::discovery::tests::search_all_markdown_renders_section_note ... ok test render::markdown::discovery::tests::ticket_377_discover_renderer_envelope_contracts ... ok test render::markdown::disease::tests::disease_markdown_all_keeps_opt_in_sections_hidden ... ok test render::markdown::disease::tests::disease_markdown_clinical_features_empty_state_is_truthful ... ok test render::markdown::disease::tests::disease_markdown_disgenet_renders_sparse_optional_fields ... ok test render::markdown::disease::tests::disease_markdown_links_source_cells_and_footer_evidence_urls ... ok test render::markdown::disease::tests::disease_markdown_phenotypes_section_renders_definition_hint_when_key_features_missing ... ok test render::markdown::disease::tests::disease_markdown_funding_renders_truthful_notes_without_table ... ok test render::markdown::disease::tests::disease_markdown_phenotypes_section_renders_key_features ... ok test render::markdown::disease::tests::disease_markdown_phenotypes_section_without_definition_only_shows_completeness_note ... ok test render::markdown::disease::tests::disease_markdown_preserves_full_definition_text ... ok test render::markdown::disease::tests::disease_markdown_renders_clinical_features_section ... ok test render::markdown::disease::tests::disease_markdown_renders_diagnostics_note_then_shell_safe_search_command ... ok test render::markdown::disease::tests::disease_markdown_renders_ot_only_gene_association_table ... ok test render::markdown::disease::tests::disease_markdown_renders_opentargets_scores_in_summary_and_genes_table ... ok test render::markdown::disease::tests::disease_markdown_renders_top_variant_summary ... ok test render::markdown::disease::tests::disease_markdown_section_only_shows_disgenet_section ... ok test render::markdown::disease::tests::disease_search_empty_state_includes_discover_hint ... ok test render::markdown::disease::tests::disease_search_empty_state_uses_raw_query_in_discover_hint ... ok test render::markdown::disease::tests::disease_markdown_renders_survival_summary_and_note ... ok test render::markdown::disease::tests::disease_search_fallback_renders_provenance_columns ... ok test render::markdown::drug::tests::drug_interaction_report_markdown_renders_not_in_coverage_signal ... ok test render::markdown::disease::tests::ticket_377_disease_renderer_envelope_contracts ... ok test render::markdown::drug::tests::drug_markdown_omits_target_family_for_mixed_targets ... ok test render::markdown::drug::tests::drug_markdown_renders_interaction_class_summaries_without_overloading_anchor_classes ... ok test render::markdown::drug::tests::drug_markdown_shows_target_family_and_members_when_present ... ok test render::markdown::drug::tests::drug_markdown_renders_variant_targets_as_additive_line ... ok test render::markdown::drug::tests::drug_markdown_uses_label_interaction_text_before_public_unavailable_fallback ... ok test render::markdown::drug::tests::drug_markdown_uses_truthful_public_unavailable_interactions_message ... ok test render::markdown::drug::tests::drug_markdown_with_region_eu_all_suppresses_us_header_facts ... ok test render::markdown::drug::tests::drug_markdown_with_region_all_keeps_us_and_eu_blocks_separate ... ok test render::markdown::drug::tests::drug_markdown_with_region_eu_safety_shows_truthful_empty_subsections ... ok test render::markdown::drug::tests::drug_search_all_region_empty_state_calls_out_regulatory_absence ... ok test render::markdown::drug::tests::drug_markdown_with_region_who_renders_regulatory_block ... ok test render::markdown::drug::tests::drug_search_all_region_empty_state_includes_discover_only_when_both_regions_are_empty ... ok test render::markdown::drug::tests::drug_search_all_region_markdown_includes_who_block ... ok test render::markdown::drug::tests::drug_search_empty_state_frames_zero_indication_miss_as_regulatory_signal ... ok test render::markdown::drug::tests::drug_search_eu_empty_state_includes_discover_hint ... ok test render::markdown::drug::tests::drug_search_standard_empty_state_includes_discover_hint ... ok test entities::diagnostic::tests::search_page_requires_at_least_one_filter ... ok test render::markdown::drug::tests::drug_search_who_vaccine_markdown_uses_vaccine_table_and_no_get_footer ... ok test render::markdown::evidence::tests::disease_evidence_urls_include_clinical_feature_topics ... ok test render::markdown::evidence::tests::disease_evidence_urls_include_record_links ... ok test render::markdown::evidence::tests::drug_evidence_urls_include_chembl ... ok test render::markdown::evidence::tests::drug_evidence_urls_include_faers_and_dailymed_when_sections_exist ... ok test render::markdown::evidence::tests::gene_evidence_urls_include_ensembl_and_omim ... ok test render::markdown::evidence::tests::variant_evidence_urls_include_dbsnp_and_cosmic ... ok test cli::skill::tests::install::find_existing_install_ignores_skill_md_directory ... ok test render::markdown::evidence::tests::variant_evidence_urls_include_gnomad_for_population_data ... ok test render::markdown::gene::tests::gene_markdown_all_keeps_opt_in_sections_hidden ... ok test render::markdown::gene::tests::gene_markdown_disgenet_renders_sparse_optional_fields ... ok test render::markdown::gene::tests::gene_markdown_funding_renders_linked_rows_and_currency ... ok test render::markdown::gene::tests::gene_markdown_includes_evidence_links ... ok test render::markdown::gene::tests::gene_markdown_omits_protein_alternative_names_when_absent ... ok test entities::diagnostic::tests::search_page_returns_who_rows_for_disease_filter ... ok test entities::diagnostic::tests::search_page_rejects_explicit_who_gene_filter ... ok test render::markdown::gene::tests::gene_markdown_pathways_show_source_labels ... ok test render::markdown::gene::tests::gene_markdown_preserves_full_protein_function_text ... ok test render::markdown::evidence::tests::variant_evidence_urls_fall_back_to_hgvs_slug_for_population_data ... ok test render::markdown::gene::tests::gene_markdown_renders_combined_dgidb_and_opentargets_druggability ... ok test render::markdown::gene::tests::gene_markdown_renders_dgidb_interaction_table_alongside_opentargets_data ... ok test render::markdown::gene::tests::gene_markdown_renders_protein_alternative_names ... ok test render::markdown::gene::tests::gene_markdown_renders_hpa_section_details ... ok test render::markdown::gene::tests::gene_markdown_section_only_shows_constraint_section ... ok test render::markdown::gene::tests::gene_markdown_section_only_shows_disgenet_section ... ok test render::markdown::gene::tests::gene_markdown_section_only_shows_new_gene_enrichment_sections ... ok test render::markdown::gene::tests::gene_markdown_without_isoforms_keeps_protein_lines_contiguous ... ok test render::markdown::gene::tests::ticket_406_coordinate_outputs_carry_genome_build_context ... ok test render::markdown::pathway::tests::pathway_markdown_hides_genes_section_when_genes_are_empty ... ok test render::markdown::pathway::tests::pathway_markdown_uses_source_and_source_specific_evidence_url ... ok test render::markdown::pathway::tests::pathway_search_markdown_shows_source_column ... ok test render::markdown::pgx::tests::pgx_markdown_includes_evidence_links ... ok test render::markdown::related::tests::article_search_next_commands_adds_list_for_exact_commands_without_result_rows ... ok test render::markdown::protein::tests::protein_markdown_renders_complexes_summary_and_detail_bullets ... ok test render::markdown::related::tests::article_search_related_results_do_not_derive_entity_get_from_keyword_tokens ... ok test render::markdown::related::tests::article_search_related_results_do_not_emit_braf_v600e_gene_get_without_exact_command ... ok test render::markdown::related::tests::article_search_related_results_include_exact_commands_without_result_rows ... ok test render::markdown::related::tests::article_search_related_results_include_primary_article_and_exact_commands ... ok test render::markdown::related::tests::article_search_related_results_include_year_refinement_hint_when_unbounded ... ok test render::markdown::related::tests::article_search_related_results_preserve_source_filter_in_year_refinement ... ok test render::markdown::related::tests::article_search_related_results_skip_non_entity_keyword_hints ... ok test render::markdown::related::tests::article_search_related_results_skip_year_refinement_when_already_bounded ... ok test render::markdown::related::tests::article_search_related_results_skip_year_refinement_without_visible_years ... ok test render::markdown::related::tests::diagnostic_zero_result_recovery_commands_point_to_list_help ... ok test render::markdown::gene::tests::gene_markdown_renders_protein_isoforms_with_count_and_displayed_length ... ok test render::markdown::related::tests::markdown_article_search_related_results_do_not_emit_lung_cancer_immunotherapy_disease_get ... ok test render::markdown::related::tests::markdown_article_search_related_results_include_discover_but_not_heuristic_disease_get ... ok test render::markdown::related::tests::markdown_article_search_related_results_include_discover_for_short_vaccine_phrase ... ok test render::markdown::related::tests::markdown_article_search_related_results_include_exact_disease_command_when_precomputed ... ok test render::markdown::related::tests::markdown_article_search_related_results_skip_cross_entity_hints_for_long_phrase ... ok test render::markdown::related::tests::related_article_uses_article_entities_helper_command ... ok test render::markdown::related::tests::related_device_event_uses_supported_search_subcommands ... ok test render::markdown::related::tests::related_diagnostic_only_points_back_to_list_help ... ok test render::markdown::related::tests::related_disease_falls_back_to_unscored_top_gene_context ... ok test render::markdown::related::tests::related_disease_malformed_study_lookup_falls_back_to_download_list ... ok test render::markdown::related::tests::related_disease_non_oncology_skips_study_hints ... ok test render::markdown::related::tests::related_disease_oncology_matches_noncontiguous_carcinoma_study_labels ... ok test render::markdown::related::tests::related_disease_oncology_with_local_match_prefers_top_mutated ... ok test render::markdown::related::tests::related_disease_oncology_without_local_match_falls_back_to_download_list ... ok test render::markdown::related::tests::related_disease_promotes_top_gene_context_before_generic_pivots ... ok test render::markdown::related::tests::related_disease_quotes_single_word_indication_search ... ok test render::markdown::related::tests::related_disease_suggests_review_when_phenotypes_are_sparse ... ok test render::markdown::related::tests::related_disease_uses_synonym_when_name_is_raw_id ... ok test render::markdown::related::tests::related_drug_includes_pgx_search ... ok test render::markdown::related::tests::related_drug_suggests_review_when_label_and_indications_are_sparse ... ok test render::markdown::related::tests::related_gene_prioritizes_localization_deepening_when_supported ... ok test render::markdown::related::tests::related_gene_promotes_clingen_trial_search_before_generic_pivots ... ok test render::markdown::related::tests::related_pgx_uses_search_flags ... ok test render::markdown::related::tests::related_protein_excludes_requested_sections ... ok test render::markdown::related::tests::related_protein_includes_complexes_follow_up ... ok test render::markdown::related::tests::related_trial_completed_promotes_results_search_before_condition_pivots ... ok test render::markdown::related::tests::related_trial_keeps_recruiting_order_without_results_search ... ok test render::markdown::related::tests::related_trial_promotes_results_search_for_completed_or_terminated_studies ... ok test render::markdown::related::tests::related_trial_results_search_without_intervention_keeps_seed_quoted ... ok test render::markdown::related::tests::related_variant_pathogenic_keeps_drug_target_without_vus_literature_pivot ... ok test render::markdown::related::tests::related_variant_vus_keyword_only_follow_up_keeps_description ... ok test render::markdown::related::tests::related_variant_vus_promotes_literature_before_drug_target ... ok test render::markdown::related::tests::search_next_commands_device_events_use_report_follow_up ... ok test render::markdown::related::tests::search_next_commands_diagnostic_prefers_top_accession_then_list ... ok test render::markdown::related::tests::search_next_commands_diagnostic_quotes_who_product_code ... ok test render::markdown::related::tests::search_next_commands_drug_eu_prefers_active_substance_match ... ok test render::markdown::related::tests::search_next_commands_drug_prefers_requested_us_name ... ok test render::markdown::related::tests::search_next_commands_drug_regions_canonicalize_across_buckets ... ok test render::markdown::related::tests::search_next_commands_drug_regions_fall_back_without_requested_name ... ok test render::markdown::related::tests::search_next_commands_drug_who_use_inn ... ok test render::markdown::related::tests::search_next_commands_drug_who_vaccine_only_stays_list_only ... ok test render::markdown::related::tests::search_next_commands_recalls_are_list_only ... ok test render::markdown::root_tests::pagination_footer_cursor_prefers_offset_guidance_without_placeholder ... ok test render::markdown::root_tests::markdown_detail_outputs_label_article_trial_and_pathway_sources ... ok test render::markdown::root_tests::pagination_footer_offset_keeps_more_when_additional_rows_exist ... ok test render::markdown::root_tests::pagination_footer_offset_suppresses_more_on_last_page ... ok test render::markdown::root_tests::markdown_detail_outputs_label_gene_drug_and_disease_sources ... ok test render::markdown::root_tests::pagination_footer_offset_suppresses_more_when_complete_single_result ... ok test render::markdown::root_tests::proof_markdown_module_layout_uses_directory_module ... ok test render::markdown::sections::tests::diagnostic_more_block_keeps_four_visible_section_commands ... ok test render::markdown::root_tests::markdown_detail_outputs_label_variant_protein_pgx_and_openfda_sources ... ok test render::markdown::sections::tests::format_sections_block_describes_guardrailed_drug_and_trial_sections ... ok test render::markdown::sections::tests::format_sections_block_keeps_gene_ontology_in_top_more_entries ... ok test render::markdown::sections::tests::format_sections_block_renders_described_executable_commands ... ok test render::markdown::sections::tests::sections_diagnostic_for_who_only_offer_conditions_and_quote_accession ... ok test render::markdown::sections::tests::sections_diagnostic_omit_requested_section_from_more_block ... ok test render::markdown::sections::tests::sections_disease_base_card_surfaces_diagnostics_before_optional_sections ... ok test render::markdown::sections::tests::sections_gene_base_card_surfaces_diagnostics_as_fourth_command ... ok test render::markdown::sections::tests::sections_pathway_for_kegg_excludes_unsupported_sections ... ok test render::markdown::sections::tests::sections_pathway_for_reactome_keeps_full_supported_set ... ok test render::markdown::study::tests::study_co_occurrence_markdown_marks_mutation_observed_fallback ... ok test render::markdown::study::tests::study_co_occurrence_markdown_renders_pair_table ... ok test render::markdown::study::tests::study_cohort_markdown_renders_group_counts ... ok test render::markdown::study::tests::study_compare_expression_markdown_renders_distribution_table ... ok test render::markdown::study::tests::study_compare_mutations_markdown_renders_rate_table ... ok test render::markdown::study::tests::study_download_catalog_markdown_renders_remote_ids ... ok test render::markdown::study::tests::study_download_markdown_renders_result_table ... ok test render::markdown::study::tests::study_filter_markdown_renders_empty_results_and_unknown_totals ... ok test render::markdown::study::tests::study_filter_markdown_renders_tables_and_samples ... ok test render::markdown::study::tests::study_filter_markdown_truncates_long_sample_lists ... ok test render::markdown::study::tests::study_list_markdown_renders_study_table ... ok test render::markdown::study::tests::study_query_markdown_renders_cna_and_expression_shapes ... ok test render::markdown::study::tests::study_query_markdown_renders_mutation_shape ... ok test render::markdown::study::tests::study_query_markdown_renders_not_in_local_cohorts_signal ... ok test render::markdown::study::tests::study_survival_markdown_renders_group_table ... ok test render::markdown::study::tests::study_top_mutated_markdown_renders_ranked_table ... ok test render::markdown::support::tests::discover_try_line_quotes_shell_sensitive_queries ... ok test render::markdown::support::tests::quote_arg_wraps_whitespace_and_escapes_quotes ... ok test render::markdown::trial::tests::trial_markdown_includes_source_labeled_sections ... ok test render::markdown::trial::tests::trial_markdown_renders_contacts_eligibility_and_json_fields ... ok test render::markdown::trial::tests::trial_search_markdown_omits_matched_intervention_column_without_labels ... ok test render::markdown::trial::tests::trial_search_markdown_shows_matched_intervention_column_when_present ... ok test render::markdown::trial::tests::trial_search_markdown_with_footer_omits_zero_result_nickname_hint_without_flag ... ok test render::markdown::trial::tests::trial_search_markdown_with_footer_shows_filtered_zero_result_broadening_hints ... ok test render::markdown::trial::tests::trial_search_markdown_with_footer_shows_scoped_zero_result_nickname_hint ... ok test render::markdown::variant::tests::gwas_search_markdown_renders_result_row ... ok test render::markdown::variant::tests::phenotype_search_markdown_renders_top_disease_follow_up ... ok test render::markdown::variant::tests::markdown_render_variant_entity ... ok test render::markdown::variant::tests::ticket_406_coordinate_outputs_carry_genome_build_context ... ok test render::markdown::variant::tests::variant_markdown_civic_section_renders_currency_caveat_and_cross_checks ... ok test render::markdown::variant::tests::variant_markdown_default_card_renders_bare_civic_pointer_without_cached_evidence ... ok test render::markdown::variant::tests::variant_markdown_default_card_renders_cached_civic_actionability_pointer ... ok test render::markdown::variant::tests::variant_markdown_renders_cancerhotspots_recurrence_when_present ... ok test render::markdown::variant::tests::variant_markdown_next_commands_quote_variant_ids_with_spaces ... ok test render::markdown::variant::tests::variant_oncokb_markdown_shows_truncation_note ... ok test render::markdown::variant::tests::variant_markdown_renders_compact_clinvar_and_population_fields ... ok test render::markdown::variant::tests::variant_markdown_renders_gwas_unavailable_message ... ok test render::markdown::variant::tests::variant_search_markdown_renders_legacy_name_column_and_fallback ... ok test render::provenance::tests::article_section_sources_omits_note_only_fulltext_failures ... ok test render::markdown::variant::tests::variant_search_markdown_renders_related_commands_from_context ... ok test render::provenance::tests::article_section_sources_uses_resolved_fulltext_provider ... ok test render::provenance::tests::disease_section_sources_include_clinical_features ... ok test render::provenance::tests::disease_section_sources_include_diagnostics_from_rows ... ok test render::provenance::tests::disease_section_sources_include_diagnostics_note_sources ... ok test render::provenance::tests::disease_section_sources_include_funding_when_note_present ... ok test render::provenance::tests::disease_section_sources_include_survival_when_note_present ... ok test render::provenance::tests::drug_interaction_report_section_sources_include_drugbank_when_descriptions_present ... ok test render::provenance::tests::drug_provenance_adds_who_to_regulatory_sources ... ok test render::provenance::tests::drug_provenance_emits_variant_targets_when_present ... ok test render::provenance::tests::drug_section_sources_omit_interactions_when_no_interaction_data_is_present ... ok test render::provenance::tests::gene_section_sources_include_diagnostics_from_rows ... ok test render::provenance::tests::gene_section_sources_include_diagnostics_note_source ... ok test render::provenance::tests::gene_section_sources_include_funding_when_present ... ok test render::provenance::tests::pathway_section_sources_emits_wikipathways_not_reactome_for_wp_card ... ok test render::provenance::tests::pathway_source_label_falls_back_to_reactome_for_empty ... ok test render::provenance::tests::pathway_source_label_maps_known_sources ... ok test render::provenance::tests::pathway_source_label_passes_through_unknown_non_empty_source ... ok test render::provenance::tests::variant_provenance_includes_gwas_when_requested_section_is_unavailable ... ok test sources::alphagenome::tests::construction::make_interval_clamps_start_and_keeps_expected_width ... ok test sources::alphagenome::tests::construction::recommended_scorers_are_stable ... ok test sources::alphagenome::tests::construction::score_variant_request_sets_interval_variant_and_scorers ... ok test sources::alphagenome::tests::parsing::dtype_and_half_precision_helpers_work ... ok test sources::alphagenome::tests::parsing::summarize_tensor_maps_best_gene_and_value ... ok test sources::cancerhotspots::tests::construction::by_gene_plan_uses_encoded_path_and_no_body ... ok test sources::cancerhotspots::tests::construction::encode_path_segment_preserves_safe_characters_and_escapes_others ... ok test sources::cancerhotspots::tests::parsing::decode_by_gene_maps_http_and_html_errors ... ok test sources::cancerhotspots::tests::parsing::parses_by_gene_fixture ... ok test sources::cancerhotspots::tests::parsing::recurrence_checks_later_matching_residue_rows_for_exact_alt ... ok test sources::cancerhotspots::tests::parsing::recurrence_maps_counts_and_transcript_for_exact_alt ... ok test sources::cancerhotspots::tests::parsing::recurrence_serializes_checked_absence_with_nulls ... ok test sources::cancerhotspots::tests::parsing::recurrence_treats_missing_exact_alt_as_checked_absence ... ok test sources::cbioportal::tests::construction::clinical_data_plan_posts_sample_filter_body ... ok test sources::cbioportal::tests::construction::gene_resolution_plan_rejects_empty_gene ... ok test sources::cbioportal::tests::construction::gene_resolution_plan_sets_keyword_query ... ok test sources::cbioportal::tests::live::live_mutation_summary_runs_for_braf ... ignored, live network test sources::cbioportal::tests::construction::study_and_mutation_plans_set_paths_and_queries ... ok test sources::cbioportal::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::cbioportal::tests::parsing::parses_gene_resolution_fixture ... ok test sources::cbioportal::tests::parsing::parses_study_mutation_and_clinical_fixtures ... ok test sources::cbioportal_download::tests::construction::archive_relative_path_accepts_only_the_expected_top_level_study_dir ... ok test sources::cbioportal_download::tests::construction::study_archive_plan_fetches_tarball_for_valid_study_id ... ok test entities::disease::enrichment::tests::apply_requested_sections_populates_configured_clinical_features_from_fallback ... ok test sources::cbioportal_download::tests::construction::study_archive_plan_rejects_path_like_study_ids ... ok test sources::cbioportal_download::tests::construction::study_list_plan_fetches_datahub_catalog ... ok test sources::cbioportal_download::tests::construction::validate_study_id_trims_and_requires_a_single_safe_segment ... ok test sources::cbioportal_download::tests::parsing::archive_status_maps_missing_archives_to_not_found_without_leaking_storage_body ... ok test sources::cbioportal_download::tests::parsing::archive_status_maps_other_http_errors_with_excerpt ... ok test sources::cbioportal_download::tests::parsing::list_decode_accepts_json_content_type_with_parameters ... ok test sources::cbioportal_download::tests::parsing::parses_study_list_fixture ... ok test sources::cbioportal_download::tests::parsing::study_list_decode_maps_http_and_content_type_errors ... ok test sources::cbioportal_study::tests::fisher_exact_two_tailed_matches_reference_tables ... ok test sources::cbioportal_study::tests::fisher_exact_two_tailed_returns_one_for_zero_total_table ... ok test sources::cbioportal_study::tests::kaplan_meier_estimate_uses_event_times_and_landmarks ... ok test sources::cbioportal_study::tests::kaplan_meier_estimate_without_events_returns_flat_curve ... ok test sources::cbioportal_study::tests::log_rank_two_group_is_defined_when_only_one_group_has_events ... ok test sources::cbioportal_study::tests::mann_whitney_u_test_handles_ties_and_smaller_u_statistic ... ok test sources::cbioportal_study::tests::mann_whitney_u_test_returns_none_when_all_values_are_identical ... ok test sources::cbioportal_study::tests::cna_distribution_supports_header_with_entrez_column ... ok test sources::cbioportal_study::tests::clinical_column_values_reads_trimmed_clinical_values ... ok test sources::cbioportal_study::tests::co_occurrence_falls_back_to_mutation_observed_samples_without_clinical_file ... ok test sources::chembl::tests::construction::plans_reject_empty_identifiers ... ok test sources::chembl::tests::construction::drug_targets_plan_requests_mechanism_endpoint ... ok test sources::chembl::tests::construction::target_summary_plan_sets_target_path ... ok test sources::chembl::tests::parsing::decode_json_response_maps_http_and_json_errors ... ok test sources::chembl::tests::parsing::drug_targets_response_maps_targets_and_defaults ... ok test sources::chembl::tests::parsing::target_summary_response_maps_pref_name_and_target_type ... ok test sources::cbioportal_download::tests::parsing::install_study_archive_skips_existing_valid_target ... ok test sources::civic::tests::construction::molecular_profile_context_plan_sets_graphql_body_and_limit ... ok test sources::civic::tests::construction::required_query_value_rejects_empty ... ok test sources::cbioportal_study::tests::missing_required_file_returns_source_unavailable ... ok test sources::civic::tests::construction::therapy_and_disease_context_plans_set_their_variables ... ok test sources::civic::tests::parsing::context_response_surfaces_graphql_errors ... ok test sources::civic::tests::parsing::context_response_maps_evidence_and_assertions ... ok test sources::civic::tests::parsing::decode_json_response_maps_http_and_content_type_errors ... ok test sources::clingen::tests::construction::clingen_plans_set_lookup_and_download_paths ... ok test sources::cbioportal_study::tests::mutation_frequency_counts_records_samples_and_top_buckets ... ok test sources::clingen::tests::construction::lookup_plan_rejects_invalid_gene_symbols ... ok test sources::clingen::tests::parsing::decode_text_and_json_map_http_errors ... ok test sources::cbioportal_study::tests::filter_samples_intersects_mutation_and_clinical_criteria ... ok test sources::cbioportal_study::tests::top_mutated_genes_ranks_by_samples_then_events_then_gene ... ok test sources::clingen::tests::parsing::clingen_parsers_handle_missing_gene_rows_cleanly ... ok test sources::clingen::tests::parsing::dosage_sensitivity_parses_csv_and_picks_latest_row ... ok test sources::clingen::tests::parsing::gene_context_can_be_built_from_one_lookup_and_both_csv_payloads ... ok test sources::clingen::tests::parsing::lookup_accepts_json_with_html_content_type ... ok test sources::clingen::tests::parsing::gene_validity_parses_csv_with_metadata_rows ... ok test sources::clingen::tests::parsing::hgnc_lookup_allows_hgnc_only_validity_match ... ok test sources::clinicaltrials::tests::live::live_search_returns_cancer_trials ... ignored, live network test sources::clinicaltrials::tests::construction::get_fields_contacts_preserve_site_context_and_eligibility_sex ... ok test sources::clinicaltrials::tests::construction::get_plan_builds_study_path_and_section_fields ... ok test sources::clinicaltrials::tests::construction::search_plan_builds_expected_params ... ok test sources::clinicaltrials::tests::construction::search_plan_includes_geo_facility_agg_and_field_override ... ok test sources::clinicaltrials::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::clinicaltrials::tests::parsing::get_response_maps_not_found_to_trial_not_found ... ok test sources::clinicaltrials::tests::parsing::parses_contacts_and_eligibility_fixture ... ok test sources::clinicaltrials::tests::parsing::parses_search_response_fixture ... ok test sources::complexportal::tests::construction::complexes_plan_rejects_empty_accession_and_skips_zero_limit ... ok test sources::complexportal::tests::construction::complexes_plan_sets_endpoint_filters_and_page_size ... ok test sources::complexportal::tests::parsing::decode_json_response_maps_empty_results ... ok test sources::cbioportal_study::tests::co_occurrence_computes_pair_counts ... ok test sources::complexportal::tests::parsing::map_complexes_filters_false_positives_and_shapes_participants ... ok test sources::cpic::tests::construction::pair_plans_set_expected_filters_and_order ... ok test sources::cpic::tests::construction::plans_validate_gene_and_drug_inputs ... ok test sources::cpic::tests::construction::recommendation_frequency_and_guideline_plans_set_expected_filters ... ok test sources::cbioportal_study::tests::cohort_commands_require_clinical_sample_file_instead_of_falling_back ... ok test sources::cpic::tests::parsing::decode_json_response_maps_http_content_type_and_json_errors ... ok test sources::cpic::tests::parsing::frequency_response_decodes_rows ... ok test sources::cpic::tests::parsing::pair_page_response_decodes_rows_and_total ... ok test sources::cpic::tests::parsing::recommendation_and_guideline_responses_decode ... ok test sources::cvx::tests::construction::sync_intro_matches_missing_stale_and_force_modes ... ok test sources::cvx::tests::parsing::ensure_csv_content_type_rejects_html_response_without_raw_tags ... ok test sources::cbioportal_study::tests::compare_expression_by_mutation_summarizes_group_distributions ... ok test sources::ddinter::tests::construction::ddinter_identity_dedupes_alias_terms ... ok test sources::ddinter::tests::parsing::client_coverage_status_distinguishes_absent_drug_from_empty_matches ... ok test sources::ddinter::tests::parsing::normalize_name_key_collapses_spacing_and_case ... ok test sources::ddinter::tests::parsing::client_lookup_matches_both_sides_without_duplicates ... ok test sources::dgidb::tests::construction::gene_interactions_plan_rejects_invalid_symbols ... ok test sources::ddinter::tests::parsing::parse_csv_rows_rejects_incomplete_rows ... ok test sources::ddinter::tests::parsing::parse_csv_rows_reads_expected_shape ... ok test sources::dgidb::tests::construction::gene_interactions_plan_sets_graphql_body ... ok test sources::dgidb::tests::parsing::decode_json_response_maps_http_and_content_type_errors ... ok test sources::dgidb::tests::parsing::gene_interactions_response_aggregates_categories_and_interactions ... ok test sources::dgidb::tests::parsing::gene_interactions_response_surfaces_graphql_errors ... ok test sources::disgenet::tests::construction::disease_associations_plan_skips_limit_zero ... ok test sources::disgenet::tests::construction::disease_associations_plan_uses_normalized_umls_cui ... ok test sources::cbioportal_download::tests::parsing::install_study_archive_extracts_a_valid_local_archive ... ok test sources::disgenet::tests::construction::disease_resolution_plan_sets_free_text_query ... ok test sources::disgenet::tests::construction::gene_associations_plan_falls_back_to_gene_symbol ... ok test sources::disgenet::tests::construction::gene_associations_plan_rejects_missing_gene_id_and_symbol ... ok test sources::disgenet::tests::construction::gene_associations_plan_sends_auth_header_and_gene_ncbi_id ... ok test sources::cvx::tests::construction::cvx_missing_files_tracks_required_contract ... ok test sources::disgenet::tests::construction::gene_associations_plan_skips_limit_zero ... ok test sources::disgenet::tests::construction::missing_key_returns_api_key_required_error ... ok test sources::disgenet::tests::parsing::associations_from_response_applies_limit ... ok test sources::disgenet::tests::parsing::decode_summary_response_maps_association_rows ... ok test sources::disgenet::tests::parsing::disease_resolution_returns_source_unavailable_when_resolution_fails ... ok test sources::disgenet::tests::parsing::disease_resolution_uses_synonym_match ... ok test sources::cbioportal_study::tests::filter_samples_propagates_missing_required_files_and_columns ... ok test sources::disgenet::tests::parsing::empty_payload_returns_empty_vec ... ok test sources::cbioportal_study::tests::filter_samples_intersects_mutation_and_cna_criteria ... ok test sources::cbioportal_study::tests::filter_samples_intersects_three_way_criteria ... ok test sources::disgenet::tests::parsing::forbidden_response_returns_api_key_required_before_content_type_check ... ok test sources::cbioportal_study::tests::filter_samples_reports_empty_intersection_and_single_criterion_results ... ok test sources::cbioportal_study::tests::filter_samples_treats_missing_gene_rows_as_empty_sets ... ok test sources::cvx::tests::parsing::parse_cvx_products_handles_trailing_blank_field ... ok test sources::disgenet::tests::parsing::http_500_returns_api_error ... ok test sources::disgenet::tests::parsing::rate_limit_error_includes_retry_after_seconds ... ok test sources::cvx::tests::parsing::lookup_brand_aliases_matches_cvx_family_terms_for_antigen_queries ... ok test sources::cvx::tests::parsing::lookup_brand_aliases_joins_mvx_rows_when_present ... ok test sources::ema::tests::construction::ema_feed_table_matches_required_file_contract ... ok test sources::cvx::tests::parsing::lookup_brand_aliases_skips_non_vaccine_rows ... ok test sources::disgenet::tests::parsing::non_ok_response_status_returns_api_error ... ok test sources::cvx::tests::parsing::lookup_vaccine_candidates_returns_cvx_codes_for_brand_matches ... ok test sources::cvx::tests::parsing::parse_mvx_rows_rejects_short_rows ... ok test sources::ddinter::tests::construction::sync_plan_downloads_missing_and_stale_files ... ok test sources::cvx::tests::parsing::lookup_brand_aliases_supports_exact_and_family_prefix_matching ... ok test sources::ema::tests::parsing::validate_feed_payload_rejects_bad_payloads_before_write ... ok test sources::ema::tests::construction::ema_missing_files_tracks_required_file_contract_in_order ... ok test sources::enrichr::tests::construction::add_list_body_rejects_empty_gene_lists ... ok test sources::cvx::tests::parsing::lookup_brand_aliases_prefers_exact_product_before_family_prefix_and_dedupes ... ok test sources::ema::tests::construction::ema_sync_error_mentions_recovery_paths ... ok test sources::enrichr::tests::construction::add_list_body_trims_and_joins_genes ... ok test sources::enrichr::tests::construction::enrich_plan_sets_user_list_id_and_library ... ok test sources::enrichr::tests::parsing::decode_add_list_response_parses_user_list_id ... ok test sources::enrichr::tests::parsing::decode_enrich_response_gracefully_handles_bad_request ... ok test sources::enrichr::tests::parsing::decode_enrich_response_parses_json_and_rejects_html ... ok test sources::europepmc::tests::construction::full_text_xml_plan_builds_id_endpoint_and_normalizes_pmc ... ok test sources::europepmc::tests::construction::full_text_xml_plan_empty_source_or_id_returns_none ... ok test sources::europepmc::tests::construction::legacy_request_plan_keeps_article_contract_shape ... ok test sources::europepmc::tests::construction::search_query_plan_sets_citation_sort ... ok test sources::europepmc::tests::construction::search_query_plan_sets_keyword_shape_and_date_sort ... ok test sources::europepmc::tests::live::live_search_by_pmid_returns_hit ... ignored, live network test sources::europepmc::tests::construction::search_query_plan_validates_query_and_paging ... ok test sources::europepmc::tests::parsing::decode_full_text_xml_maps_http_error_status_with_excerpt ... ok test sources::europepmc::tests::parsing::decode_full_text_xml_returns_body_on_success ... ok test sources::europepmc::tests::parsing::decode_full_text_xml_returns_none_on_not_found ... ok test sources::europepmc::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::europepmc::tests::parsing::europepmc_result_deserializes_first_index_date ... ok test sources::europepmc::tests::parsing::parses_search_response_from_real_fixture ... ok test sources::cbioportal_study::tests::expression_distribution_ignores_na_and_empty_values ... ok test sources::figshare::tests::construction::article_plan_uses_article_id_path ... ok test sources::cbioportal_study::tests::mutation_counts_by_sample_returns_sorted_counts ... ok test sources::figshare::tests::construction::parses_aacr_public_article_url_with_file_id ... ok test sources::cbioportal_study::tests::expression_pairs_by_sample_keeps_shared_numeric_samples_in_header_order ... ok test sources::figshare::tests::construction::parses_api_article_url ... ok test sources::ema::tests::construction::sync_plan_marks_missing_and_stale_feeds ... ok test sources::ema::tests::construction::sync_intro_matches_download_refresh_and_force_modes ... ok test sources::figshare::tests::construction::parses_public_article_url_with_file_path_id ... ok test sources::cbioportal_study::tests::patient_survival_data_requires_canonical_columns_and_filters_invalid_rows ... ok test sources::figshare::tests::construction::parses_versioned_public_article_url_with_file_path_id ... ok test sources::figshare::tests::construction::production_download_url_validation_allows_figshare_https_hosts ... ok test sources::figshare::tests::construction::rejects_non_figshare_urls_and_unsafe_names ... ok test sources::cbioportal_study::tests::structural_variants_match_either_breakpoint_and_fill_optional_blanks ... ok test sources::figshare::tests::construction::production_download_url_validation_rejects_unsafe_targets ... ok test sources::figshare::tests::construction::search_articles_plan_skips_empty_query ... ok test sources::figshare::tests::construction::search_articles_plan_uses_expected_post_body ... ok test sources::cbioportal_study::tests::cna_values_by_sample_reads_matrix_rows_and_optional_entrez_column ... ok test sources::cbioportal_study::tests::structural_variants_require_both_gene_columns ... ok test sources::figshare::tests::parsing::article_error_sanitizes_html_body ... ok test sources::cbioportal_study::tests::list_study_lookup_rows_includes_clinical_cancer_labels ... ok test sources::figshare::tests::parsing::download_accepted_response_requests_retry_before_limit ... ok test sources::figshare::tests::parsing::article_response_normalizes_files_and_license ... ok test sources::cbioportal_study::tests::compare_mutations_by_mutation_counts_unique_samples_in_each_group ... ok test sources::figshare::tests::parsing::download_error_sanitizes_html_body ... ok test sources::cbioportal_study::tests::expression_pairs_by_sample_reports_first_missing_gene_in_argument_order ... ok test sources::cbioportal_study::tests::cohort_by_mutation_classifies_patients_and_samples ... ok test sources::figshare::tests::parsing::download_errors_after_repeated_accepted_responses ... ok test sources::figshare::tests::parsing::download_response_returns_bytes_for_success ... ok test sources::figshare::tests::parsing::search_response_normalizes_rows ... ok test sources::cbioportal_download::tests::parsing::install_study_archive_rejects_entries_outside_expected_top_level_directory ... ok test sources::cvx::tests::construction::cvx_read_error_mentions_recovery_paths ... ok test sources::gnomad::tests::construction::gene_constraint_plan_posts_graphql_query_and_symbol ... ok test sources::cbioportal_study::tests::list_studies_reads_meta_and_data_flags ... ok test sources::gnomad::tests::construction::gene_constraint_plan_rejects_invalid_gene_symbols ... ok test sources::gnomad::tests::parsing::decode_json_response_maps_http_and_content_type_errors ... ok test sources::gnomad::tests::parsing::gene_constraint_maps_metrics_and_transcript ... ok test sources::gnomad::tests::parsing::gene_constraint_propagates_non_not_found_graphql_errors ... ok test sources::cvx::tests::parsing::parse_cvx_codes_parses_real_shape_and_non_vaccine_flag ... ok test sources::gnomad::tests::parsing::gene_constraint_returns_none_for_gene_not_found ... ok test sources::ddinter::tests::construction::ddinter_missing_files_reports_incomplete_bundle ... ok test sources::gnomad::tests::parsing::gene_constraint_returns_some_with_transcript_when_constraint_is_null ... ok test sources::cbioportal_study::tests::survival_by_mutation_returns_group_aggregates_for_analyzable_patients ... ok test sources::gprofiler::tests::construction::enrich_genes_plan_posts_query_and_limit ... ok test sources::gprofiler::tests::parsing::decode_response_and_map_terms_applies_limit ... ok test sources::gprofiler::tests::construction::enrich_genes_plan_rejects_empty_input_and_bad_limits ... ok test sources::gprofiler::tests::parsing::remap_gprofiler_error_maps_transient_statuses_to_source_unavailable ... ok test sources::gprofiler::tests::parsing::transient_status_parser_recognizes_retryable_statuses ... ok test sources::gtex::tests::construction::gene_search_plan_rejects_invalid_ensembl_ids ... ok test sources::gtex::tests::construction::gene_search_plan_sets_gene_id_and_gencode_version ... ok test sources::gtex::tests::construction::median_expression_plan_sets_versioned_id_and_dataset ... ok test sources::cvx::tests::construction::sync_state_marks_missing_fresh_stale_and_force ... ok test sources::gtex::tests::parsing::decode_json_response_maps_http_and_content_type_errors ... ok test sources::gtex::tests::parsing::median_expression_returns_empty_when_gene_search_has_no_match ... ok test sources::gtex::tests::parsing::resolve_versioned_id_returns_first_non_empty_fallback ... ok test sources::gtex::tests::parsing::median_expression_sorts_and_compacts_to_top_and_low_tissues ... ok test sources::gtex::tests::parsing::resolve_versioned_id_uses_gene_search_response ... ok test sources::gtr::tests::construction::sync_intro_matches_missing_stale_and_force_modes ... ok test sources::gtr::tests::parsing::merged_genes_deduplicates_symbol_colon_description_form ... ok test sources::gtr::tests::parsing::parse_condition_gene_joins_correctly ... ok test sources::gtr::tests::construction::client_from_root_uses_supplied_root_without_env ... ok test sources::gtr::tests::parsing::validate_condition_gene_rejects_missing_header ... ok test sources::gtr::tests::parsing::parse_test_version_accepts_live_header_without_test_type ... ok test sources::gwas::tests::construction::associations_by_rsid_plan_sets_path_projection_and_limit ... ok test sources::gtr::tests::parsing::parse_test_version_filters_to_current_only ... ok test sources::gtr::tests::parsing::validate_test_version_rejects_missing_header ... ok test sources::gwas::tests::construction::plans_reject_invalid_inputs ... ok test sources::gwas::tests::construction::search_plans_set_expected_paths_and_queries ... ok test sources::gwas::tests::construction::study_association_plans_set_search_and_fallback_paths ... ok test sources::gwas::tests::parsing::associations_by_study_fallback_parse_path_can_read_fallback_response ... ok test sources::gwas::tests::parsing::associations_response_parses_rows ... ok test sources::gwas::tests::parsing::de_opt_f64_accepts_string_numbers ... ok test sources::gtr::tests::construction::gtr_missing_files_tracks_required_contract ... ok test sources::gwas::tests::parsing::decode_failures_remap_to_source_unavailable ... ok test sources::gtr::tests::construction::sync_state_marks_missing_fresh_stale_and_force ... ok test sources::gtr::tests::construction::gtr_sync_error_mentions_recovery_paths ... ok test sources::gwas::tests::parsing::decode_json_optional_returns_none_on_not_found ... ok test sources::gwas::tests::parsing::transient_http_failures_remap_to_source_unavailable ... ok test sources::hpa::tests::construction::protein_data_plan_normalizes_ensembl_id_before_request ... ok test sources::hpa::tests::construction::protein_data_plan_rejects_invalid_ensembl_id ... ok test sources::hpa::tests::parsing::decode_protein_data_xml_accepts_xml_and_rejects_html ... ok test sources::hpa::tests::parsing::decode_protein_data_xml_returns_none_for_not_found ... ok test sources::gtr::tests::parsing::write_validated_pair_preserves_existing_files_when_validation_fails ... ok test sources::hpa::tests::parsing::parse_gene_hpa_handles_protein_atlas_wrapper_element ... ok test sources::hpa::tests::parsing::parse_gene_hpa_uses_only_top_level_canonical_blocks ... ok test sources::hpo::tests::construction::normalize_hpo_id_accepts_standard_forms ... ok test sources::gtr::tests::parsing::load_index_unions_linked_and_inline_genes ... ok test sources::hpo::tests::construction::normalize_term_ids_dedupes_sorts_and_limits ... ok test sources::hpo::tests::construction::search_term_ids_plan_builds_query_and_skips_empty_query ... ok test sources::gtr::tests::parsing::load_index_backfills_test_type_from_condition_gene_when_test_version_omits_it ... ok test sources::hpo::tests::construction::term_plan_builds_normalized_term_path ... ok test sources::hpo::tests::construction::term_plan_rejects_invalid_id ... ok test sources::hpo::tests::parsing::decode_json_response_maps_not_found_and_http_errors ... ok test sources::hpo::tests::parsing::decode_json_response_maps_term_response ... ok test sources::hpo::tests::parsing::decode_search_term_ids_maps_search_results ... ok test sources::interpro::tests::construction::domains_plan_rejects_empty_accession_and_clamps_limit ... ok test sources::interpro::tests::construction::domains_plan_requests_expected_endpoint_and_page_size ... ok test sources::interpro::tests::parsing::decode_domains_response_maps_rows_and_skips_blank_accessions ... ok test sources::kegg::tests::construction::get_pathway_segments_build_get_request_and_reject_empty_id ... ok test sources::kegg::tests::construction::search_pathways_segments_build_find_pathway_request ... ok test sources::kegg::tests::construction::search_pathways_segments_rejects_empty_query ... ok test sources::kegg::tests::parsing::decode_text_response_maps_status_and_utf8_errors ... ok test sources::kegg::tests::parsing::parse_pathway_record_extracts_summary_and_genes ... ok test sources::kegg::tests::parsing::parse_search_response_dedupes_normalized_and_explicit_human_id ... ok test sources::kegg::tests::parsing::parse_search_response_keeps_human_rows_only ... ok test sources::kegg::tests::parsing::parse_search_response_normalizes_bare_reference_map_to_human ... ok test sources::litsense2::tests::construction::legacy_request_plan_keeps_article_contract_shape ... ok test sources::litsense2::tests::construction::pubmed_hydration_contract_still_builds_esummary_plan ... ok test sources::litsense2::tests::construction::search_plan_rejects_bad_path ... ok test sources::litsense2::tests::construction::search_plan_rejects_empty_query ... ok test sources::litsense2::tests::construction::search_plan_sets_passage_path ... ok test sources::litsense2::tests::live::live_sentence_search_returns_hits ... ignored, live network test sources::litsense2::tests::construction::search_plan_sets_sentence_path_and_query ... ok test sources::litsense2::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::litsense2::tests::parsing::decode_json_rejects_non_json_content_type ... ok test sources::litsense2::tests::parsing::paragraph_shape_tolerates_null_annotations_and_trimmed_optionals ... ok test sources::medlineplus::tests::construction::search_plan_accepts_max_retmax ... ok test sources::medlineplus::tests::construction::search_plan_rejects_invalid_retmax_bounds ... ok test sources::medlineplus::tests::construction::search_plan_returns_none_for_empty_query ... ok test sources::litsense2::tests::parsing::parses_sentence_response_from_real_fixture ... ok test sources::medlineplus::tests::construction::search_plan_uses_expected_query_contract ... ok test sources::medlineplus::tests::construction::search_plan_uses_retmax_parameter ... ok test sources::medlineplus::tests::parsing::decode_response_body_rejects_html_content_type ... ok test sources::medlineplus::tests::parsing::decode_response_body_reports_http_errors ... ok test sources::monarch::tests::construction::disease_gene_associations_plan_sets_object_gene_category_and_limit ... ok test sources::monarch::tests::construction::disease_models_plan_sets_object_genotype_category ... ok test sources::monarch::tests::construction::disease_phenotypes_plan_sets_subject_phenotype_category ... ok test sources::monarch::tests::construction::phenotype_similarity_search_plan_normalizes_terms_and_sets_limit ... ok test sources::monarch::tests::construction::plans_reject_invalid_disease_ids_and_empty_hpo_terms ... ok test sources::medlineplus::tests::parsing::decode_response_body_accepts_xml ... ok test sources::medlineplus::tests::parsing::parse_topics_decodes_inline_markup ... ok test sources::medlineplus::tests::parsing::decode_response_body_rejects_invalid_utf8 ... ok test sources::monarch::tests::parsing::decode_json_response_maps_5xx_to_source_unavailable ... ok test sources::monarch::tests::parsing::map_gene_associations_maps_rows_and_relationships ... ok test sources::monarch::tests::parsing::map_model_associations_maps_genotype_rows ... ok test sources::monarch::tests::parsing::map_phenotype_associations_keeps_hpo_rows_and_qualifiers ... ok test sources::monarch::tests::parsing::map_phenotype_matches_maps_scores ... ok test sources::mutalyzer::tests::construction::normalize_request_plan_encodes_transcript_path ... ok test sources::mutalyzer::tests::parsing::normalize_response_maps_html_response_to_service_error ... ok test sources::mutalyzer::tests::parsing::normalize_response_maps_not_found_and_http_errors ... ok test sources::mutalyzer::tests::parsing::normalize_response_maps_provider_invalid_input ... ok test sources::mutalyzer::tests::parsing::normalize_response_maps_success_status_error_payload_to_invalid_input ... ok test sources::mutalyzer::tests::parsing::normalize_response_parses_success_and_warnings ... ok test sources::mychem::tests::construction::query_with_fields_plan_rejects_empty_query ... ok test sources::mychem::tests::construction::query_with_fields_plan_rejects_limit_out_of_range ... ok test sources::mychem::tests::construction::query_with_fields_plan_rejects_offset_at_biothings_window ... ok test sources::mychem::tests::construction::query_with_fields_plan_rejects_offset_limit_window_overflow ... ok test sources::mychem::tests::construction::query_with_fields_plan_rejects_overlong_query ... ok test sources::mychem::tests::live::live_query_with_fields_returns_drug_hits ... ignored, live network test sources::mychem::tests::construction::query_with_fields_plan_sets_path_and_core_query_params ... ok test sources::mychem::tests::parsing::atc_classifications_support_string_and_list ... ok test sources::mychem::tests::parsing::chebi_name_round_trips ... ok test sources::mychem::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::mychem::tests::parsing::decode_json_rejects_non_json_content_type ... ok test sources::mychem::tests::parsing::drugbank_interactions_support_object_and_list ... ok test sources::mychem::tests::parsing::drugcentral_approval_supports_object_and_list ... ok test sources::mychem::tests::parsing::parses_query_response_from_real_fixture ... ok test sources::mutalyzer::tests::construction::normalize_request_plan_percent_encodes_path_segments ... ok test sources::mychem::tests::parsing::pharm_class_supports_string_and_map ... ok test sources::mychem::tests::parsing::unii_supports_object_and_list ... ok test sources::mydisease::tests::construction::get_plan_rejects_path_query_separators_before_network ... ok test sources::mydisease::tests::construction::get_plan_sets_path_and_fields ... ok test sources::mydisease::tests::construction::legacy_plan_helpers_keep_entity_tests_stable ... ok test sources::mydisease::tests::construction::query_plan_builds_id_lookup_shape ... ok test sources::mydisease::tests::construction::request_plans_preserve_validation_before_network ... ok test sources::mydisease::tests::construction::query_plan_sets_search_shape ... ok test sources::mydisease::tests::live::live_get_returns_disease_hit ... ignored, live network test sources::mydisease::tests::live::live_query_returns_disease_hits ... ignored, live network test sources::mydisease::tests::construction::xref_plan_builds_crosswalk_shapes ... ok test sources::mydisease::tests::parsing::decode_get_hit_maps_not_found_status ... ok test sources::mydisease::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::mydisease::tests::parsing::hpo_fields_deserialize_from_hit ... ok test sources::mydisease::tests::parsing::parses_get_response_from_real_fixture ... ok test sources::mydisease::tests::parsing::parses_query_response_from_real_fixture ... ok test sources::mygene::tests::construction::batch_symbols_plan_builds_post_form_preserving_input_order ... ok test sources::mygene::tests::construction::batch_symbols_plan_rejects_empty_input ... ok test sources::mygene::tests::construction::get_plan_default_uses_minimal_fields_quoted_symbol_and_size_one ... ok test sources::mygene::tests::construction::batch_symbols_plan_rejects_oversized_batch ... ok test sources::mygene::tests::construction::get_plan_rejects_empty_symbol ... ok test sources::mygene::tests::construction::get_plan_rejects_invalid_symbol_characters ... ok test sources::mygene::tests::construction::get_plan_rejects_overlong_symbol ... ok test sources::mygene::tests::construction::get_plan_with_transcripts_requests_transcript_and_protein_fields ... ok test sources::mygene::tests::construction::search_plan_adds_chr_filter_only_when_non_empty ... ok test sources::mygene::tests::construction::search_plan_rejects_offset_at_or_above_window ... ok test sources::mygene::tests::live::live_get_braf_returns_symbol_and_ensembl ... ignored, live network test sources::mygene::tests::construction::search_plan_rejects_offset_plus_limit_overflow ... ok test sources::mygene::tests::live::live_get_unknown_symbol_is_not_found ... ignored, live network test sources::mygene::tests::live::live_resolve_uniprot_for_braf ... ignored, live network test sources::mygene::tests::construction::search_plan_sets_path_and_core_query_params ... ok test sources::mygene::tests::live::live_search_egfr_returns_hits ... ignored, live network test sources::mygene::tests::live::live_symbols_for_entrez_ids_resolves_known_ids ... ignored, live network test sources::mygene::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::mygene::tests::parsing::decode_json_rejects_non_json_content_type ... ok test sources::mygene::tests::parsing::dedupe_symbols_dedupes_repeated_ids_keeping_first_position ... ok test sources::mygene::tests::parsing::dedupe_symbols_maps_real_batch_in_input_order ... ok test sources::mygene::tests::parsing::extract_uniprot_prefers_swiss_prot_from_real_fixture ... ok test sources::figshare::tests::parsing::download_response_rejects_oversized_file_bytes ... ok test sources::mygene::tests::parsing::extract_uniprot_prefers_swiss_prot_over_trembl_synthetic ... ok test sources::myvariant::tests::construction::search_plan_rejects_invalid_gene_symbol_characters ... ok test sources::mygene::tests::parsing::extract_uniprot_returns_none_for_empty_object ... ok test sources::myvariant::tests::construction::search_plan_rejects_negative_min_cadd ... ok test sources::myvariant::tests::construction::consequence_filter_accepts_shorthand_and_aliases_and_rejects_unknown_and_empty ... ok test sources::myvariant::tests::construction::search_plan_rejects_offset_at_window ... ok test sources::mygene::tests::parsing::parses_search_response_from_real_fixture ... ok test sources::myvariant::tests::construction::get_plan_builds_variant_path_with_get_fields ... ok test sources::mygene::tests::parsing::parses_get_response_fields_from_real_fixture ... ok test sources::myvariant::tests::construction::search_plan_rejects_offset_plus_limit_overflow ... ok test sources::myvariant::tests::construction::get_plan_rejects_overlong_id ... ok test sources::myvariant::tests::construction::search_plan_rejects_out_of_range_max_frequency ... ok test sources::myvariant::tests::construction::get_plan_trims_and_rejects_empty_id ... ok test sources::myvariant::tests::construction::search_plan_rejects_out_of_range_revel_min ... ok test sources::myvariant::tests::construction::search_plan_rejects_when_no_filters_present ... ok test sources::myvariant::tests::construction::impact_filter_uppercases_and_rejects_unknown_and_empty ... ok test sources::myvariant::tests::construction::search_plan_revel_min_clause ... ok test sources::myvariant::tests::construction::population_filter_lowercases_and_rejects_unknown_and_empty ... ok test sources::myvariant::tests::construction::query_plan_rejects_offset_at_window ... ok test sources::myvariant::tests::construction::search_plan_review_status_clause_maps_star_rating ... ok test sources::myvariant::tests::construction::query_plan_rejects_offset_plus_limit_overflow ... ok test sources::myvariant::tests::construction::search_plan_sets_path_size_from_and_fields ... ok test sources::myvariant::tests::construction::search_plan_significance_clause_uses_canonical_value ... ok test sources::myvariant::tests::construction::query_plan_sets_path_and_core_query_params ... ok test sources::myvariant::tests::construction::query_plan_trims_query_and_rejects_empty ... ok test sources::myvariant::tests::live::live_get_braf_v600e_returns_hit ... ignored, live network test sources::myvariant::tests::construction::search_plan_tumor_site_and_condition_clauses ... ok test sources::myvariant::tests::live::live_get_unknown_variant_is_not_found ... ignored, live network test sources::myvariant::tests::construction::review_status_filter_maps_stars_and_passes_through_other_and_rejects_empty ... ok test sources::myvariant::tests::live::live_query_with_fields_returns_hits ... ignored, live network test sources::myvariant::tests::live::live_search_braf_returns_hits ... ignored, live network test sources::myvariant::tests::construction::significance_filter_accepts_aliases_and_rejects_unknown_and_empty ... ok test sources::myvariant::tests::construction::search_plan_builds_exact_hgvsc_clause_and_prefixes_c ... ok test sources::myvariant::tests::construction::search_plan_builds_gene_and_hgvsp_clauses_joined_with_and ... ok test sources::myvariant::tests::construction::search_plan_builds_gene_residue_alias_clause ... ok test sources::myvariant::tests::parsing::clinvar_rcv_defaults_to_empty_when_missing ... ok test sources::myvariant::tests::construction::search_plan_consequence_clause_uses_canonical_value ... ok test sources::ema::tests::parsing::search_medicines_matches_therapeutic_indication_queries ... ok test sources::myvariant::tests::parsing::clinvar_rcv_deserializes_array ... ok test sources::myvariant::tests::parsing::clinvar_rcv_deserializes_single_object ... ok test sources::myvariant::tests::construction::search_plan_gerp_min_clause ... ok test sources::myvariant::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::myvariant::tests::construction::search_plan_impact_clause_uppercases ... ok test sources::myvariant::tests::construction::search_plan_keeps_already_prefixed_hgvsc ... ok test sources::myvariant::tests::parsing::decode_json_rejects_html_content_type ... ok test sources::myvariant::tests::parsing::float_or_vec_first_returns_single_or_head_of_list ... ok test sources::myvariant::tests::construction::search_plan_lof_has_missing_and_therapy_clauses ... ok test sources::myvariant::tests::construction::search_plan_lowercases_rsid_clause ... ok test sources::myvariant::tests::construction::search_plan_max_frequency_with_population_scopes_to_population_af ... ok test sources::myvariant::tests::parsing::gnomad_nested_fields_deserialize ... ok test sources::myvariant::tests::construction::search_plan_max_frequency_without_population_uses_global_af ... ok test sources::myvariant::tests::construction::search_plan_min_cadd_clause ... ok test sources::myvariant::tests::construction::search_plan_prefixes_hgvsp_with_p_when_missing ... ok test sources::ema::tests::parsing::search_medicines_matches_cvx_alias_tokens_on_active_substance ... ok test sources::myvariant::tests::parsing::parses_search_response_total_and_hits_from_real_fixture ... ok test sources::myvariant::tests::parsing::select_get_hit_value_empty_array_is_not_found ... ok test sources::myvariant::tests::parsing::parses_get_hit_nested_fields_from_real_fixture ... ok test sources::ncbi_efetch::tests::construction::full_text_xml_plan_empty_input_returns_none ... ok test sources::myvariant::tests::parsing::select_get_hit_value_passes_object_through ... ok test sources::myvariant::tests::parsing::select_get_hit_value_scalar_is_api_error ... ok test sources::ncbi_efetch::tests::construction::full_text_xml_plan_uses_numeric_pmcid ... ok test sources::myvariant::tests::parsing::select_get_hit_value_takes_first_array_element ... ok test sources::ncbi_efetch::tests::construction::full_text_xml_plan_validates_pmcid_shape ... ok test sources::myvariant::tests::construction::search_plan_protein_alias_requires_gene ... ok test sources::ncbi_efetch::tests::live::live_full_text_xml_returns_article_when_available ... ignored, live network test sources::ncbi_efetch::tests::construction::normalize_pmcid_accepts_prefixed_and_numeric_values ... ok test sources::ncbi_efetch::tests::construction::full_text_xml_plan_adds_api_key_when_configured ... ok test sources::ncbi_efetch::tests::parsing::decode_text_maps_http_error_status_with_excerpt ... ok test sources::ema::tests::parsing::resolve_anchor_matches_brand_and_filters_non_human_rows ... ok test sources::ncbi_idconv::tests::construction::doi_to_pmcid_plan_builds_lookup_query ... ok test sources::ema::tests::parsing::regulatory_reads_live_schema_holder_key_and_cleaned_indication ... ok test sources::ncbi_idconv::tests::construction::doi_to_pmcid_plan_validates_shape ... ok test sources::ncbi_idconv::tests::construction::pmid_to_pmcid_plan_adds_api_key_when_configured ... ok test sources::ncbi_idconv::tests::construction::pmid_to_pmcid_plan_builds_lookup_query ... ok test sources::ncbi_idconv::tests::construction::pmid_to_pmcid_plan_empty_input_returns_none ... ok test sources::ncbi_idconv::tests::live::live_pmid_lookup_returns_without_network_error ... ignored, live network test sources::ncbi_idconv::tests::construction::pmid_to_pmcid_plan_validates_numeric_input ... ok test sources::ncbi_idconv::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::ncbi_idconv::tests::parsing::extract_first_pmcid_returns_none_for_missing_or_blank_value ... ok test sources::ncbi_idconv::tests::parsing::extract_first_pmcid_trims_non_empty_value ... ok test sources::ncbi_idconv::tests::parsing::parses_lookup_response_from_real_fixture ... ok test sources::nci_cts::tests::construction::get_plan_builds_trial_path_with_api_key_header ... ok test sources::nci_cts::tests::construction::search_plan_concept_id_disease_maps_to_concept_param ... ok test sources::nci_cts::tests::construction::search_plan_current_trial_status_variant ... ok test sources::ema::tests::parsing::shortage_matches_resolved_human_medicine_anchor ... ok test sources::nci_cts::tests::construction::search_plan_includes_interventions_and_biomarkers_when_present ... ok test sources::ncbi_efetch::tests::parsing::normalize_article_xml_returns_none_for_blank_input ... ok test sources::ncbi_efetch::tests::parsing::normalize_article_xml_keeps_unwrapped_xml ... ok test sources::ncbi_efetch::tests::parsing::normalize_article_xml_extracts_article_from_wrapped_fixture ... ok test sources::nci_cts::tests::construction::search_plan_keyword_disease_maps_to_keyword_param ... ok test sources::nci_cts::tests::construction::search_plan_includes_sites_org_name ... ok test sources::nci_cts::tests::construction::search_plan_serializes_status_phase_and_geo_contract_params ... ok test sources::nci_cts::tests::construction::search_plan_sets_method_path_and_api_key_header ... ok test sources::nci_cts::tests::live::live_get_trial_by_id_round_trips ... ignored, live network + NCI_API_KEY test sources::nci_cts::tests::live::live_search_melanoma_returns_hits ... ignored, live network + NCI_API_KEY test sources::nci_cts::tests::construction::search_plan_skips_blank_phases ... ok test sources::nci_cts::tests::parsing::decode_json_maps_http_error_for_nci ... ok test sources::nci_cts::tests::parsing::hits_falls_back_to_trials_when_data_empty ... ok test sources::nci_cts::tests::parsing::hits_prefers_data_over_trials ... ok test sources::nci_cts::tests::parsing::total_accepts_total_count_alias ... ok test sources::nih_reporter::tests::construction::exact_phrase_search_text_escapes_quotes_and_backslashes ... ok test sources::nih_reporter::tests::construction::funding_plan_builds_approved_post_body ... ok test sources::nih_reporter::tests::construction::funding_plan_rejects_empty_query ... ok test sources::nih_reporter::tests::live::live_funding_query_runs ... ignored, live network test sources::nih_reporter::tests::construction::recent_nih_fiscal_years_roll_over_on_october_boundary ... ok test sources::nih_reporter::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::nih_reporter::tests::parsing::decode_json_rejects_non_json_content_type ... ok test sources::nih_reporter::tests::parsing::deduplicate_grants_groups_by_core_project_num_then_project_num ... ok test sources::nih_reporter::tests::parsing::deduplicate_grants_truncates_to_top_ten_after_sorting ... ok test sources::nih_reporter::tests::parsing::map_project_year_row_prefers_contact_pi_then_contact_investigator_then_first_pi ... ok test sources::nih_reporter::tests::parsing::parses_funding_response_fixture_and_maps_section ... ok test sources::ols4::tests::construction::search_request_plan_exposes_canonical_query_contract ... ok test sources::ols4::tests::construction::search_request_plan_keeps_empty_query_as_no_request ... ok test sources::ols4::tests::parsing::decode_search_response_maps_docs ... ok test sources::ols4::tests::parsing::decode_search_response_maps_http_and_content_type_errors ... ok test sources::oncokb::tests::construction::annotate_plan_requires_api_key ... ok test sources::oncokb::tests::construction::annotate_plan_requires_gene_and_alteration ... ok test sources::oncokb::tests::construction::annotate_plan_sets_query_and_auth_header ... ok test sources::oncokb::tests::construction::protein_change_attempts_try_original_and_prefixed_forms_without_duplicates ... ok test sources::oncokb::tests::parsing::decode_json_response_maps_http_errors_with_excerpt ... ok test sources::oncokb::tests::parsing::decode_json_response_maps_invalid_json ... ok test sources::oncokb::tests::parsing::parses_annotation_fixture ... ok test sources::openfda::tests::construction::drug_and_device_plans_set_expected_paths ... ok test sources::openfda::tests::construction::escape_query_value_escapes_lucene_special_chars ... ok test sources::openfda::tests::construction::faers_count_plans_try_exact_fallback ... ok test sources::openfda::tests::construction::faers_search_plan_sets_query_limit_skip_and_key ... ok test sources::openfda::tests::construction::label_search_plan_escapes_drug_name_and_sorts ... ok test sources::openfda::tests::construction::plans_validate_limits_and_required_values ... ok test sources::openfda::tests::construction::recall_shortage_and_device_event_plans_sort_latest_first ... ok test sources::ema::tests::parsing::safety_ozempic_has_dhpcs_but_empty_referrals_and_psusas ... ok test sources::openfda::tests::parsing::count_value_detects_keyword_field_retry ... ok test sources::openfda::tests::parsing::decode_json_optional_maps_404_http_and_json_errors ... ok test sources::openfda::tests::parsing::device_responses_decode_510k_and_pma_rows ... ok test sources::openfda::tests::parsing::drugsfda_response_decodes_application_rows ... ok test sources::openfda::tests::parsing::faers_and_count_responses_decode ... ok test sources::opentargets::tests::disease_associated_targets_degrades_when_associated_targets_missing ... ok test sources::opentargets::tests::disease_associated_targets_egfr_lung ... ok test sources::opentargets::tests::disease_associated_targets_maps_efo_lookup_result ... ok test sources::opentargets::tests::disease_associated_targets_maps_scores ... ok test sources::opentargets::tests::disease_genes_plan_builds_graphql_request ... ok test sources::opentargets::tests::disease_id_from_search_response_prefers_efo_hit ... ok test sources::opentargets::tests::disease_prevalence_maps_frequency_evidence ... ok test sources::opentargets::tests::disease_prevalence_plan_builds_graphql_request ... ok test sources::opentargets::tests::drug_sections_degrades_when_indications_missing ... ok test sources::opentargets::tests::drug_sections_maps_osimertinib ... ok test sources::opentargets::tests::drug_sections_maps_targets_and_indications ... ok test sources::opentargets::tests::drug_sections_plan_builds_graphql_request ... ok test sources::opentargets::tests::drug_sections_propagates_graphql_error_message ... ok test sources::opentargets::tests::normalize_disease_id_handles_known_forms ... ok test sources::opentargets::tests::search_disease_plan_builds_graphql_request ... ok test sources::opentargets::tests::search_target_plan_builds_graphql_request ... ok test sources::opentargets::tests::target_clinical_context_collects_diseases_and_drugs ... ok test sources::opentargets::tests::target_clinical_context_degrades_when_drug_candidates_missing ... ok test sources::opentargets::tests::target_clinical_context_plan_builds_graphql_request ... ok test sources::opentargets::tests::target_druggability_context_plan_builds_graphql_request ... ok test sources::opentargets::tests::target_druggability_context_groups_modalities_and_safety_summary ... ok test sources::opentargets::tests::target_druggability_context_returns_default_when_target_missing ... ok test sources::opentargets::tests::target_id_from_search_response_prefers_exact_symbol_match ... ok test sources::pharmgkb::tests::construction::annotation_plans_validate_inputs ... ok test sources::pharmgkb::tests::construction::drug_annotation_plans_cover_three_annotation_kinds ... ok test sources::pharmgkb::tests::construction::gene_annotation_plans_normalize_gene_and_properties ... ok test sources::pharmgkb::tests::parsing::annotation_response_maps_ids_titles_levels_and_urls ... ok test sources::pharmgkb::tests::parsing::decode_json_optional_maps_404_http_content_type_and_json_errors ... ok test sources::pharmgkb::tests::parsing::dedupe_and_limit_keeps_unique_annotation_rows ... ok test sources::pmc_oa::tests::construction::oa_archive_manifest_plan_adds_api_key_when_configured ... ok test sources::pmc_oa::tests::construction::oa_archive_manifest_plan_empty_input_returns_none ... ok test sources::pmc_oa::tests::live::live_archive_manifest_lookup_runs ... ignored, live network test sources::pmc_oa::tests::construction::oa_archive_manifest_plan_rejects_overlong_id ... ok test sources::pmc_oa::tests::parsing::decode_archive_bytes_preserves_success_bytes_and_maps_errors ... ok test sources::pmc_oa::tests::parsing::decode_text_maps_http_error_status_with_excerpt ... ok test sources::pubmed::tests::construction::esearch_plan_applies_date_range_params ... ok test sources::pubmed::tests::construction::esearch_plan_sets_required_query_params_and_api_key ... ok test sources::pmc_oa::tests::parsing::extract_first_nxml_reads_xml_entry ... ok test sources::pubmed::tests::construction::esearch_plan_validates_term_and_retmax ... ok test sources::pubmed::tests::construction::esummary_plan_handles_empty_and_blank_ids ... ok test sources::pubmed::tests::construction::esummary_plan_sets_ids_and_api_key ... ok test sources::pubmed::tests::live::live_esearch_returns_braf_hits ... ignored, live network test sources::pmc_oa::tests::parsing::parses_manifest_returns_none_without_tgz_link ... ok test sources::pubmed::tests::construction::legacy_request_plans_keep_article_contract_shape ... ok test sources::pubmed::tests::parsing::decode_json_maps_http_and_content_type_errors ... ok test sources::pubmed::tests::parsing::esearch_handles_empty_idlist_and_rejects_bad_count ... ok test sources::pubmed::tests::parsing::esummary_strictly_validates_uids_and_entries ... ok test sources::pubmed::tests::parsing::parses_esearch_fixture ... ok test sources::pubtator::tests::construction::autocomplete_plan_sets_query_and_validates_input ... ok test sources::pubmed::tests::parsing::parses_esummary_fixture_in_requested_order ... ok test sources::pubtator::tests::construction::export_biocjson_plan_sets_pmids_and_optional_api_key ... ok test sources::pubtator::tests::construction::legacy_request_plans_keep_article_contract_shape ... ok test sources::pubtator::tests::construction::search_plan_sets_text_paging_sort_and_auth ... ok test sources::pubtator::tests::live::live_autocomplete_returns_braf ... ignored, live network test sources::pmc_oa::tests::construction::oa_archive_manifest_plan_sets_id_query ... ok test sources::pubtator::tests::construction::search_plan_validates_query_and_page_size ... ok test sources::pubtator::tests::parsing::decode_json_maps_http_error_status_with_excerpt ... ok test sources::pubtator::tests::parsing::decode_json_rejects_non_json_content_type ... ok test sources::pubtator::tests::parsing::parses_autocomplete_response_fixture ... ok test sources::pubtator::tests::parsing::parses_export_response_fixture ... ok test sources::pubtator::tests::parsing::parses_search_response_fixture_and_stringifies_numeric_pmid ... ok test sources::pmc_oa::tests::parsing::parses_manifest_and_rewrites_ftp_to_https ... ok test sources::pmc_oa::tests::parsing::archive_package_enumerates_non_xml_and_preserves_binary_bytes ... ok test sources::pubtator::tests::parsing::search_result_trims_empty_string_pmids_to_none ... ok test sources::quickgo::tests::construction::annotations_plan_rejects_empty_gene_product_id ... ok test sources::quickgo::tests::construction::annotations_plan_sets_expected_query_params ... ok test sources::quickgo::tests::construction::terms_plan_sorts_dedupes_and_skips_empty_input ... ok test sources::quickgo::tests::parsing::decode_annotations_response_maps_results ... ok test sources::quickgo::tests::parsing::decode_terms_response_maps_term_metadata ... ok test sources::rate_limit::tests::kegg_urls_resolve_to_kegg_policy ... ok test sources::rate_limit::tests::litsense2_policy_uses_one_second_interval ... ok test sources::rate_limit::tests::litsense2_urls_resolve_to_litsense2_policy ... ok test sources::rate_limit::tests::nih_reporter_policy_uses_one_second_interval ... ok test sources::rate_limit::tests::nih_reporter_urls_resolve_to_nih_reporter_policy ... ok test sources::rate_limit::tests::pubmed_eutils_interval_uses_key_aware_values ... ok test sources::rate_limit::tests::pubmed_eutils_urls_resolve_to_pubmed_policy ... ok test sources::rate_limit::tests::pubtator_interval_uses_key_aware_values ... ok test sources::rate_limit::tests::rate_limit_keeps_same_host_prefixes_independent ... ok test cli::article::session::tests::session_store_records_first_search_then_emits_ordered_loop_suggestions ... ok test sources::rate_limit::tests::rate_limit_uses_longest_matching_prefix ... ok test sources::rate_limit::tests::semantic_scholar_interval_uses_key_aware_values ... ok test sources::rate_limit::tests::semantic_scholar_urls_resolve_to_semantic_scholar_policy ... ok test sources::reactome::tests::construction::pathway_plans_build_expected_paths_and_reject_empty_ids ... ok test sources::reactome::tests::construction::search_pathways_plan_preserves_limit_one_probe ... ok test sources::reactome::tests::construction::search_pathways_plan_rejects_empty_query ... ok test sources::reactome::tests::construction::search_pathways_plan_sets_query_species_and_page_size ... ok test sources::reactome::tests::parsing::decode_json_response_maps_http_and_json_errors ... ok test sources::reactome::tests::parsing::map_contained_events_maps_display_names ... ok test sources::reactome::tests::parsing::map_search_response_extracts_entries_and_limits_results ... ok test sources::reactome::tests::parsing::strip_html_removes_tags_and_extra_spaces ... ok test sources::seer::tests::construction::site_catalog_plan_fetches_variable_formats ... ok test sources::seer::tests::construction::survival_plan_sets_site_and_required_filters ... ok test sources::seer::tests::parsing::decode_json_response_maps_bad_status_and_content_type_to_source_unavailable ... ok test sources::seer::tests::parsing::decode_double_encoded_survival_payload_and_filter_all_ages ... ok test sources::seer::tests::parsing::rejects_response_when_requested_site_code_is_not_returned ... ok test sources::seer::tests::parsing::resolve_site_prefers_exact_alias_and_rejects_ambiguous_matches ... ok test sources::seer::tests::parsing::site_catalog_decodes_live_variable_formats ... ok test sources::semantic_scholar::tests::construction::auth_mode_reports_keyed_or_shared_pool_without_exposing_key ... ok test sources::semantic_scholar::tests::construction::citation_reference_and_recommendation_plans_set_paths ... ok test sources::semantic_scholar::tests::construction::legacy_search_request_plan_keeps_article_contract_shape ... ok test sources::semantic_scholar::tests::construction::paper_batch_plan_posts_ids_and_fields ... ok test cli::health::tests::runner::health_probes_respect_concurrency_limit_and_source_order ... ok test sources::semantic_scholar::tests::construction::paper_detail_plan_sets_encoded_id_fields_and_auth_header ... ok test sources::semantic_scholar::tests::construction::paper_batch_plan_validates_id_count ... ok test sources::semantic_scholar::tests::construction::paper_search_plan_sets_query_limit_year_and_auth ... ok test sources::semantic_scholar::tests::construction::paper_search_plan_validates_query_and_limit ... ok test sources::semantic_scholar::tests::live::live_paper_search_returns_braf_hits ... ignored, live network test sources::semantic_scholar::tests::construction::recommendations_plan_posts_positive_and_negative_ids ... ok test sources::semantic_scholar::tests::parsing::authenticated_http_error_keeps_status_and_excerpt ... ok test sources::semantic_scholar::tests::parsing::parses_batch_fixture_with_none_rows ... ok test sources::semantic_scholar::tests::parsing::parses_graph_and_recommendation_fixtures ... ok test sources::semantic_scholar::tests::parsing::parses_paper_detail_fixture ... ok test sources::semantic_scholar::tests::parsing::parses_search_fixture_and_defaults_null_data ... ok test sources::semantic_scholar::tests::parsing::shared_pool_429_returns_dedicated_guidance ... ok test sources::string::tests::construction::interactions_plan_rejects_empty_identifiers ... ok test sources::string::tests::construction::interactions_plan_sets_expected_query_params ... ok test sources::string::tests::parsing::decode_interactions_response_maps_camel_case_fields ... ok test sources::string::tests::parsing::decode_interactions_response_maps_underscore_fields ... ok test sources::tests::apply_migration_non_fatal_warns_and_continues_on_error ... ok test sources::tests::ensure_json_content_type_accepts_json ... ok test sources::tests::ensure_json_content_type_allows_non_json_compat_mode ... ok test sources::tests::ensure_json_content_type_rejects_html ... ok test sources::tests::parse_cache_mode_returns_force_cache_for_infinite ... ok test sources::tests::parse_cache_mode_returns_no_store_for_off ... ok test sources::tests::parse_cache_mode_returns_none_for_default_or_unset ... ok test sources::tests::parse_cache_mode_returns_none_for_unknown_values ... ok test sources::tests::parse_retry_after_header_parses_integer_seconds ... ok test sources::tests::read_limited_body_with_limit_accepts_body_within_limit ... ok test sources::tests::build_http_client_renames_legacy_http_cache_before_client_init ... ok test sources::tests::read_limited_body_with_limit_rejects_oversized_body ... ok test sources::tests::resolve_cache_mode_defaults_to_none ... ok test sources::tests::resolve_cache_mode_prioritizes_auth_over_env ... ok test sources::tests::resolve_cache_mode_prioritizes_no_cache_over_env ... ok test sources::tests::resolve_cache_mode_uses_env_when_no_overrides ... ok test sources::tests::response_body_is_html_detects_html_from_content_type ... ok test sources::tests::response_body_is_html_detects_html_from_doctype_without_header ... ok test sources::tests::summarize_http_error_body_preserves_json_excerpt ... ok test sources::tests::retry_send_with_sleep_retries_on_too_many_requests ... ok test sources::tests::summarize_http_error_body_sanitizes_html ... ok test sources::tests::ticket_403_retry_after_extreme_values_are_capped ... ok test sources::tests::ticket_403_retry_after_malformed_values_fall_back_to_backoff ... ok test sources::tests::ticket_403_retry_after_normal_floor_is_honored ... ok test sources::tests::validate_biothings_result_window_accepts_bounds ... ok test sources::tests::ticket_403_retry_send_uses_the_shared_retry_sleep_budget ... ok test sources::tests::validate_biothings_result_window_rejects_offset_at_window ... ok test sources::tests::validate_biothings_result_window_rejects_window_overflow ... ok test sources::umls::tests::construction::atoms_plan_sets_cui_auth_page_size_and_language ... ok test sources::umls::tests::construction::search_plan_sets_query_auth_and_page_size ... ok test sources::umls::tests::construction::search_plan_skips_empty_query ... ok test sources::umls::tests::parsing::decode_json_response_maps_http_and_content_type_errors ... ok test sources::umls::tests::parsing::decode_search_response_filters_none_hits_and_concepts_keep_xrefs ... ok test sources::umls::tests::parsing::map_atoms_keeps_english_xrefs_and_dedupes_source_id_pairs ... ok test sources::uniprot::tests::construction::get_record_plan_builds_accession_path_and_json_accept_header ... ok test sources::uniprot::tests::construction::get_record_plan_rejects_blank_accession ... ok test sources::uniprot::tests::construction::normalize_next_page_token_accepts_cursor_url ... ok test sources::uniprot::tests::construction::search_plan_clamps_limit_and_uses_cursor_token_when_present ... ok test sources::uniprot::tests::construction::search_plan_rejects_blank_query_and_bad_next_page_tokens ... ok test sources::uniprot::tests::construction::search_plan_sets_expected_query_params ... ok test sources::uniprot::tests::construction::search_plan_uses_absolute_next_page_url_without_rewriting_query ... ok test sources::uniprot::tests::parsing::alternative_protein_names_flatten_short_and_full_names_in_source_order ... ok test sources::uniprot::tests::parsing::alternative_protein_names_return_empty_when_alternative_names_are_missing ... ok test sources::uniprot::tests::parsing::alternative_protein_names_trim_deduplicate_and_skip_recommended_name ... ok test sources::uniprot::tests::parsing::decode_json_response_maps_http_and_json_errors ... ok test sources::uniprot::tests::parsing::decode_search_response_reads_results_total_and_next_page_link ... ok test sources::uniprot::tests::parsing::decode_json_response_accepts_gzip_payload ... ok test sources::uniprot::tests::parsing::protein_isoforms_fall_back_to_name_when_synonyms_are_missing ... ok test sources::uniprot::tests::parsing::protein_isoforms_prefer_synonyms_and_track_displayed_status ... ok test sources::uniprot::tests::parsing::protein_isoforms_return_empty_when_alternative_products_comment_is_missing ... ok test sources::uniprot::tests::parsing::record_helpers_extract_display_function_and_structures ... ok test sources::vaers::tests::construction::build_request_xml_escapes_and_validates_vaccine_code ... ok test sources::vaers::tests::construction::request_template_tracks_captured_fixture ... ok test sources::vaers::tests::construction::vaers_client_uses_cdc_wonder_compatible_user_agent_constant ... ok test sources::vaers::tests::construction::aggregate_request_plan_posts_form_encoded_reaction_xml ... ok test sources::vaers::tests::parsing::decode_aggregate_response_rejects_http_html_and_non_utf8_errors ... ok test sources::vaers::tests::parsing::parse_processing_error_returns_api_message ... ok test sources::vaers::tests::construction::build_request_xml_matches_serious_and_age_fixture_parameters ... ok test sources::variantvalidator::tests::construction::normalize_request_plan_encodes_transcript_path_and_json_query ... ok test sources::variantvalidator::tests::parsing::normalize_response_extracts_warnings_and_grch38_genomic_description ... ok test sources::variantvalidator::tests::construction::normalize_request_plan_percent_encodes_path_segments ... ok test sources::variantvalidator::tests::parsing::normalize_response_maps_html_response_to_service_error ... ok test sources::variantvalidator::tests::parsing::normalize_response_maps_not_found_and_http_errors ... ok test sources::variantvalidator::tests::parsing::result_from_value_maps_missing_transcript_to_service_error ... ok test sources::variantvalidator::tests::parsing::result_from_value_maps_warning_without_transcript_to_invalid_input ... ok test sources::who_ivd::tests::construction::sync_intro_matches_missing_stale_and_force_modes ... ok test sources::who_ivd::tests::parsing::ensure_csv_content_type_rejects_html_response ... ok test sources::vaers::tests::parsing::parse_serious_response_extracts_yes_and_no_rows ... ok test sources::vaers::tests::parsing::parse_age_response_extracts_buckets_and_skips_total_row ... ok test sources::who_ivd::tests::parsing::parse_who_ivd_csv_deduplicates_first_product_code ... ok test sources::who_ivd::tests::construction::who_ivd_missing_files_tracks_required_contract ... ok test sources::who_ivd::tests::parsing::parse_who_ivd_csv_requires_expected_headers ... ok test sources::who_ivd::tests::construction::file_is_stale_tracks_age_threshold ... ok test sources::who_ivd::tests::construction::sync_state_marks_missing_fresh_stale_and_force ... ok test sources::who_ivd::tests::parsing::parse_who_ivd_csv_reads_fixture_rows ... ok test sources::who_ivd::tests::construction::who_ivd_sync_error_mentions_recovery_paths ... ok test sources::who_pq::tests::construction::sync_intro_matches_missing_stale_and_force_modes ... ok test sources::who_pq::tests::parsing::derive_inn_removes_dosage_form_suffix_when_present ... ok test sources::who_pq::tests::parsing::ensure_csv_content_type_rejects_html_response_without_raw_tags ... ok test sources::who_pq::tests::parsing::normalize_dates_convert_to_iso ... ok test sources::who_pq::tests::construction::who_pq_missing_files_tracks_required_file_contract ... ok test sources::who_pq::tests::construction::file_is_stale_tracks_age_threshold ... ok test sources::who_ivd::tests::parsing::who_ivd_client_get_matches_exact_trimmed_product_code ... ok test sources::who_pq::tests::construction::who_pq_sync_error_mentions_recovery_paths ... ok test sources::who_pq::tests::parsing::parsers_require_expected_headers ... ok test sources::wikipathways::tests::construction::pathway_plans_build_expected_paths_and_validate_ids ... ok test sources::wikipathways::tests::construction::search_pathways_plan_builds_search_endpoint_and_rejects_empty_query ... ok test sources::wikipathways::tests::construction::validates_wikipathways_id_shape ... ok test sources::wikipathways::tests::parsing::decode_json_response_rejects_html_content_type_before_json_parse ... ok test sources::wikipathways::tests::parsing::decode_json_response_sanitizes_404_html_error_body ... ok test sources::wikipathways::tests::parsing::map_pathway_entrez_gene_ids_dedupes_and_filters_non_numeric_rows ... ok test sources::nci_cts::tests::parsing::parses_real_search_response_total_and_hits ... ok test sources::wikipathways::tests::parsing::map_pathway_record_parses_minimal_detail_payload ... ok test sources::wikipathways::tests::parsing::map_search_hits_filters_non_human_invalid_and_duplicate_rows ... ok test transform::adverse_event::tests::faers_report_filter_matches_suspect_drug_name ... ok test transform::adverse_event::tests::normalize_drug_name_trims_and_lowercases ... ok test transform::adverse_event::tests::outcomes_from_flags_maps_all_fields ... ok test transform::adverse_event::tests::patient_demographics_handles_missing_fields ... ok test transform::article::anchors::tests::truncate_abstract_keeps_full_text_until_limit ... ok test transform::article::anchors::tests::normalize_article_search_text_compacts_compound_hyphens ... ok test transform::article::anchors::tests::truncate_authors_first_last ... ok test transform::article::anchors::tests::truncate_title_strips_inline_html_and_entities ... ok test transform::article::anchors::tests::truncate_title_truncates_on_utf8_boundary ... ok test sources::who_pq::tests::parsing::row_matching_strips_salt_suffixes_from_match_key ... ok test transform::article::annotations::tests::extract_annotations_counts_mentions ... ok test transform::article::annotations::tests::extract_annotations_preserves_first_seen_order_for_equal_counts ... ok test transform::article::federation::tests::article_sections_maps_brca1_study ... ok test transform::article::federation::tests::article_sections_maps_egfr_review ... ok test transform::article::federation::tests::from_europepmc_search_result_carries_first_index_date ... ok test transform::article::federation::tests::from_europepmc_search_result_invalid_first_index_date_is_none ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_falls_back_to_lr_for_first_index_date ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_falls_back_to_source_journal ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_hydrates_all_fields ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_prefers_edat_over_lr ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_returns_none_for_blank_title ... ok test transform::article::federation::tests::from_pubmed_esummary_entry_uses_edat_for_first_index_date ... ok test transform::article::federation::tests::from_pubtator_search_result_maps_source_and_score ... ok test transform::article::federation::tests::parse_pubdate_extracts_full_date ... ok test transform::article::federation::tests::parse_pubdate_extracts_year ... ok test transform::article::federation::tests::parse_pubdate_extracts_year_month ... ok test transform::article::federation::tests::parse_sortpubdate_extracts_ymd ... ok test transform::article::federation::tests::publication_type_detection_reads_pub_type_list_for_retractions ... ok test transform::article::jats::tests::extract_text_from_jats_marks_complex_tables ... ok test transform::article::jats::tests::extract_text_from_jats_merges_multiple_ref_lists ... ok test transform::article::jats::tests::extract_text_from_jats_reference_fallback_omits_duplicate_label ... ok test transform::article::jats::tests::extract_text_from_jats_renders_element_citation_fields_and_ids ... ok test transform::article::jats::tests::extract_text_from_jats_renders_floats_group_after_body_before_references ... ok test transform::article::jats::tests::extract_text_from_jats_renders_mixed_citation_doi_links ... ok test transform::article::jats::tests::extract_text_from_jats_renders_supplementary_material_metadata ... ok test transform::article::jats::tests::extract_text_from_jats_suppresses_source_parenthesized_xref_and_preserves_boundary_spacing ... ok test transform::article::jats::tests::extract_text_from_jats_wraps_unparenthesized_figure_xrefs ... ok test transform::article::pdf::tests::extract_text_from_pdf_rejects_zero_page_limit ... ok test transform::article::tests::root_module_reexports_stable_article_transform_api ... ok test sources::who_pq::tests::parsing::parse_who_api_csv_preserves_identifier_semantics ... ok test sources::who_pq::tests::parsing::parse_who_pq_csv_deduplicates_by_reference_number ... ok test sources::who_pq::tests::parsing::row_matching_falls_back_to_full_presentation_for_combo_rows ... ok test transform::disease::tests::clean_definition_strips_wrapping_quotes_and_refs ... ok test transform::article::jats::tests::extract_text_from_jats_preserves_structure_and_renders_references ... ok test transform::disease::tests::collect_xrefs_retains_orphanet_and_omim_identifiers ... ok test transform::article::jats::tests::extract_text_from_xml_falls_back_for_non_jats_and_malformed_xml ... ok test sources::who_pq::tests::parsing::parse_who_vaccines_csv_preserves_blank_dose_rows ... ok test transform::disease::tests::disease_sections_maps_cml ... ok test sources::who_pq::tests::parsing::vaccine_dedupe_keeps_distinct_bevac_rows ... ok test sources::who_pq::tests::construction::sync_state_marks_missing_fresh_stale_and_force ... ok test sources::who_pq::tests::parsing::product_type_filters_keep_expected_rows ... ok test sources::who_pq::tests::parsing::vaccine_row_matching_uses_vaccine_type_and_brand_aliases ... ok test sources::who_pq::tests::parsing::vaccine_fixture_carries_full_validation_anchor_counts ... ok test transform::disease::tests::frequency_rank_prioritizes_high_signal_qualifiers_only ... ok test transform::disease::tests::disease_sections_maps_lung_adenocarcinoma ... ok test transform::disease::tests::from_mydisease_hit_collects_hpo_phenotypes ... ok test transform::disease::tests::synonyms_preview_formats_expected ... ok test transform::drug::tests::approval_date_display_formats_month_name ... ok test transform::drug::tests::drug_sections_maps_imatinib ... ok test transform::drug::tests::drug_sections_maps_osimertinib ... ok test transform::drug::tests::from_mychem_search_hit_uses_openfda_names_when_other_sources_are_missing ... ok test transform::drug::tests::merge_mychem_hits_collects_drug_interactions ... ok test transform::drug::tests::merge_mychem_hits_collects_deduped_mechanisms ... ok test transform::disease::tests::derive_key_features_supplements_definition_with_high_frequency_phenotypes ... ok test transform::disease::tests::extract_definition_key_features_characterized_by_clause ... ok test transform::disease::tests::extract_definition_key_features_association_clause ... ok test transform::disease::tests::extract_definition_key_features_handles_colon_after_cue ... ok test sources::who_pq::tests::parsing::read_rows_combines_finished_pharma_api_and_vaccine_rows ... ok test transform::drug::tests::merge_mychem_hits_prefers_canonical_name_from_brand_hit ... ok test transform::drug::tests::select_hits_for_name_matches_openfda_brand_name ... ok test transform::gene::tests::extract_kegg_pathways_handles_array ... ok test transform::gene::tests::gene_sections_maps_brca1_fields ... ok test transform::gene::tests::gene_sections_maps_egfr_fields ... ok test transform::gene::tests::gene_sections_maps_tp53_fields ... ok test transform::gene::tests::normalize_aliases_drops_lowercase_and_trailing_number_hyphen ... ok test transform::gene::tests::normalize_summary_keeps_summary ... ok test transform::gene::tests::normalize_summary_preserves_utf8_without_ellipsis ... ok test transform::pathway::tests::from_kegg_record_maps_fields ... ok test transform::pathway::tests::from_reactome_hit_maps_fields ... ok test transform::pathway::tests::from_reactome_record_handles_missing_summary ... ok test transform::pathway::tests::from_kegg_hit_maps_fields ... ok test transform::gene::tests::string_or_vec_into_vec ... ok test transform::pathway::tests::from_wikipathways_record_maps_fields ... ok test transform::pathway::tests::from_reactome_record_maps_fields ... ok test transform::drug::tests::select_hits_for_name_matches_salt_forms ... ok test transform::pathway::tests::from_wikipathways_hit_maps_fields ... ok test transform::pathway::tests::pathway_sections_maps_cell_cycle ... ok test transform::protein::tests::from_uniprot_record_base_handles_missing_sequence ... ok test transform::protein::tests::from_uniprot_record_base_maps_fields ... ok test transform::protein::tests::from_uniprot_search_record_handles_missing_organism ... ok test transform::protein::tests::protein_sections_maps_egfr ... ok test transform::protein::tests::protein_sections_maps_tp53 ... ok test transform::protein::tests::from_uniprot_search_record_maps_fields ... ok test transform::trial::tests::format_age_range_handles_missing_bounds ... ok test transform::trial::tests::from_ctgov_study_extracts_age_and_locations_sorted ... ok test transform::trial::tests::from_ctgov_study_extracts_arms_and_outcomes ... ok test transform::trial::tests::from_ctgov_study_preserves_contacts_and_structured_eligibility ... ok test transform::trial::tests::from_nci_trial_maps_alias_fields_and_age_range ... ok test transform::trial::tests::trial_sections_maps_nci_format ... ok test transform::trial::tests::trial_status_normalization_variants ... ok test transform::trial::tests::truncate_summary_two_sentences_and_length ... ok test transform::variant::tests::aggregate_clinvar_conditions_counts_reports ... ok test transform::variant::tests::clinvar_review_stars_known_statuses ... ok test transform::variant::tests::derive_legacy_name_normalizes_missense_alias_variants ... ok test transform::variant::tests::derive_legacy_name_normalizes_stop_alias_variants ... ok test transform::variant::tests::format_af_percent_respects_thresholds ... ok test transform::variant::tests::normalize_gene_uppercases ... ok test transform::variant::tests::from_myvariant_hit_sets_top_disease_from_sorted_clinvar_rows ... ok test transform::variant::tests::extracts_expanded_variant_sections ... ok test transform::variant::tests::normalize_polyphen_codes ... ok test transform::variant::tests::pick_significance_handles_empty_and_partial_rcvs ... ok test transform::variant::tests::pick_review_status_prefers_highest_star_rating ... ok test transform::variant::tests::from_myvariant_hit_leaves_legacy_name_empty_without_clinvar ... ok test transform::variant::tests::pick_significance_with_brca1_rcvs ... ok test sources::vaers::tests::parsing::decode_aggregate_response_accepts_wonder_html_content_type_with_xml_body ... ok test transform::variant::tests::significance_rank_prefers_pathogenic_over_benign ... ok test transform::variant::tests::pick_significance_with_kras_rcvs ... ok test utils::date::tests::accepts_leap_day_only_in_leap_years ... ok test utils::date::tests::expands_year_month ... ok test utils::date::tests::expands_year_only ... ok test utils::date::tests::keeps_full_date ... ok test utils::date::tests::rejects_invalid_day_for_month ... ok test utils::date::tests::rejects_malformed_dates ... ok test utils::date::tests::rejects_invalid_month ... ok test utils::date::tests::trims_outer_whitespace ... ok test utils::download::tests::download_path_for_config_keeps_relative_cache_roots_relative ... ok test utils::download::tests::download_path_for_config_resolves_to_cache_root_downloads ... ok test workflow_ladders::tests::workflow_meta_discards_sidecar_only_fields ... ok test workflow_ladders::tests::every_workflow_ladder_loads_and_validates ... ok test utils::query::tests::escapes_lucene_special_characters ... ok test utils::serde::tests::string_or_vec_helpers_cover_all_shapes ... ok test workflow_ladders::tests::probe_workflow_omits_metadata_on_probe_error ... ok test workflow_ladders::tests::probe_workflow_omits_metadata_on_timeout ... ok test transform::article::html::tests::extract_text_from_html_keeps_article_signals_across_fixture_family ... ok test sources::alphagenome::tests::parsing::decompress_tensor_bytes_rejects_oversized_chunk ... ok test cli::article::session::tests::unavailable_loop_ladder_rungs_are_omitted ... ok test transform::article::pdf::tests::extract_text_from_pdf_renders_fixture_family_text ... ok test cli::article::tests::json::article_session_suggestions_flow_into_search_json_after_overlap ... ok test utils::download::tests::save_atomic_to_path_errors_when_target_path_is_directory ... ok test utils::download::tests::save_atomic_to_path_writes_download_target ... ok test utils::download::tests::write_atomic_bytes_replaces_existing_file_contents ... ok test utils::download::tests::write_atomic_bytes_errors_for_non_file_destination ... ok test sources::pmc_oa::tests::parsing::extract_archive_entries_rejects_unsafe_empty_and_oversized_members ... ok test cli::article::session::tests::empty_normalized_keyword_resets_baseline_without_loop_suggestions ... ok test sources::gtr::tests::parsing::write_validated_pair_rolls_back_first_file_when_second_write_fails ... ok test cli::article::session::tests::expired_or_disjoint_session_state_does_not_emit_loop_suggestions ... ok test sources::rate_limit::tests::rate_limit_uses_default_policy_for_unknown_prefix ... ok test sources::rate_limit::tests::rate_limit_blocks_second_request_for_same_prefix ... ok test cli::article::session::tests::capacity_pruning_keeps_newest_1024_sessions ... ok test result: ok. 2365 passed; 0 failed; 25 ignored; 0 measured; 0 filtered out; finished in 10.75s Finished cargoCheckHook checkPhase completed in 13 minutes 8 seconds Running phase: installPhase Executing cargoInstallHook Finished cargoInstallHook Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25 shrinking /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25/bin/biomcp shrinking /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25/bin/biomcp-cli checking for references to /build/ in /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25... patching script interpreter paths in /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25 stripping (with command strip and flags -S -p) in /nix/store/7h97fbix7604iwmdr13nfi6g44z2phvq-biomcp-0.8.25/bin Running phase: installCheckPhase biomcp 0.8.25 biomcp 0.8.25