[INFO] fetching crate tellurion-core 0.1.0...
[INFO] testing tellurion-core-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate tellurion-core 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate tellurion-core 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tellurion-core 0.1.0
[INFO] tweaked toml for crates.io crate tellurion-core 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tellurion-core 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tellurion-core 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05
[INFO] running `Command { std: "docker" "start" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling portable-atomic v1.14.0
[INFO] [stderr]    Compiling aws-lc-rs v1.17.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling rapidhash v4.5.1
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling metrics v0.24.6
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.16
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling http-body-util v0.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.42.0
[INFO] [stderr]    Compiling sysinfo v0.33.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling tokio v1.53.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling moka v0.12.15
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling tellurion-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.50s
[INFO] running `Command { std: "docker" "inspect" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling aws-lc-rs v1.17.1
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling aws-lc-sys v0.42.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling left-right v0.11.7
[INFO] [stderr]    Compiling sketches-ddsketch v0.3.1
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]    Compiling hashbag v0.1.13
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling evmap v11.0.0
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling moka v0.12.15
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling rand v0.8.7
[INFO] [stderr]    Compiling metrics-util v0.20.4
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tellurion-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 31.92s
[INFO] running `Command { std: "docker" "inspect" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/tellurion-core/2c271c6e90198008/out/tellurion_core-2c271c6e90198008)
[INFO] [stdout] 
[INFO] [stdout] running 435 tests
[INFO] [stdout] test auth::tests::a_token_authorizing_the_target_tenant_is_allowed ... ok
[INFO] [stdout] test auth::tests::a_known_token_for_a_different_tenant_is_denied_as_not_authorized ... ok
[INFO] [stdout] test auth::tests::build_authorizer_is_none_for_the_default_permissive_config ... ok
[INFO] [stdout] test auth::tests::credential_debug_never_prints_the_bearer_token_value ... ok
[INFO] [stdout] test auth::tests::an_unknown_token_is_denied_as_not_authorized ... ok
[INFO] [stdout] test auth::tests::distinct_tokens_authorize_distinct_tenants_independently ... ok
[INFO] [stdout] test auth::tests::build_authorizer_builds_a_working_static_authorizer_from_config ... ok
[INFO] [stdout] test auth::tests::no_credential_is_denied_with_no_credential_reason ... ok
[INFO] [stdout] test cache::tests::a_failed_populate_does_not_poison_the_key ... ok
[INFO] [stdout] test cache::tests::cache_stores_glb_and_png_styled_variants_independently ... ok
[INFO] [stdout] test cache::tests::encoding_variants_over_the_same_coord_are_distinct_keys ... ok
[INFO] [stdout] test cache::tests::evicts_once_over_the_byte_budget ... ok
[INFO] [stdout] test cache::tests::get_and_insert_round_trip_under_budget ... ok
[INFO] [stdout] test cache::tests::keys_with_different_fingerprints_at_the_same_coordinate_are_distinct ... ok
[INFO] [stdout] test cache::tests::l2_adapter_get_degrades_a_backend_error_to_a_plain_miss ... ok
[INFO] [stdout] test cache::tests::l2_adapter_get_returns_a_backend_hit ... ok
[INFO] [stdout] test cache::tests::l2_adapter_insert_error_is_logged_and_never_propagates ... ok
[INFO] [stdout] test cache::tests::l2_adapter_insert_returns_before_a_slow_backend_write_completes ... ok
[INFO] [stdout] test cache::tests::concurrent_misses_on_one_key_coalesce_into_a_single_upstream_fetch ... ok
[INFO] [stdout] test cache::tests::layered_cache_falls_through_to_l2_on_l1_miss ... ok
[INFO] [stdout] test cache::tests::layered_cache_writes_through_every_layer ... ok
[INFO] [stdout] test cache::tests::layered_get_or_populate_calls_populate_once_on_total_miss_and_writes_through ... ok
[INFO] [stdout] test cache::tests::l2_adapter_insert_with_ttl_uses_the_passed_ttl_not_the_adapters_own ... ok
[INFO] [stdout] test cache::tests::layered_get_or_populate_returns_an_l2_hit_without_calling_populate ... ok
[INFO] [stdout] test cache::tests::layered_get_or_populate_with_ttl_returns_an_l2_hit_without_calling_populate ... ok
[INFO] [stdout] test cache::tests::layered_l1_l2_read_degrades_silently_when_l2_is_down ... ok
[INFO] [stdout] test cache::tests::layered_l1_l2_read_path_backfills_l1_on_an_l2_hit ... ok
[INFO] [stdout] test cache::tests::layered_l1_l2_total_miss_coalesces_the_render_into_one_call ... ok
[INFO] [stdout] test cache::tests::metrics_wrapper_labels_png_and_png_styled_lanes ... ok
[INFO] [stdout] test cache::tests::metrics_wrapper_records_a_miss_then_a_hit_per_encoding_lane ... ok
[INFO] [stdout] test cache::tests::metrics_wrapper_records_a_miss_then_a_hit_through_get_or_populate_with_ttl ... ok
[INFO] [stdout] test cache::tests::moka_get_or_populate_with_ttl_still_coalesces_concurrent_misses ... ok
[INFO] [stdout] test cache::tests::two_keys_with_the_same_fingerprint_are_equal ... ok
[INFO] [stdout] test cache::tests::unfiltered_keys_at_the_same_coordinate_are_still_equal ... ok
[INFO] [stdout] test cgroup_v1::tests::missing_file_is_no_limit ... ok
[INFO] [stdout] test cgroup_v1::tests::parses_an_explicit_limit ... ok
[INFO] [stdout] test cgroup_v1::tests::treats_the_no_limit_sentinel_as_no_limit ... ok
[INFO] [stdout] test cgroup_v1::tests::unparsable_contents_is_no_limit ... ok
[INFO] [stdout] test config::tests::a_bearer_token_role_for_a_tenant_it_is_a_member_of_is_accepted ... ok
[INFO] [stdout] test config::tests::a_bearer_token_role_for_a_tenant_it_is_not_a_member_of_is_rejected ... ok
[INFO] [stdout] test config::tests::a_non_reserved_tenant_external_id_boots_cleanly ... ok
[INFO] [stdout] test config::tests::a_tenant_custom_policy_referencing_a_different_tenants_catalog_is_rejected ... ok
[INFO] [stdout] test config::tests::a_tenant_custom_policy_referencing_its_own_tenants_catalog_is_accepted ... ok
[INFO] [stdout] test config::tests::a_tenant_internal_id_that_defaults_into_a_reserved_external_id_is_also_refused ... ok
[INFO] [stdout] test config::tests::accepts_a_grant_filter_template_with_a_claim_placeholder ... ok
[INFO] [stdout] test config::tests::accepts_a_shared_with_entry_naming_a_real_tenant ... ok
[INFO] [stdout] test config::tests::accepts_boundary_cache_memory_percent ... ok
[INFO] [stdout] test config::tests::auth_defaults_to_none_when_the_section_is_absent ... ok
[INFO] [stdout] test config::tests::auth_static_bearer_tokens_parse_from_yaml ... ok
[INFO] [stdout] test config::tests::cache_l2_defaults_to_none ... ok
[INFO] [stdout] test config::tests::cache_l2_valkey_backend_parses_from_yaml ... ok
[INFO] [stdout] test config::tests::cache_l2_valkey_ttl_defaults_when_omitted ... ok
[INFO] [stdout] test config::tests::catalog_external_ids_may_repeat_across_different_tenants ... ok
[INFO] [stdout] test config::tests::collection_external_ids_may_repeat_across_different_catalogs ... ok
[INFO] [stdout] test config::tests::collection_physical_fields_default_to_none_when_omitted ... ok
[INFO] [stdout] test config::tests::defaults_apply_when_sections_missing ... ok
[INFO] [stdout] test config::tests::descriptor_cache_capacity_defaults_and_is_settable ... ok
[INFO] [stdout] test config::tests::descriptor_ttl_defaults_and_is_settable ... ok
[INFO] [stdout] test config::tests::effective_cap_falls_back_to_the_nearest_lower_zoom ... ok
[INFO] [stdout] test config::tests::effective_cap_is_exact_when_the_zoom_is_configured ... ok
[INFO] [stdout] test config::tests::effective_cap_uses_the_default_below_the_lowest_configured_zoom ... ok
[INFO] [stdout] test config::tests::effective_cap_uses_the_default_for_an_empty_caps_table ... ok
[INFO] [stdout] test config::tests::every_reserved_segment_is_refused_as_a_tenant_external_id ... ok
[INFO] [stdout] test config::tests::external_id_defaults_to_the_internal_id_when_omitted ... ok
[INFO] [stdout] test config::tests::internal_ids_must_be_unique_across_every_declaration_kind ... ok
[INFO] [stdout] test config::tests::max_concurrency_defaults_to_none_and_is_settable ... ok
[INFO] [stdout] test config::tests::oidc_claim_mapping_and_timing_knobs_override_from_yaml ... ok
[INFO] [stdout] test config::tests::oidc_validate_never_probes_the_issuer_over_the_network ... ok
[INFO] [stdout] test config::tests::parses_design_doc_example ... ok
[INFO] [stdout] test config::tests::parses_styles_list ... ok
[INFO] [stdout] test config::tests::places3d_absent_is_none ... ok
[INFO] [stdout] test config::tests::places3d_defaults_apply_when_only_height_property_given ... ok
[INFO] [stdout] test config::tests::places3d_honors_an_explicit_vertex_cap ... ok
[INFO] [stdout] test config::tests::places3d_honors_explicit_overrides ... ok
[INFO] [stdout] test config::tests::places3d_vertex_caps_defaults_to_empty ... ok
[INFO] [stdout] test config::tests::property_type_from_sql_type_classifies_common_postgis_types ... ok
[INFO] [stdout] test config::tests::property_type_matches_json_value_for_every_type ... ok
[INFO] [stdout] test config::tests::registry_backend_defaults_to_file ... ok
[INFO] [stdout] test config::tests::registry_backend_relational_parses_from_yaml_alongside_validation ... ok
[INFO] [stdout] test config::tests::registry_validation_defaults_to_eager ... ok
[INFO] [stdout] test config::tests::registry_validation_lazy_parses_from_yaml ... ok
[INFO] [stdout] test config::tests::rejects_a_bearer_token_referencing_an_unknown_tenant ... ok
[INFO] [stdout] test config::tests::rejects_a_bearer_token_with_no_tenants ... ok
[INFO] [stdout] test config::tests::rejects_a_catalog_visibility_shared_with_an_unknown_tenant ... ok
[INFO] [stdout] test config::tests::rejects_a_collection_visibility_shared_with_an_unknown_tenant ... ok
[INFO] [stdout] test config::tests::rejects_a_duplicate_platform_role_name ... ok
[INFO] [stdout] test config::tests::rejects_a_grant_filter_template_that_is_not_valid_cql2_once_substituted ... ok
[INFO] [stdout] test config::tests::rejects_a_grant_referencing_an_unknown_collection ... ok
[INFO] [stdout] test config::tests::rejects_a_grant_with_no_lanes ... ok
[INFO] [stdout] test config::tests::rejects_a_places3d_vertex_cap_zoom_outside_the_tiles_range ... ok
[INFO] [stdout] test config::tests::rejects_a_relational_backend_that_also_declares_catalogs ... ok
[INFO] [stdout] test config::tests::rejects_a_relational_backend_that_also_declares_collections ... ok
[INFO] [stdout] test config::tests::rejects_a_relational_registry_backend_referencing_an_unknown_storage ... ok
[INFO] [stdout] test config::tests::rejects_a_relational_registry_backend_with_no_storage_set ... ok
[INFO] [stdout] test config::tests::rejects_a_tenant_external_id_that_collides_with_a_reserved_top_level_segment ... ok
[INFO] [stdout] test config::tests::rejects_a_zero_jwks_ttl ... ok
[INFO] [stdout] test config::tests::rejects_a_zero_places3d_vertex_cap ... ok
[INFO] [stdout] test config::tests::rejects_an_empty_bearer_token_value ... ok
[INFO] [stdout] test config::tests::rejects_an_empty_oidc_audience ... ok
[INFO] [stdout] test config::tests::rejects_an_empty_oidc_issuer ... ok
[INFO] [stdout] test config::tests::rejects_an_oidc_issuer_that_is_not_a_url ... ok
[INFO] [stdout] test config::tests::rejects_an_oidc_issuer_with_a_non_http_scheme ... ok
[INFO] [stdout] test config::tests::rejects_cap_outside_zoom_range ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_bearer_token_entries ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_catalog_external_id_within_the_same_tenant ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_collection_external_id_within_the_same_catalog ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_storage_ids ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_style_ids ... ok
[INFO] [stdout] test config::tests::rejects_empty_routing_lane_list ... ok
[INFO] [stdout] test config::tests::rejects_invalid_zoom_cap_key ... ok
[INFO] [stdout] test config::tests::rejects_inverted_zoom_range ... ok
[INFO] [stdout] test config::tests::rejects_more_than_one_tenant_custom_document_for_the_same_tenant ... ok
[INFO] [stdout] test config::tests::rejects_negative_places3d_exaggeration ... ok
[INFO] [stdout] test config::tests::rejects_out_of_range_cache_memory_percent ... ok
[INFO] [stdout] test config::tests::rejects_routing_lane_referencing_unknown_storage ... ok
[INFO] [stdout] test config::tests::rejects_unresolved_catalog_tenant_ref ... ok
[INFO] [stdout] test config::tests::rejects_unresolved_storage_ref ... ok
[INFO] [stdout] test config::tests::rejects_unresolved_tenant_ref ... ok
[INFO] [stdout] test config::tests::rejects_zero_l2_ttl ... ok
[INFO] [stdout] test config::tests::rejects_zero_max_concurrency ... ok
[INFO] [stdout] test config::tests::rejects_zero_places3d_exaggeration ... ok
[INFO] [stdout] test config::tests::routing_lane_accepts_a_single_storage_id ... ok
[INFO] [stdout] test config::tests::routing_lane_accepts_an_ordered_list ... ok
[INFO] [stdout] test config::tests::routing_omitted_defaults_both_lanes_to_none ... ok
[INFO] [stdout] test config::tests::routing_write_lane_accepts_a_single_storage_id ... ok
[INFO] [stdout] test config::tests::routing_write_lane_referencing_unknown_storage_is_rejected ... ok
[INFO] [stdout] test config::tests::routing_write_lane_rejects_more_than_one_storage ... ok
[INFO] [stdout] test config::tests::schema_absent_is_none ... ok
[INFO] [stdout] test config::tests::schema_accepts_every_property_type ... ok
[INFO] [stdout] test config::tests::schema_honors_an_explicit_additional_properties_false ... ok
[INFO] [stdout] test config::tests::schema_parses_declared_properties_with_defaults ... ok
[INFO] [stdout] test config::tests::schema_rejects_a_duplicate_property_name ... ok
[INFO] [stdout] test config::tests::schema_rejects_an_unknown_property_type ... ok
[INFO] [stdout] test config::tests::static_bearer_tokens_and_oidc_coexist_in_one_auth_section ... ok
[INFO] [stdout] test config::tests::styles_default_to_empty ... ok
[INFO] [stdout] test config::tests::the_file_backend_may_freely_declare_catalogs_and_collections ... ok
[INFO] [stdout] test config::tests::validate_does_not_eagerly_check_grant_refs_for_the_relational_backend ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_accepts_a_well_typed_feature ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_accepts_an_undeclared_property_when_open ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_accepts_null_for_an_optional_property ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_rejects_a_fractional_number_for_an_integer_property ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_rejects_a_missing_required_property ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_rejects_a_type_mismatch_naming_expected_and_actual ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_rejects_an_undeclared_property_when_closed ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_reports_every_violation_at_once ... ok
[INFO] [stdout] test config::tests::validate_feature_properties_treats_an_explicit_null_as_missing_for_a_required_property ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_accepts_a_consistent_snapshot ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_accepts_a_grant_referencing_a_published_collection ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_rejects_a_duplicate_collection_internal_id ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_rejects_a_grant_referencing_an_unknown_collection ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_rejects_an_internal_id_reused_from_a_tenant ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_rejects_an_unknown_storage_reference ... ok
[INFO] [stdout] test config::tests::validate_registry_snapshot_rejects_an_unknown_tenant_reference ... ok
[INFO] [stdout] test config_store::tests::invalid_yaml_is_a_config_error ... ok
[INFO] [stdout] test config_store::tests::loads_and_validates_a_file ... ok
[INFO] [stdout] test config_store::tests::missing_file_is_a_config_error ... ok
[INFO] [stdout] test config_store::tests::referential_error_surfaces_from_load ... ok
[INFO] [stdout] test context::tests::falls_back_to_the_plain_entry_point_for_an_unindexed_collection ... ok
[INFO] [stdout] test context::tests::falls_back_to_the_settings_default_when_the_chain_sets_nothing ... ok
[INFO] [stdout] test context::tests::file_backend_never_consults_the_registry_reader_and_resolves_and_routes ... ok
[INFO] [stdout] test context::tests::passes_the_collections_explicit_cache_ttl_s ... ok
[INFO] [stdout] test context::tests::relational_backend_propagates_a_reader_failure ... ok
[INFO] [stdout] test context::tests::relational_backend_rejects_a_snapshot_that_fails_validation ... ok
[INFO] [stdout] test context::tests::relational_backend_resolves_and_routes_a_collection_yaml_never_declared ... ok
[INFO] [stdout] test crs::tests::content_crs_uri_is_crs84_for_omitted_and_explicit_crs84 ... ok
[INFO] [stdout] test crs::tests::content_crs_uri_is_the_storage_crs_when_storage_was_requested ... ok
[INFO] [stdout] test crs::tests::epsg_uri_uses_the_unversioned_by_reference_style ... ok
[INFO] [stdout] test crs::tests::is_lat_lon_order_is_true_only_for_4326 ... ok
[INFO] [stdout] test crs::tests::resolve_accepts_crs84_regardless_of_storage_srid ... ok
[INFO] [stdout] test crs::tests::resolve_accepts_the_collections_own_storage_crs ... ok
[INFO] [stdout] test crs::tests::resolve_defaults_to_omitted_when_no_parameter_was_supplied ... ok
[INFO] [stdout] test crs::tests::resolve_rejects_a_crs_not_in_the_supported_set ... ok
[INFO] [stdout] test crs::tests::resolve_rejects_the_storage_crs_when_the_srid_is_unknown ... ok
[INFO] [stdout] test crs::tests::supported_crs_adds_the_storage_crs_when_the_srid_is_known ... ok
[INFO] [stdout] test crs::tests::supported_crs_is_crs84_alone_when_the_storage_srid_is_unknown ... ok
[INFO] [stdout] test crs::tests::swap_bbox_axes_swaps_each_coordinate_pair ... ok
[INFO] [stdout] test descriptor::canonical::tests::a_closed_schema_drops_undeclared_attributes_from_the_merged_view ... ok
[INFO] [stdout] test descriptor::canonical::tests::a_declared_property_type_wins_over_the_sql_type_inferred_one ... ok
[INFO] [stdout] test descriptor::canonical::tests::a_declared_stac_block_is_carried_through_verbatim ... ok
[INFO] [stdout] test descriptor::canonical::tests::an_undeclared_attribute_is_derived_and_never_required ... ok
[INFO] [stdout] test descriptor::canonical::tests::capabilities_are_carried_through_unchanged ... ok
[INFO] [stdout] test descriptor::canonical::tests::every_physical_and_stac_fact_is_absent_when_derivation_failed_entirely ... ok
[INFO] [stdout] test descriptor::canonical::tests::geometry_provenance_is_override_when_it_diverges_from_the_backend ... ok
[INFO] [stdout] test descriptor::canonical::tests::physical_fields_stay_none_when_neither_override_nor_derived_value_exists ... ok
[INFO] [stdout] test descriptor::canonical::tests::schema_is_none_when_neither_attributes_nor_a_declared_schema_exist ... ok
[INFO] [stdout] test descriptor::canonical::tests::srid_is_carried_through_from_the_descriptor_with_no_provenance_concept ... ok
[INFO] [stdout] test descriptor::canonical::tests::stac_is_none_when_no_level_ever_declared_one ... ok
[INFO] [stdout] test descriptor::canonical::tests::table_provenance_is_derived_when_the_decl_leaves_it_unset ... ok
[INFO] [stdout] test descriptor::canonical::tests::table_provenance_is_override_when_the_decl_names_one ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_feature_cap_falls_back_to_the_flat_default_without_a_row_estimate ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_feature_cap_falls_back_to_the_heuristic_when_nothing_is_configured ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_feature_cap_inherits_an_explicit_cap_from_a_lower_configured_zoom ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_feature_cap_prefers_an_explicit_zoom_cap_over_the_heuristic ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_volume_vertex_cap_falls_back_to_the_heuristic_when_nothing_is_configured ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_volume_vertex_cap_inherits_from_a_lower_configured_zoom ... ok
[INFO] [stdout] test descriptor::heuristics::tests::effective_volume_vertex_cap_prefers_an_explicit_zoom_cap_over_the_heuristic ... ok
[INFO] [stdout] test descriptor::heuristics::tests::feature_cap_grows_with_zoom ... ok
[INFO] [stdout] test descriptor::heuristics::tests::feature_cap_never_drops_below_the_floor ... ok
[INFO] [stdout] test descriptor::heuristics::tests::feature_cap_never_exceeds_the_ceiling ... ok
[INFO] [stdout] test descriptor::heuristics::tests::feature_cap_never_exceeds_the_row_estimate ... ok
[INFO] [stdout] test descriptor::heuristics::tests::tile_buffer_is_one_sixteenth_of_the_extent ... ok
[INFO] [stdout] test descriptor::heuristics::tests::tolerance_shrinks_as_zoom_increases ... ok
[INFO] [stdout] test descriptor::heuristics::tests::volume_vertex_cap_grows_with_zoom ... ok
[INFO] [stdout] test descriptor::heuristics::tests::volume_vertex_cap_never_drops_below_the_floor ... ok
[INFO] [stdout] test descriptor::heuristics::tests::volume_vertex_cap_never_exceeds_the_ceiling ... ok
[INFO] [stdout] test descriptor::tests::cached_descriptor_failure_verdict_is_also_ttl_governed ... ok
[INFO] [stdout] test descriptor::tests::cached_descriptor_is_stale_once_the_ttl_elapses ... ok
[INFO] [stdout] test descriptor::tests::diverges_is_false_when_no_override_is_declared ... ok
[INFO] [stdout] test descriptor::tests::diverges_is_false_when_the_override_agrees_with_the_derived_value ... ok
[INFO] [stdout] test descriptor::tests::diverges_is_true_when_the_override_contradicts_the_derived_value ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_carries_row_estimate_and_attributes_through_unchanged ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_carries_the_extent_through_unchanged ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_carries_the_physical_srid_through ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_derives_datetime_from_the_single_temporal_column_when_not_overridden ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_fills_derived_values_when_overrides_are_absent ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_leaves_a_field_none_when_neither_override_nor_derived_value_is_present ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_leaves_datetime_none_when_no_temporal_column_was_derived ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_prefers_a_datetime_override_over_the_derived_temporal_column ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_prefers_the_override_over_the_derived_value ... ok
[INFO] [stdout] test descriptor::tests::merge_descriptor_treats_srid_zero_as_unset ... ok
[INFO] [stdout] test descriptor::tests::reconcile_schema_fails_naming_declared_vs_actual_type_on_a_mismatch ... ok
[INFO] [stdout] test descriptor::tests::reconcile_schema_fails_naming_the_collection_and_property_when_the_column_is_missing ... ok
[INFO] [stdout] test descriptor::tests::reconcile_schema_fails_when_a_declared_property_names_the_geometry_column ... ok
[INFO] [stdout] test descriptor::tests::reconcile_schema_passes_trivially_for_an_empty_schema ... ok
[INFO] [stdout] test descriptor::tests::reconcile_schema_passes_when_every_declared_property_matches_the_backend ... ok
[INFO] [stdout] test descriptor::tests::require_feature_capable_fails_when_geometry_is_missing ... ok
[INFO] [stdout] test descriptor::tests::require_feature_capable_fails_when_pk_is_missing ... ok
[INFO] [stdout] test descriptor::tests::require_feature_capable_passes_when_geometry_and_pk_are_present ... ok
[INFO] [stdout] test descriptor::tests::target_table_falls_back_to_the_collection_id_when_omitted ... ok
[INFO] [stdout] test descriptor::tests::target_table_uses_the_override_when_present ... ok
[INFO] [stdout] test filter::tests::and_and_or_flatten_left_associatively ... ok
[INFO] [stdout] test filter::tests::and_binds_tighter_than_or ... ok
[INFO] [stdout] test filter::tests::casei_rejects_an_ordering_operator ... ok
[INFO] [stdout] test filter::tests::combines_spatial_and_attribute_predicates ... ok
[INFO] [stdout] test filter::tests::fingerprint_agrees_across_two_structurally_identical_filters ... ok
[INFO] [stdout] test filter::tests::fingerprint_differs_between_and_and_or_of_the_same_terms ... ok
[INFO] [stdout] test filter::tests::fingerprint_differs_for_a_different_literal_value ... ok
[INFO] [stdout] test filter::tests::fingerprint_differs_for_a_different_operator ... ok
[INFO] [stdout] test filter::tests::fingerprint_differs_for_a_different_property ... ok
[INFO] [stdout] test filter::tests::fingerprint_is_stable_for_repeated_calls_on_the_same_filter ... ok
[INFO] [stdout] test filter::tests::keywords_are_case_insensitive ... ok
[INFO] [stdout] test filter::tests::not_applies_to_the_nearest_predicate ... ok
[INFO] [stdout] test filter::tests::not_before_an_unrecognized_keyword_is_a_syntax_error ... ok
[INFO] [stdout] test filter::tests::parentheses_override_precedence ... ok
[INFO] [stdout] test filter::tests::parse_dispatches_on_filter_lang ... ok
[INFO] [stdout] test filter::tests::parses_a_negative_number_literal ... ok
[INFO] [stdout] test filter::tests::parses_a_simple_equality ... ok
[INFO] [stdout] test filter::tests::parses_a_single_element_in_list ... ok
[INFO] [stdout] test filter::tests::parses_between_and_not_between ... ok
[INFO] [stdout] test filter::tests::parses_boolean_literals ... ok
[INFO] [stdout] test filter::tests::parses_casei_equality_and_inequality ... ok
[INFO] [stdout] test filter::tests::parses_every_comparison_operator ... ok
[INFO] [stdout] test filter::tests::parses_every_new_json_spatial_predicate ... ok
[INFO] [stdout] test filter::tests::parses_every_new_spatial_predicate ... ok
[INFO] [stdout] test filter::tests::parses_in_and_not_in ... ok
[INFO] [stdout] test filter::tests::parses_is_null_and_is_not_null ... ok
[INFO] [stdout] test filter::tests::parses_json_and_or_not ... ok
[INFO] [stdout] test filter::tests::parses_json_between ... ok
[INFO] [stdout] test filter::tests::parses_json_casei_equality_property_first ... ok
[INFO] [stdout] test filter::tests::parses_json_casei_inequality_literal_first ... ok
[INFO] [stdout] test filter::tests::parses_json_equality ... ok
[INFO] [stdout] test filter::tests::parses_json_in ... ok
[INFO] [stdout] test filter::tests::parses_json_like ... ok
[INFO] [stdout] test filter::tests::parses_json_not_like_via_the_generic_not_wrapper ... ok
[INFO] [stdout] test filter::tests::parses_json_s_intersects_with_a_geojson_geometry ... ok
[INFO] [stdout] test filter::tests::parses_json_s_intersects_with_bbox ... ok
[INFO] [stdout] test filter::tests::parses_json_temporal_operators ... ok
[INFO] [stdout] test filter::tests::parses_like_and_not_like ... ok
[INFO] [stdout] test filter::tests::parses_s_intersects_with_a_bbox_literal ... ok
[INFO] [stdout] test filter::tests::parses_t_after_with_a_timestamp_wrapper_and_a_bare_string ... ok
[INFO] [stdout] test filter::tests::parses_t_before ... ok
[INFO] [stdout] test filter::tests::parses_t_during_with_interval_wrapper_and_bare_pair ... ok
[INFO] [stdout] test filter::tests::properties_deduplicates_in_first_seen_order ... ok
[INFO] [stdout] test filter::tests::rejects_empty_input ... ok
[INFO] [stdout] test filter::tests::rejects_malformed_json ... ok
[INFO] [stdout] test filter::tests::rejects_trailing_garbage ... ok
[INFO] [stdout] test filter::tests::rejects_unbalanced_parens ... ok
[INFO] [stdout] test filter::tests::rejects_unknown_json_operator ... ok
[INFO] [stdout] test filter::tests::rejects_unterminated_string ... ok
[INFO] [stdout] test filter::tests::string_literal_supports_doubled_quote_escape ... ok
[INFO] [stdout] test filter::tests::validate_accepts_a_known_attribute ... ok
[INFO] [stdout] test filter::tests::validate_accepts_advanced_comparison_operators_against_a_known_attribute ... ok
[INFO] [stdout] test filter::tests::validate_accepts_an_attribute_the_closed_schema_declares ... ok
[INFO] [stdout] test filter::tests::validate_accepts_casei_against_a_known_attribute ... ok
[INFO] [stdout] test filter::tests::validate_accepts_s_intersects_against_the_geometry_column ... ok
[INFO] [stdout] test filter::tests::validate_accepts_temporal_operators_against_the_datetime_column ... ok
[INFO] [stdout] test filter::tests::validate_accepts_the_geometry_and_datetime_columns_as_plain_properties ... ok
[INFO] [stdout] test filter::tests::validate_accepts_the_new_spatial_predicates_against_the_geometry_column ... ok
[INFO] [stdout] test filter::tests::validate_closed_schema_still_exempts_the_geometry_and_datetime_columns ... ok
[INFO] [stdout] test filter::tests::validate_recurses_into_and_or_not ... ok
[INFO] [stdout] test filter::tests::validate_rejects_advanced_comparison_operators_against_an_unknown_property ... ok
[INFO] [stdout] test filter::tests::validate_rejects_an_attribute_the_closed_schema_does_not_declare ... ok
[INFO] [stdout] test filter::tests::validate_rejects_an_unknown_property_naming_it ... ok
[INFO] [stdout] test filter::tests::validate_rejects_casei_against_an_unknown_property ... ok
[INFO] [stdout] test filter::tests::validate_rejects_s_intersects_against_a_non_geometry_property ... ok
[INFO] [stdout] test filter::tests::validate_rejects_temporal_operators_against_a_non_datetime_property ... ok
[INFO] [stdout] test filter::tests::validate_rejects_temporal_operators_when_the_collection_has_no_datetime_column ... ok
[INFO] [stdout] test filter::tests::validate_rejects_the_new_spatial_predicates_against_a_non_geometry_property ... ok
[INFO] [stdout] test filter::tests::validate_with_an_open_schema_still_accepts_any_real_attribute ... ok
[INFO] [stdout] test policy::tests::a_filtered_grant_compiles_the_substituted_claim_into_the_filter ... ok
[INFO] [stdout] test policy::tests::a_filtered_grant_denies_on_a_lane_that_cannot_push_the_filter_down ... ok
[INFO] [stdout] test policy::tests::a_grant_filter_that_fails_to_parse_once_substituted_is_an_error_not_a_deny ... ok
[INFO] [stdout] test policy::tests::a_grant_scoped_to_a_different_lane_does_not_match ... ok
[INFO] [stdout] test policy::tests::a_grant_scoped_to_a_specific_collection_does_not_match_a_different_one ... ok
[INFO] [stdout] test policy::tests::a_member_of_a_tenant_named_in_shared_with_reads_unrestricted ... ok
[INFO] [stdout] test policy::tests::a_member_of_an_unrelated_tenant_is_still_denied_when_shared_with_names_someone_else ... ok
[INFO] [stdout] test policy::tests::a_missing_claim_makes_the_grant_unsatisfied_and_denies_when_no_other_grant_matches ... ok
[INFO] [stdout] test policy::tests::a_non_member_is_denied_a_private_resource ... ok
[INFO] [stdout] test policy::tests::a_tenant_custom_role_replaces_the_platform_roles_grants_for_the_same_name ... ok
[INFO] [stdout] test policy::tests::a_tenant_member_with_no_policy_configured_reads_unrestricted ... ok
[INFO] [stdout] test policy::tests::an_anonymous_subject_is_denied_a_private_resource ... ok
[INFO] [stdout] test policy::tests::an_anonymous_subject_reads_a_public_resource_unrestricted ... ok
[INFO] [stdout] test policy::tests::an_unconditional_grant_still_allows_on_a_lane_that_cannot_push_a_filter_down ... ok
[INFO] [stdout] test policy::tests::an_unconditional_grant_wins_over_a_filtered_one_held_via_a_different_role ... ok
[INFO] [stdout] test policy::tests::cross_tenant_reads_via_public_never_consult_rbac_and_stay_unrestricted ... ok
[INFO] [stdout] test policy::tests::rbac_active_allows_a_member_holding_a_matching_role ... ok
[INFO] [stdout] test policy::tests::rbac_active_denies_a_member_with_no_matching_role ... ok
[INFO] [stdout] test policy::tests::subject_member_of_builds_the_expected_role_set ... ok
[INFO] [stdout] test registry::tests::a_connect_failure_propagates_as_an_error ... ok
[INFO] [stdout] test registry::tests::a_zero_limit_still_makes_forward_progress ... ok
[INFO] [stdout] test registry::tests::catalog_lookup_is_a_direct_hit ... ok
[INFO] [stdout] test registry::tests::collection_lookup_is_a_direct_hit_not_a_scan ... ok
[INFO] [stdout] test registry::tests::collection_lookup_is_none_for_an_unknown_catalog ... ok
[INFO] [stdout] test registry::tests::collection_lookup_is_none_for_an_unknown_external_id ... ok
[INFO] [stdout] test registry::tests::file_backend_never_consults_the_factory ... ok
[INFO] [stdout] test registry::tests::list_catalogs_paginates_by_external_id ... ok
[INFO] [stdout] test registry::tests::list_collections_for_a_catalog_with_no_collections_is_an_empty_page ... ok
[INFO] [stdout] test registry::tests::list_collections_is_an_empty_page_for_an_unknown_catalog ... ok
[INFO] [stdout] test registry::tests::list_collections_paginates_with_a_keyset_cursor_never_an_offset ... ok
[INFO] [stdout] test registry::tests::list_collections_returns_everything_in_one_page_when_the_limit_is_not_exceeded ... ok
[INFO] [stdout] test registry::tests::relational_backend_resolves_the_referenced_storages_url_env_and_connects ... ok
[INFO] [stdout] test registry::tests::relational_backend_with_an_unset_url_env_is_a_config_error ... ok
[INFO] [stdout] test registry::tests::relational_backend_with_no_factory_is_a_config_error ... ok
[INFO] [stdout] test registry::tests::snapshot_from_registry_is_empty_for_a_tenant_with_nothing_published ... ok
[INFO] [stdout] test registry::tests::snapshot_from_registry_never_walks_a_catalog_under_an_undeclared_tenant ... ok
[INFO] [stdout] test registry::tests::snapshot_from_registry_uses_the_production_page_size_by_default ... ok
[INFO] [stdout] test registry::tests::snapshot_walk_crosses_multiple_pages_and_still_collects_everything_exactly_once ... ok
[INFO] [stdout] test resolver::tests::build_from_snapshot_resolves_using_the_given_snapshot_not_configs_own_fields ... ok
[INFO] [stdout] test resolver::tests::build_is_equivalent_to_build_from_snapshot_with_configs_own_declarations ... ok
[INFO] [stdout] test resolver::tests::catalog_count_counts_every_catalog_across_every_tenant ... ok
[INFO] [stdout] test resolver::tests::catalog_count_reflects_the_snapshot_not_configs_own_catalogs_field ... ok
[INFO] [stdout] test resolver::tests::catalog_external_id_from_the_wrong_tenant_is_not_found ... ok
[INFO] [stdout] test resolver::tests::catalogs_for_tenant_lists_only_that_tenants_catalogs ... ok
[INFO] [stdout] test resolver::tests::identical_external_ids_under_different_tenants_resolve_to_distinct_internal_ids ... ok
[INFO] [stdout] test resolver::tests::resolves_tenant_catalog_collection_chain_to_internal_ids ... ok
[INFO] [stdout] test resolver::tests::reverse_maps_answer_the_external_id_for_a_known_internal_id ... ok
[INFO] [stdout] test resolver::tests::reverse_maps_are_none_for_an_unknown_internal_id ... ok
[INFO] [stdout] test resolver::tests::tenant_with_no_explicit_external_id_resolves_by_its_internal_id ... ok
[INFO] [stdout] test resolver::tests::unknown_tenant_external_id_is_not_found ... ok
[INFO] [stdout] test router::tests::a_collection_without_routing_behaves_exactly_like_before_lanes_existed ... ok
[INFO] [stdout] test router::tests::build_fails_for_unregistered_driver_name ... ok
[INFO] [stdout] test router::tests::build_from_snapshot_is_equivalent_to_build_for_the_same_declarations ... ok
[INFO] [stdout] test router::tests::collection_count_reflects_the_snapshot_not_configs_own_collections_field ... ok
[INFO] [stdout] test router::tests::collection_descriptor_exposes_row_estimate_attributes_and_datetime ... ok
[INFO] [stdout] test router::tests::collection_descriptor_exposes_the_derived_extent_even_when_fully_overridden ... ok
[INFO] [stdout] test router::tests::descriptor_cache_is_bounded_by_descriptor_cache_capacity ... ok
[INFO] [stdout] test router::tests::effective_decl_fast_path_leaves_datetime_and_row_estimate_unset_when_physical_fields_are_all_overridden ... ok
[INFO] [stdout] test router::tests::fallback_tail_serves_when_the_primary_entry_errors ... ok
[INFO] [stdout] test router::tests::features_and_tiles_lanes_bind_to_different_drivers_and_each_request_reaches_the_right_one ... ok
[INFO] [stdout] test router::tests::refuses_capability_the_driver_lacks ... ok
[INFO] [stdout] test router::tests::resolve_features_carries_the_row_estimate_onto_the_effective_decl ... ok
[INFO] [stdout] test router::tests::resolve_features_derives_datetime_from_a_single_temporal_column_when_not_overridden ... ok
[INFO] [stdout] test router::tests::resolve_features_derives_geometry_and_pk_from_the_catalog_when_omitted ... ok
[INFO] [stdout] test router::tests::resolve_features_fails_first_touch_when_an_explicit_multi_entry_lane_has_an_incapable_entry ... ok
[INFO] [stdout] test router::tests::resolve_features_honors_a_datetime_override_that_diverges_from_the_backend ... ok
[INFO] [stdout] test router::tests::resolve_features_honors_a_geometry_override_that_diverges_from_the_backend ... ok
[INFO] [stdout] test router::tests::resolve_tiles_carries_the_catalogs_inherited_tile_caps_onto_the_served_decl ... ok
[INFO] [stdout] test router::tests::resolve_tiles_fails_first_touch_when_a_places3d_collections_unrouted_lane_lacks_tiles ... ok
[INFO] [stdout] test router::tests::resolve_tiles_fails_first_touch_when_an_explicit_multi_entry_lane_has_an_incapable_entry ... ok
[INFO] [stdout] test router::tests::resolve_tiles_prefers_the_collections_own_explicit_tile_caps_over_the_catalogs ... ok
[INFO] [stdout] test router::tests::resolve_volume_detects_a_driver_that_advertises_it ... ok
[INFO] [stdout] test router::tests::resolve_volume_is_none_when_the_driver_never_advertises_it ... ok
[INFO] [stdout] test router::tests::resolve_volume_never_falls_through_to_a_tail_entry_that_has_it ... ok
[INFO] [stdout] test cache::tests::layered_get_or_populate_with_ttl_coalesces_and_writes_the_given_ttl_to_l2 ... ok
[INFO] [stdout] test router::tests::resolve_volume_unknown_collection_is_not_found ... ok
[INFO] [stdout] test router::tests::resolve_write_fails_when_the_explicit_lane_names_an_incapable_driver ... ok
[INFO] [stdout] test router::tests::resolve_write_refuses_a_collection_with_no_write_routing_at_all ... ok
[INFO] [stdout] test router::tests::resolve_write_succeeds_when_the_lane_names_a_write_capable_driver ... ok
[INFO] [stdout] test router::tests::resolved_descriptor_caches_a_config_failure_and_avoids_a_second_catalog_query ... ok
[INFO] [stdout] test router::tests::resolved_descriptor_is_cached_within_ttl_and_avoids_a_second_catalog_query ... ok
[INFO] [stdout] test router::tests::resolved_descriptor_is_rederived_after_the_ttl_expires ... ok
[INFO] [stdout] test router::tests::resolved_descriptor_never_caches_a_transient_error ... ok
[INFO] [stdout] test router::tests::total_capacity_hint_is_none_when_any_driver_has_no_opinion ... ok
[INFO] [stdout] test router::tests::resolves_features_when_supported ... ok
[INFO] [stdout] test router::tests::total_capacity_hint_is_none_with_no_storages ... ok
[INFO] [stdout] test router::tests::total_capacity_hint_sums_across_storages_when_every_driver_reports_one ... ok
[INFO] [stdout] test router::tests::unknown_collection_is_not_found ... ok
[INFO] [stdout] test router::tests::unknown_tenant_is_not_found ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_a_declared_property_is_missing_from_the_backend ... ok
[INFO] [stdout] test router::tests::validate_catalog_catches_a_write_lane_naming_an_incapable_driver ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_a_declared_property_names_the_geometry_column ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_a_declared_property_type_mismatches_the_backend ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_a_physical_field_cannot_be_derived ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_an_explicit_routing_lane_names_a_storage_lacking_the_capability ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_places3d_needs_tiles_the_driver_lacks ... ok
[INFO] [stdout] test router::tests::validate_catalog_fails_fast_when_the_table_is_absent ... ok
[INFO] [stdout] test router::tests::validate_catalog_passes_unchanged_when_no_schema_is_declared ... ok
[INFO] [stdout] test router::tests::validate_catalog_passes_for_a_tiles_only_driver_that_never_reports_geometry_or_pk ... ok
[INFO] [stdout] test router::tests::validate_catalog_passes_when_a_declared_schema_matches_the_backend ... ok
[INFO] [stdout] test router::tests::validate_catalog_passes_when_places3d_and_tiles_are_both_present ... ok
[INFO] [stdout] test router::tests::validate_catalog_passes_when_the_table_is_reported ... ok
[INFO] [stdout] test router::tests::validate_catalog_warms_the_descriptor_cache_so_the_first_resolve_pays_no_extra_io ... ok
[INFO] [stdout] test settings::tests::falls_back_to_the_module_default_when_nothing_in_the_chain_sets_the_key ... ok
[INFO] [stdout] test settings::tests::collection_level_wins_when_it_sets_the_key ... ok
[INFO] [stdout] test settings::tests::falls_through_to_catalog_when_collection_says_nothing ... ok
[INFO] [stdout] test settings::tests::falls_through_to_platform_when_only_it_sets_the_key ... ok
[INFO] [stdout] test settings::tests::keys_resolve_independently_not_as_a_whole_record ... ok
[INFO] [stdout] test settings::tests::falls_through_to_tenant_when_collection_and_catalog_say_nothing ... ok
[INFO] [stdout] test settings::tests::stac_collection_level_wins_when_it_sets_the_key ... ok
[INFO] [stdout] test settings::tests::stac_falls_through_to_catalog_when_collection_says_nothing ... ok
[INFO] [stdout] test settings::tests::stac_falls_through_to_platform_when_only_it_sets_the_key ... ok
[INFO] [stdout] test settings::tests::stac_falls_through_to_tenant_when_collection_and_catalog_say_nothing ... ok
[INFO] [stdout] test settings::tests::stac_is_none_when_nothing_in_the_chain_sets_it ... ok
[INFO] [stdout] test settings::tests::stac_replaces_the_whole_subtree_never_merges_across_levels ... ok
[INFO] [stdout] test style_store::tests::list_is_empty_when_no_styles_registered ... ok
[INFO] [stdout] test settings::tests::tile_caps_replace_whole_never_merge_across_levels ... ok
[INFO] [stdout] test style_store::tests::loads_a_registered_style ... ok
[INFO] [stdout] test style_store::tests::list_returns_sorted_registered_ids ... ok
[INFO] [stdout] test style_store::tests::registered_id_with_missing_file_is_an_error ... ok
[INFO] [stdout] test style_store::tests::registered_id_with_invalid_json_is_an_error ... ok
[INFO] [stdout] test style_store::tests::unknown_id_is_ok_none ... ok
[INFO] [stdout] test auth::tests::an_invalid_oidc_token_is_denied_as_no_credential_not_not_authorized ... ok
[INFO] [stdout] test auth::tests::oidc_claim_mapping_accepts_a_space_separated_string ... ok
[INFO] [stdout] test auth::tests::a_static_token_still_authorizes_when_oidc_is_also_configured ... ok
[INFO] [stdout] test auth::tests::oidc_claim_mapping_honors_a_configured_claim_name ... ok
[INFO] [stdout] test auth::tests::oidc_validation_failures_never_carry_the_token_text ... ok
[INFO] [stdout] test auth::tests::oidc_claim_mapping_accepts_an_array_of_strings ... ok
[INFO] [stdout] test auth::tests::an_expired_oidc_token_is_rejected ... ok
[INFO] [stdout] test auth::tests::an_oidc_token_with_an_unknown_kid_is_rejected ... ok
[INFO] [stdout] test auth::tests::a_burst_of_unknown_kids_triggers_only_one_jwks_refresh ... ok
[INFO] [stdout] test auth::tests::a_valid_oidc_token_authorizes_its_mapped_tenant ... ok
[INFO] [stdout] test auth::tests::an_oidc_token_with_the_wrong_audience_is_rejected ... ok
[INFO] [stdout] test auth::tests::an_oidc_token_with_the_wrong_issuer_is_rejected ... ok
[INFO] [stdout] test auth::tests::an_oidc_token_authorizes_through_the_authorizer_when_the_static_map_misses ... ok
[INFO] [stdout] test auth::tests::an_oidc_token_with_a_bad_signature_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 435 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.64s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tellurion_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05", kill_on_drop: false }`
[INFO] [stdout] 7637aea2db1924c5d13508eadd7e7829bb93dfb0842e1dae641023876e23ce05
