[INFO] fetching crate subsume 0.12.0...
[INFO] testing subsume-0.12.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate subsume 0.12.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate subsume 0.12.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate subsume 0.12.0
[INFO] tweaked toml for crates.io crate subsume 0.12.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate subsume 0.12.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate subsume 0.12.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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7925312c841797ae7a7073a3fce92c9a8aaa580fb8da7228ff5b5b45852bebd7
[INFO] running `Command { std: "docker" "start" "-a" "7925312c841797ae7a7073a3fce92c9a8aaa580fb8da7228ff5b5b45852bebd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7925312c841797ae7a7073a3fce92c9a8aaa580fb8da7228ff5b5b45852bebd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7925312c841797ae7a7073a3fce92c9a8aaa580fb8da7228ff5b5b45852bebd7", kill_on_drop: false }`
[INFO] [stdout] 7925312c841797ae7a7073a3fce92c9a8aaa580fb8da7228ff5b5b45852bebd7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9c2bc07f250243fb8aa9a8dde1cc9037e189d38ebe6eeace58885490adbfc339
[INFO] running `Command { std: "docker" "start" "-a" "9c2bc07f250243fb8aa9a8dde1cc9037e189d38ebe6eeace58885490adbfc339", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zmij v1.0.15
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling lattix v0.6.0
[INFO] [stderr]    Compiling subsume v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.22s
[INFO] running `Command { std: "docker" "inspect" "9c2bc07f250243fb8aa9a8dde1cc9037e189d38ebe6eeace58885490adbfc339", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c2bc07f250243fb8aa9a8dde1cc9037e189d38ebe6eeace58885490adbfc339", kill_on_drop: false }`
[INFO] [stdout] 9c2bc07f250243fb8aa9a8dde1cc9037e189d38ebe6eeace58885490adbfc339
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab4a1047748af6ddec1da3e60f6df098fde490ad735deba0fe33a71eafc6db74
[INFO] running `Command { std: "docker" "start" "-a" "ab4a1047748af6ddec1da3e60f6df098fde490ad735deba0fe33a71eafc6db74", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling lattix v0.6.0
[INFO] [stderr]    Compiling subsume v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 56.13s
[INFO] running `Command { std: "docker" "inspect" "ab4a1047748af6ddec1da3e60f6df098fde490ad735deba0fe33a71eafc6db74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab4a1047748af6ddec1da3e60f6df098fde490ad735deba0fe33a71eafc6db74", kill_on_drop: false }`
[INFO] [stdout] ab4a1047748af6ddec1da3e60f6df098fde490ad735deba0fe33a71eafc6db74
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5920c2b30af216a46fd5c9cfd167fc304ddeb740cd5b75d26d0904c65af52bbd
[INFO] running `Command { std: "docker" "start" "-a" "5920c2b30af216a46fd5c9cfd167fc304ddeb740cd5b75d26d0904c65af52bbd", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/subsume-64047c4054ba6cf1)
[INFO] [stdout] 
[INFO] [stdout] running 722 tests
[INFO] [stdout] test annular::tests::angular_containment_partial ... ok
[INFO] [stdout] test annular::tests::angular_span_wrapping ... ok
[INFO] [stdout] test annular::tests::angular_span_simple ... ok
[INFO] [stdout] test annular::tests::containment_nested_is_one ... ok
[INFO] [stdout] test annular::tests::model_construction ... ok
[INFO] [stdout] test annular::tests::area_proxy_positive ... ok
[INFO] [stdout] test annular::tests::containment_disjoint_is_zero ... ok
[INFO] [stdout] test annular::tests::radial_width ... ok
[INFO] [stdout] test annular::tests::relation_radial_scaling ... ok
[INFO] [stdout] test annular::tests::sector_new_valid ... ok
[INFO] [stdout] test annular::tests::sector_rejects_invalid_radii ... ok
[INFO] [stdout] test annular::tests::angular_containment_full ... ok
[INFO] [stdout] test annular::tests::containment_identical_is_one ... ok
[INFO] [stdout] test annular::tests::relation_identity_preserves_sector ... ok
[INFO] [stdout] test annular::tests::sector_rejects_non_finite ... ok
[INFO] [stdout] test annular::tests::score_triple_perfect_match ... ok
[INFO] [stdout] test annular::tests::relation_rotation ... ok
[INFO] [stdout] test annular::tests::relation_rejects_zero_scale ... ok
[INFO] [stdout] test annular::tests::sector_from_polar ... ok
[INFO] [stdout] test annular::tests::score_triple_mismatch ... ok
[INFO] [stdout] test annular::tests::surface_distance_different_centers ... ok
[INFO] [stdout] test annular::tests::surface_distance_identical_is_zero ... ok
[INFO] [stdout] test ball::proptests::prop_containment_in_unit_interval ... ok
[INFO] [stdout] test annular::proptests::prop_area_proxy_nonneg ... ok
[INFO] [stdout] test annular::proptests::prop_angular_span_positive ... ok
[INFO] [stdout] test annular::proptests::prop_surface_distance_nonneg ... ok
[INFO] [stdout] test annular::proptests::prop_surface_distance_symmetric ... ok
[INFO] [stdout] test ball::tests::ball_from_log_radius ... ok
[INFO] [stdout] test ball::tests::ball_new_valid ... ok
[INFO] [stdout] test ball::tests::ball_rejects_negative_radius ... ok
[INFO] [stdout] test ball::tests::ball_rejects_non_finite_center ... ok
[INFO] [stdout] test ball::tests::ball_rejects_non_finite_radius ... ok
[INFO] [stdout] test ball::tests::ball_rejects_zero_radius ... ok
[INFO] [stdout] test ball::tests::containment_dimension_mismatch ... ok
[INFO] [stdout] test ball::tests::containment_disjoint_is_near_zero ... ok
[INFO] [stdout] test ball::tests::containment_identical_is_half ... ok
[INFO] [stdout] test ball::tests::containment_nested_is_near_one ... ok
[INFO] [stdout] test annular::proptests::prop_score_triple_nonneg ... ok
[INFO] [stdout] test ball::tests::embedding_model_construction ... ok
[INFO] [stdout] test ball::tests::containment_tangent ... ok
[INFO] [stdout] test ball::tests::embedding_model_rejects_dim_mismatch ... ok
[INFO] [stdout] test ball::tests::log_volume_2d_unit_circle ... ok
[INFO] [stdout] test ball::tests::log_volume_3d_unit_sphere ... ok
[INFO] [stdout] test ball::tests::log_volume_scales_with_radius ... ok
[INFO] [stdout] test ball::tests::overlap_disjoint_is_zero ... ok
[INFO] [stdout] test ball::tests::overlap_symmetric ... ok
[INFO] [stdout] test ball::tests::overlap_identical_is_one ... ok
[INFO] [stdout] test ball::proptests::prop_log_volume_finite ... ok
[INFO] [stdout] test ball::proptests::prop_overlap_in_unit_interval ... ok
[INFO] [stdout] test ball::tests::regd_boundary_disjoint_is_large ... ok
[INFO] [stdout] test ball::proptests::prop_overlap_symmetric ... ok
[INFO] [stdout] test ball::proptests::prop_regd_boundary_finite ... ok
[INFO] [stdout] test ball::tests::regd_depth_same_center_different_radius ... ok
[INFO] [stdout] test ball::tests::regd_boundary_nested_is_negative ... ok
[INFO] [stdout] test ball::tests::regd_depth_diverges_as_radius_shrinks ... ok
[INFO] [stdout] test ball::tests::relation_dimension_mismatch ... ok
[INFO] [stdout] test ball::tests::regd_combined_dimension_mismatch ... ok
[INFO] [stdout] test ball::tests::regd_boundary_tangent_is_asinh_one ... ok
[INFO] [stdout] test ball::tests::regd_score_disjoint_is_high ... ok
[INFO] [stdout] test ball::tests::regd_depth_identical ... ok
[INFO] [stdout] test ball::tests::regd_score_nested_is_low ... ok
[INFO] [stdout] test ball::tests::relation_identity_preserves_ball ... ok
[INFO] [stdout] test ball::proptests::prop_containment_sharper_boundary ... ok
[INFO] [stdout] test ball::proptests::prop_score_triple_nonneg ... ok
[INFO] [stdout] test ball::tests::relation_rejects_zero_scale ... ok
[INFO] [stdout] test ball::tests::relation_scaling ... ok
[INFO] [stdout] test ball::tests::relation_translation ... ok
[INFO] [stdout] test ball::proptests::prop_regd_depth_nonneg ... ok
[INFO] [stdout] test ball::tests::score_triple_mismatch ... ok
[INFO] [stdout] test ball::tests::score_triple_perfect_match ... ok
[INFO] [stdout] test ball::tests::sigmoid_large_negative ... ok
[INFO] [stdout] test ball::tests::sigmoid_large_positive ... ok
[INFO] [stdout] test ball::tests::sigmoid_zero ... ok
[INFO] [stdout] test ball::tests::surface_distance_disjoint_is_positive ... ok
[INFO] [stdout] test ball::tests::surface_distance_identical_is_zero ... ok
[INFO] [stdout] test ball::tests::surface_distance_overlapping_is_zero ... ok
[INFO] [stdout] test ball::tests::surface_distance_tangent_is_zero ... ok
[INFO] [stdout] test cone_el::tests::disjointness_loss_positive_when_overlapping ... ok
[INFO] [stdout] test cone_el::tests::compose_roles_adds_axes_and_apertures ... ok
[INFO] [stdout] test cone_el::tests::existential_zero_role_preserves_filler ... ok
[INFO] [stdout] test cone_el::tests::disjointness_loss_zero_when_separated ... ok
[INFO] [stdout] test cone_el::tests::inclusion_loss_dimension_mismatch ... ok
[INFO] [stdout] test cone_query::tests::complement_query_matches_cone_complement ... ok
[INFO] [stdout] test ball::proptests::prop_regd_depth_symmetric ... ok
[INFO] [stdout] test cone_query::tests::containment_score_inside_higher_than_outside ... ok
[INFO] [stdout] test cone_el::tests::inclusion_loss_positive_when_not_contained ... ok
[INFO] [stdout] test cone_query::tests::atom_evaluates_to_itself ... ok
[INFO] [stdout] test cone_el::tests::inclusion_loss_zero_when_contained ... ok
[INFO] [stdout] test cone_query::tests::animal_and_not_cat_prefers_dog ... ok
[INFO] [stdout] test cone_query::tests::intersection_empty_errors ... ok
[INFO] [stdout] test cone_query::tests::rank_entities_orders_by_distance ... ok
[INFO] [stdout] test dataset::tests::dataset_from_all_triples_splits_correctly ... ok
[INFO] [stdout] test cone_query::tests::two_hop_projection ... ok
[INFO] [stdout] test cone_query::tests::projection_shifts_axes ... ok
[INFO] [stdout] test cone_query::tests::union_score_takes_minimum_distance ... ok
[INFO] [stdout] test cone_query::tests::intersection_takes_min_aperture ... ok
[INFO] [stdout] test dataset::tests::from_arrays_roundtrips ... ok
[INFO] [stdout] test distance::tests::query2box_alpha_zero_reduces_to_boundary_only ... ok
[INFO] [stdout] test distance::tests::query2box_entity_inside_box ... ok
[INFO] [stdout] test dataset::tests::dataset_into_interned_roundtrips ... ok
[INFO] [stdout] test distance::tests::query2box_dim_mismatch ... ok
[INFO] [stdout] test ball::proptests::prop_relation_apply_preserves_dim ... ok
[INFO] [stdout] test distance::tests::query2box_entity_on_boundary ... ok
[INFO] [stdout] test distance::tests::query2box_alpha_one_reduces_to_center_distance ... ok
[INFO] [stdout] test distance::tests::query2box_entity_outside_box ... ok
[INFO] [stdout] test ball::proptests::prop_surface_distance_symmetric ... ok
[INFO] [stdout] test el::tests::prop_dimension_mismatch_errors ... ok
[INFO] [stdout] test ball::proptests::prop_regd_depth_diverges_for_small_radius ... ok
[INFO] [stdout] test ball::proptests::prop_regd_score_finite ... ok
[INFO] [stdout] test el::tests::prop_compose_roles_center_associative ... ok
[INFO] [stdout] test el::tests::test_compose_roles ... ok
[INFO] [stdout] test el::tests::test_compose_roles_associative_deterministic ... ok
[INFO] [stdout] test el::tests::test_dimension_mismatch ... ok
[INFO] [stdout] test ball::proptests::prop_surface_distance_nonneg ... ok
[INFO] [stdout] test el::tests::test_existential_box ... ok
[INFO] [stdout] test el::tests::test_existential_box_documentation_choice ... ok
[INFO] [stdout] test el::tests::prop_intersection_loss_zero_when_d_is_universe_and_overlapping ... ok
[INFO] [stdout] test el::tests::test_identity_translation_composition ... ok
[INFO] [stdout] test el::tests::test_inclusion_loss_contained ... ok
[INFO] [stdout] test el::tests::test_existential_zero_offset_role_preserves_filler ... ok
[INFO] [stdout] test el::tests::test_inclusion_loss_not_contained ... ok
[INFO] [stdout] test el::tests::test_inclusion_loss_with_margin ... ok
[INFO] [stdout] test el::tests::test_intersection_loss_disjoint ... ok
[INFO] [stdout] test el::tests::test_inclusion_loss_matches_box2el ... ok
[INFO] [stdout] test el::tests::test_intersection_loss_not_contained ... ok
[INFO] [stdout] test el::tests::test_intersection_loss_overlap_still_works ... ok
[INFO] [stdout] test el::tests::test_intersection_loss_disjoint_surrogate ... ok
[INFO] [stdout] test el::tests::prop_el_inclusion_loss_nonneg_explicit ... ok
[INFO] [stdout] test el::tests::test_role_chain_loss ... ok
[INFO] [stdout] test el_dataset::tests::test_empty_and_comments ... ok
[INFO] [stdout] test el::tests::test_unit_box_inclusion ... ok
[INFO] [stdout] test el_dataset::tests::test_iter_roundtrip ... ok
[INFO] [stdout] test el_dataset::tests::test_parse_all_forms ... ok
[INFO] [stdout] test el_dataset::tests::test_invalid_tag ... ok
[INFO] [stdout] test el_dataset::tests::test_wrong_field_count ... ok
[INFO] [stdout] test el_training::tests::parse_all_axiom_types ... ok
[INFO] [stdout] test el_training::tests::parse_basic_ontology ... ok
[INFO] [stdout] test el_training::tests::parse_errors ... ok
[INFO] [stdout] test el::tests::prop_role_chain_loss_nonneg ... ok
[INFO] [stdout] test el_training::tests::subsumption_closure_handles_cycles ... ok
[INFO] [stdout] test el::tests::test_intersection_loss_overlapping ... ok
[INFO] [stdout] test el::tests::prop_compose_roles_associative ... ok
[INFO] [stdout] test annular::proptests::prop_containment_in_unit_interval ... ok
[INFO] [stdout] test el_training::tests::subsumption_closure_transitive ... ok
[INFO] [stdout] test el_training::tests::trained_el_model_round_trip ... ok
[INFO] [stdout] test el_training::tests::subsumption_closure_empty_ontology ... ok
[INFO] [stdout] test cone_el::tests::prop_inclusion_loss_zero_when_same_axis_wider_parent ... ok
[INFO] [stdout] test el::tests::prop_inclusion_loss_nonneg ... ok
[INFO] [stdout] test el::tests::prop_inclusion_loss_decreases_with_margin ... ok
[INFO] [stdout] test el::tests::prop_inclusion_loss_zero_when_contained ... ok
[INFO] [stdout] test el::tests::prop_intersection_loss_nonneg ... ok
[INFO] [stdout] test cone_el::tests::prop_disjointness_loss_nonneg ... ok
[INFO] [stdout] test ellipsoid::tests::bhattacharyya_identical_is_zero ... ok
[INFO] [stdout] test ellipsoid::tests::bhattacharyya_symmetric ... ok
[INFO] [stdout] test ellipsoid::tests::containment_prob_identical_is_half ... ok
[INFO] [stdout] test cone_el::tests::prop_existential_aperture_nonneg ... ok
[INFO] [stdout] test el_training::tests::train_small_ontology_loss_decreases ... ok
[INFO] [stdout] test ellipsoid::tests::containment_prob_widely_different_is_low ... ok
[INFO] [stdout] test ellipsoid::tests::ellipsoid_new_diagonal ... ok
[INFO] [stdout] test el::tests::prop_existential_box_offset_nonneg ... ok
[INFO] [stdout] test ellipsoid::tests::ellipsoid_new_full ... ok
[INFO] [stdout] test ellipsoid::tests::ellipsoid_rejects_dim_mismatch ... ok
[INFO] [stdout] test ellipsoid::tests::ellipsoid_rejects_non_finite ... ok
[INFO] [stdout] test ellipsoid::tests::kl_different_center ... ok
[INFO] [stdout] test ellipsoid::tests::kl_asymmetric ... ok
[INFO] [stdout] test ellipsoid::tests::kl_identical_is_zero ... ok
[INFO] [stdout] test ellipsoid::tests::kl_dimension_mismatch ... ok
[INFO] [stdout] test ellipsoid::tests::kl_same_center_different_scale ... ok
[INFO] [stdout] test ellipsoid::tests::containment_prob_near_identical_is_half ... ok
[INFO] [stdout] test ellipsoid::tests::log_volume_scales ... ok
[INFO] [stdout] test ellipsoid::tests::sigmoid_large_negative ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_bhattacharyya_nonneg ... ok
[INFO] [stdout] test ellipsoid::tests::log_volume_diagonal ... ok
[INFO] [stdout] test el::tests::test_existential_box_offset_nonnegative ... ok
[INFO] [stdout] test cone_el::tests::prop_inclusion_loss_nonneg ... ok
[INFO] [stdout] test ellipsoid::tests::sigmoid_large_positive ... ok
[INFO] [stdout] test ellipsoid::tests::surface_distance_identical_is_zero ... ok
[INFO] [stdout] test fuzzy::tests::dual_roundtrip ... ok
[INFO] [stdout] test fuzzy::tests::fuzzy_negation_basic ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_surface_distance_nonneg ... ok
[INFO] [stdout] test fuzzy::tests::prop_double_negation ... ok
[INFO] [stdout] test fuzzy::tests::prop_de_morgan_lukasiewicz ... ok
[INFO] [stdout] test fuzzy::tests::prop_de_morgan_min ... ok
[INFO] [stdout] test fuzzy::tests::prop_de_morgan_product ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_annihilator ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_identity ... ok
[INFO] [stdout] test el_training::tests::train_subsumption_prediction ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_log_volume_finite ... ok
[INFO] [stdout] test fuzzy::tests::tconorm_lukasiewicz_basic ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_lukasiewicz_commutative ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_output_in_unit ... ok
[INFO] [stdout] test fuzzy::tests::tconorm_probabilistic_basic ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_min_commutative ... ok
[INFO] [stdout] test fuzzy::tests::tnorm_lukasiewicz_basic ... ok
[INFO] [stdout] test fuzzy::tests::tnorm_min_basic ... ok
[INFO] [stdout] test fuzzy::tests::tconorm_max_basic ... ok
[INFO] [stdout] test fuzzy::tests::tnorm_product_basic ... ok
[INFO] [stdout] test gaussian::tests::from_center_offset_nan_center_returns_err ... ok
[INFO] [stdout] test gaussian::tests::from_center_offset_nan_offset_returns_err ... ok
[INFO] [stdout] test gaussian::tests::nan_mu_returns_err ... ok
[INFO] [stdout] test gaussian::tests::nan_sigma_returns_err ... ok
[INFO] [stdout] test fuzzy::tests::prop_tconorm_output_in_unit ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_lukasiewicz_associative ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_product_commutative ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_product_associative ... ok
[INFO] [stdout] test fuzzy::tests::prop_tnorm_min_associative ... ok
[INFO] [stdout] test gaussian::tests::prop_bc_identical_is_one ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_bhattacharyya_symmetric ... ok
[INFO] [stdout] test gaussian::tests::prop_volume_regularization_nonneg ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_kl_nonneg_for_same_center ... ok
[INFO] [stdout] test gaussian::tests::test_bhattacharyya_coefficient_identical_distributions ... ok
[INFO] [stdout] test gaussian::tests::prop_from_center_offset_positive_sigma ... ok
[INFO] [stdout] test gaussian::tests::prop_kl_asymmetric ... ok
[INFO] [stdout] test gaussian::tests::prop_bc_in_unit_interval ... ok
[INFO] [stdout] test gaussian::tests::test_bhattacharyya_symmetric ... ok
[INFO] [stdout] test gaussian::tests::test_bhattacharyya_identical ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_self_kl_is_zero ... ok
[INFO] [stdout] test gaussian::tests::test_from_center_offset ... ok
[INFO] [stdout] test gaussian::tests::test_gaussian_new_dim_mismatch ... ok
[INFO] [stdout] test gaussian::tests::test_bhattacharyya_distant ... ok
[INFO] [stdout] test gaussian::tests::test_high_dim_1024 ... ok
[INFO] [stdout] test gaussian::tests::test_high_dim_256 ... ok
[INFO] [stdout] test gaussian::tests::prop_new_rejects_nonpositive_sigma ... ok
[INFO] [stdout] test gaussian::tests::test_kl_extreme_sigma_ratio ... ok
[INFO] [stdout] test gaussian::tests::test_kl_identical ... ok
[INFO] [stdout] test gaussian::tests::test_kl_divergence_formula_matches_standard ... ok
[INFO] [stdout] test gaussian::tests::test_kl_known_value ... ok
[INFO] [stdout] test gaussian::tests::test_kl_asymmetric ... ok
[INFO] [stdout] test gaussian::tests::test_gaussian_new_negative_sigma ... ok
[INFO] [stdout] test gaussian::tests::test_gaussian_new_valid ... ok
[INFO] [stdout] test gaussian::tests::test_sigma_ceiling_loss_below_threshold ... ok
[INFO] [stdout] test gaussian::tests::test_sigma_ceiling_loss_hand_computed ... ok
[INFO] [stdout] test gaussian::tests::test_single_dim ... ok
[INFO] [stdout] test gaussian::tests::test_large_mu_difference_bc_near_zero ... ok
[INFO] [stdout] test gaussian::tests::test_sigma_ceiling_loss_above_threshold ... ok
[INFO] [stdout] test gaussian::tests::test_very_large_sigma_stability ... ok
[INFO] [stdout] test gaussian::tests::test_very_small_sigma_stability ... ok
[INFO] [stdout] test gaussian::tests::prop_sigma_ceiling_nonneg ... ok
[INFO] [stdout] test gaussian::tests::test_softplus_floor_not_too_small ... ok
[INFO] [stdout] test gaussian::tests::test_volume_regularization_zero_above_threshold ... ok
[INFO] [stdout] test lattix_bridge::tests::test_extract_empty ... ok
[INFO] [stdout] test gaussian::tests::test_volume_regularization ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_boundary_distance_contained ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_query2box_dim_mismatch ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_boundary_distance_not_contained ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_query2box_outside ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_vector_to_box_distance_outside ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_vector_to_box_distance_inside ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_vector_to_box_distance_partial ... ok
[INFO] [stdout] test ndarray_backend::distance::tests::test_query2box_inside ... ok
[INFO] [stdout] test lattix_bridge::tests::test_extract_subsumption ... ok
[INFO] [stdout] test gaussian::tests::prop_bc_symmetric ... ok
[INFO] [stdout] test gaussian::tests::prop_bhattacharyya_distance_nonneg ... ok
[INFO] [stdout] test lattix_bridge::tests::test_kg_to_dataset ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_single_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_extreme_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_large_coords ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_near_zero_volume ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_high_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::degenerate_tests::degenerate_zero_and_partial_volume ... ok
[INFO] [stdout] test gaussian::tests::sigma_ceiling_is_linear_hinge ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_intersection_idempotent ... ok
[INFO] [stdout] test gaussian::tests::prop_kl_identical_is_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::center_is_midpoint ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_self_overlap ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_disjoint_is_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_high_dim_disjoint ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_high_dim_nested ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_full_containment_is_one ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_many_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_many_high_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_containment_transitivity ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_many_matches_individual ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_very_large_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_many_buffer_too_small ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_very_small_temperature ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_containment_in_unit_interval ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::containment_prob_zero_volume_child_is_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::dim_1_volume_containment_intersection_union ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::distance_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::distance_identical_boxes_is_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::distance_disjoint_boxes_is_positive ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::intersection_disjoint_boxes_has_zero_volume ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::intersection_disjoint_in_one_dimension ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::intersection_full_containment ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::intersection_partial_overlap ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::intersection_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::nan_max_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::nan_min_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::new_1d_box ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::new_dimension_mismatch_returns_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::new_invalid_bounds_returns_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::invalid_temperature_variant_and_display ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::overlap_prob_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::overlap_prob_disjoint_is_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::new_zero_width_box_is_valid ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::overlap_prob_high_dim_identical ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_containment_implies_overlap ... ok
[INFO] [stdout] test gaussian::tests::test_bhattacharyya_coefficient_range_invariant ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::overlap_prob_identical_boxes_is_one ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::overlap_prob_partial_overlap_in_unit_interval ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::serde_json_rejects_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::point_box_intersection_with_containing_box ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::serde_json_rejects_invalid_bounds ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_self_containment ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::point_box_containment_prob_returns_result ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::temperature_inf_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::temperature_nan_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::temperature_negative_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::temperature_zero_returns_err ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::truncation_beyond_dim_is_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::truncation_preserves_containment ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_union_idempotent ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::truncation_reduces_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::truncation_to_full_dim_is_identity ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::serde_json_rejects_missing_field ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::union_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::union_of_identical_boxes_equals_self ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::complement_aperture_is_pi_minus_original ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::volume_high_dim_uses_log_space ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_truncation_preserves_bounds ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::serde_json_round_trip ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::complement_axis_shifts_by_pi ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::distance_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::distance_finite_at_boundary_values ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::distance_self_is_small ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::double_complement_is_identity ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::distant_entity_has_high_distance ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::point_box_volume_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::union_volume_at_least_max_of_parts ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::intersection_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::intersection_of_identical_cones_preserves_apertures ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::intersection_takes_min_aperture ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::new_rejects_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::new_normalizes_axes_and_clamps_apertures ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::new_rejects_nan_axes ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::projection_adjusts_apertures ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::projection_clamps_apertures ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::new_rejects_nan_apertures ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::projection_wraps_axes ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::projection_rotates_axes ... ok
[INFO] [stdout] test ellipsoid::proptests::prop_surface_distance_symmetric ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_intersection_volume_le_min_input ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::serde_json_roundtrip ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::wider_cone_has_lower_distance_to_entity ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::works_in_high_dimensions ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::distance_overlapping_boxes_is_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::tests::high_dim_100_volume_containment_intersection ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_bessel_volume_bounded_by_hard_volume_at_low_t ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_complement_of_complement_is_identity ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_containment_distance_non_negative ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_complement_aperture_sum_is_pi ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_containment_is_reflexive ... ok
[INFO] [stdout] test el_training::tests::evaluate_subsumption_basic ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_wider_cone_contains_narrower ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_bessel_volume_non_negative ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::bessel_volume_approaches_hard_at_low_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::bessel_volume_positive_for_nonempty_box ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::bessel_volume_smaller_than_hard_at_high_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::containment_monotonicity_nested_gumbel_boxes ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::disjoint_boxes_have_near_zero_gumbel_containment ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::bessel_volume_monotone_in_side_length ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_dim_mismatch_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_distance_delegates ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_center_delegates ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_invalid_bounds_error ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_serde_round_trip ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_intersection_uses_lse ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_union_delegates ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_overlap_prob_reasonable ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::gumbel_box_truncate_delegates ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::low_temperature_sharpens_membership ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::lse_intersection_approaches_hard_at_low_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::lse_intersection_bounds_are_inside_parents ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_at_boundary_is_near_half_per_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::lse_intersection_symmetric ... ok
[INFO] [stdout] test gaussian::tests::prop_volume_regularization_is_per_dim_squared_hinge ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_prob_dimension_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_prob_far_outside_is_low ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_prob_inside_point_is_high ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_prob_always_in_unit_interval ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::sample_produces_finite_values ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_center_membership_gt_boundary ... ok
[INFO] [stdout] test gaussian::tests::prop_kl_nonnegative ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::temperature_accessor_returns_construction_value ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_gumbel_containment_approaches_hard_at_low_t ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::very_low_temperature_membership_approaches_hard ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::membership_decreases_moving_away_from_center ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_volume_non_negative_flat ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::compose_dim_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::containment_prob_wider_contains_narrower ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::compose_is_not_intersection ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::contains_rejects_outside_axis ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::contains_rejects_outside_diagonal ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::from_box_bounds_produces_vacuous_diag ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::from_box_bounds_rejects_nan_axis_max ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::from_box_bounds_rejects_nan_axis_min ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::intersection_dim_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_lse_intersection_symmetric ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::intersection_identical_octagons ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::intersection_tightens_bounds ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_axis_min_gt_max ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_volume_non_negative_any_temperature ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_dim_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_temperature_monotonicity_outside ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_invalid_diag_bounds ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_nan_axis_min ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_nan_diag_diff_max ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_nan_axis_max ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_wrong_diag_count ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_valid_2d ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::overlap_prob_identical_is_high ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::overlap_prob_disjoint_is_low ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::compose_concrete_example ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::tests::very_low_temperature_outside_membership_approaches_zero ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::new_rejects_nan_diag_sum_min ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_gumbel_containment_in_unit_interval ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::contains_center_point ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::containment_prob_identical_is_boundary ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::compose_identity_with_universal ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_projection_preserves_cone_structure ... ok
[INFO] [stdout] test ndarray_backend::ndarray_cone::tests::prop_per_dimension_independence ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_containment_implies_overlap ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::to_bounding_box_drops_diag ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::serde_json_roundtrip ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_composition_is_associative ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::volume_box_equivalent ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::volume_zero_width_dimension ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_intersection_idempotent ... ok
[INFO] [stdout] test optimizer::tests::amsgrad_large_dim ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_volume_nonnegative ... ok
[INFO] [stdout] test optimizer::tests::amsgrad_set_lr ... ok
[INFO] [stdout] test optimizer::tests::amsgrad_zero_dim ... ok
[INFO] [stdout] test optimizer::tests::amsgrad_default_hyperparams ... ok
[INFO] [stdout] test optimizer::tests::lr_always_positive ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_self_containment ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::contains_dim_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::volume_2d_octagon_smaller_than_box ... ok
[INFO] [stdout] test optimizer::tests::lr_cosine_midpoint_is_halfway ... ok
[INFO] [stdout] test optimizer::tests::lr_no_warmup ... ok
[INFO] [stdout] test optimizer::tests::lr_single_epoch ... ok
[INFO] [stdout] test optimizer::tests::lr_warmup_end_equals_base ... ok
[INFO] [stdout] test optimizer::tests::lr_monotone_increasing_in_warmup ... ok
[INFO] [stdout] test optimizer::tests::lr_warmup_equals_total ... ok
[INFO] [stdout] test optimizer::tests::lr_warmup_start_is_tenth_of_base ... ok
[INFO] [stdout] test optimizer::tests::lr_at_warmup_boundary_enters_cosine ... ok
[INFO] [stdout] test optimizer::tests::lr_cosine_end_is_tenth_of_base ... ok
[INFO] [stdout] test optimizer::tests::lr_monotone_decreasing_in_cosine_phase ... ok
[INFO] [stdout] test optimizer::tests::amsgrad_new_initializes_zeros ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_octagon_degrades_to_box ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_containment_in_unit_interval ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_area_fraction_in_unit_interval ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_lse_intersection_within_parents ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_center_is_unit_vector ... ok
[INFO] [stdout] test spherical_cap::tests::area_fraction_2d ... ok
[INFO] [stdout] test spherical_cap::tests::area_fraction_3d_hemisphere ... ok
[INFO] [stdout] test spherical_cap::tests::cap_from_log_tan_half ... ok
[INFO] [stdout] test ndarray_backend::ndarray_gumbel::proptest_tests::proptest_membership_in_unit_interval ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_relation_apply_preserves_dim ... ok
[INFO] [stdout] test spherical_cap::tests::cap_normalizes_center ... ok
[INFO] [stdout] test spherical_cap::tests::cap_rejects_too_large_radius ... ok
[INFO] [stdout] test spherical_cap::tests::cap_rejects_zero_radius ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::intersection_empty_returns_error ... ok
[INFO] [stdout] test spherical_cap::tests::containment_dimension_mismatch ... ok
[INFO] [stdout] test spherical_cap::tests::containment_disjoint_is_near_zero ... ok
[INFO] [stdout] test spherical_cap::tests::cap_rejects_zero_vector ... ok
[INFO] [stdout] test spherical_cap::tests::containment_identical_is_half ... ok
[INFO] [stdout] test spherical_cap::tests::embedding_model_construction ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_geodesic_in_range ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::volume_1d ... ok
[INFO] [stdout] test spherical_cap::tests::geodesic_identical_is_zero ... ok
[INFO] [stdout] test spherical_cap::tests::embedding_model_rejects_dim_mismatch ... ok
[INFO] [stdout] test spherical_cap::tests::geodesic_orthogonal_is_pi_half ... ok
[INFO] [stdout] test spherical_cap::tests::overlap_disjoint_is_zero ... ok
[INFO] [stdout] test spherical_cap::tests::overlap_symmetric ... ok
[INFO] [stdout] test spherical_cap::tests::geodesic_opposite_is_pi ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_composition_contains_relational_composition ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_overlap_symmetric ... ok
[INFO] [stdout] test spherical_cap::tests::overlap_identical_is_one ... ok
[INFO] [stdout] test spherical_cap::tests::relation_rotation ... ok
[INFO] [stdout] test spherical_cap::tests::containment_nested_is_near_one ... ok
[INFO] [stdout] test spherical_cap::tests::relation_rejects_zero_scale ... ok
[INFO] [stdout] test spherical_cap::tests::score_triple_perfect_match ... ok
[INFO] [stdout] test spherical_cap::tests::sigmoid_large_negative ... ok
[INFO] [stdout] test spherical_cap::tests::sigmoid_large_positive ... ok
[INFO] [stdout] test spherical_cap::tests::surface_distance_disjoint_is_positive ... ok
[INFO] [stdout] test spherical_cap::tests::surface_distance_identical_is_zero ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_surface_distance_nonneg ... ok
[INFO] [stdout] test spherical_cap::tests::surface_distance_overlapping_is_zero ... ok
[INFO] [stdout] test spherical_cap::tests::cap_rejects_non_finite ... ok
[INFO] [stdout] test spherical_cap::tests::relation_dimension_mismatch ... ok
[INFO] [stdout] test spherical_cap::tests::relation_identity_preserves_cap ... ok
[INFO] [stdout] test spherical_cap::tests::relation_scaling ... ok
[INFO] [stdout] test spherical_cap::tests::score_triple_mismatch ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_intersection_closure ... ok
[INFO] [stdout] test spherical_cap::tests::cap_new_valid ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_surface_distance_symmetric ... ok
[INFO] [stdout] test subspace::tests::containment_orthogonal_is_zero ... ok
[INFO] [stdout] test subspace::tests::containment_subspace_is_one ... ok
[INFO] [stdout] test subspace::tests::containment_dimension_mismatch ... ok
[INFO] [stdout] test subspace::tests::containment_identical_is_one ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_composition_closure ... ok
[INFO] [stdout] test subspace::tests::distance_identical_is_zero ... ok
[INFO] [stdout] test subspace::tests::embedding_model_rejects_dim_mismatch ... ok
[INFO] [stdout] test subspace::tests::intersection_of_orthogonal_is_trivial ... ok
[INFO] [stdout] test subspace::tests::intersection_of_nested_is_smaller ... ok
[INFO] [stdout] test subspace::tests::negation_identical_is_zero ... ok
[INFO] [stdout] test subspace::tests::negation_orthogonal_is_one ... ok
[INFO] [stdout] test subspace::tests::distance_orthogonal_is_one ... ok
[INFO] [stdout] test subspace::tests::subspace_new_1d ... ok
[INFO] [stdout] test subspace::tests::subspace_orthonormalizes ... ok
[INFO] [stdout] test subspace::tests::embedding_model_construction ... ok
[INFO] [stdout] test subspace::tests::subspace_rejects_dimension_mismatch ... ok
[INFO] [stdout] test subspace::tests::subspace_rejects_all_zero ... ok
[INFO] [stdout] test subspace::tests::subspace_rejects_non_finite ... ok
[INFO] [stdout] test subspace::tests::subspace_removes_dependent_vectors ... ok
[INFO] [stdout] test subspace::tests::test_orthogonal_complement ... ok
[INFO] [stdout] test subspace::tests::union_of_nested_is_larger ... ok
[INFO] [stdout] test subspace::tests::union_increases_rank ... ok
[INFO] [stdout] test subspace::tests::subspace_new_2d ... ok
[INFO] [stdout] test subspace::tests::log_volume_increases_with_rank ... ok
[INFO] [stdout] test subspace::proptests::prop_containment_in_unit_interval ... ok
[INFO] [stdout] test taxobell::tests::proptests::combined_loss_with_negative_uses_triplet ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_score_triple_nonneg ... ok
[INFO] [stdout] test ndarray_backend::ndarray_octagon::tests::prop_volume_less_than_bounding_box ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_large_for_non_contained ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_small_for_contained_child ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_triplet ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_triplet_vs_simple ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_with_diverge ... ok
[INFO] [stdout] test taxobell::tests::test_asymmetric_loss_with_diverge_active ... ok
[INFO] [stdout] test spherical_cap::proptests::prop_overlap_in_unit_interval ... ok
[INFO] [stdout] test taxobell::tests::test_combined_loss_empty_batch ... ok
[INFO] [stdout] test taxobell::tests::test_combined_loss_mini_taxonomy ... ok
[INFO] [stdout] test taxobell::tests::proptests::combined_loss_components_sum_correctly ... ok
[INFO] [stdout] test taxobell::tests::test_combined_loss_all_components ... ok
[INFO] [stdout] test taxobell::tests::proptests::asymmetric_loss_is_non_negative ... ok
[INFO] [stdout] test taxobell::tests::test_combined_loss_paper_weights ... ok
[INFO] [stdout] test taxobell::tests::test_default_config ... ok
[INFO] [stdout] test taxobell::tests::test_dimension_mismatch_propagates ... ok
[INFO] [stdout] test taxobell::tests::test_loss_decreases_when_child_moved_inside_parent ... ok
[INFO] [stdout] test taxobell::tests::test_loss_increases_when_child_moved_outside_parent ... ok
[INFO] [stdout] test taxobell::tests::test_symmetric_loss_bce_vs_triplet ... ok
[INFO] [stdout] test taxobell::tests::test_symmetric_loss_large_when_negative_closer ... ok
[INFO] [stdout] test taxobell::tests::test_symmetric_loss_small_when_positive_closer ... ok
[INFO] [stdout] test taxobell::tests::test_symmetric_loss_triplet_variant ... ok
[INFO] [stdout] test subspace::proptests::prop_distance_symmetric ... ok
[INFO] [stdout] test subspace::proptests::prop_distance_nonneg ... ok
[INFO] [stdout] test taxobell::tests::test_symmetric_loss_bce_properties ... ok
[INFO] [stdout] test taxonomy::tests::invalid_id_in_taxo_errors ... ok
[INFO] [stdout] test taxobell::tests::proptests::diverge_lambda_scales_loss ... ok
[INFO] [stdout] test taxobell::tests::proptests::symmetric_loss_is_non_negative ... ok
[INFO] [stdout] test taxonomy::tests::split_covers_all_edges ... ok
[INFO] [stdout] test taxonomy::tests::load_with_definitions ... ok
[INFO] [stdout] test taxonomy::tests::missing_terms_file_errors ... ok
[INFO] [stdout] test taxonomy::tests::test_load_rejects_malformed_terms ... ok
[INFO] [stdout] test taxonomy::tests::load_small_taxonomy ... ok
[INFO] [stdout] test taxonomy::tests::split_is_deterministic ... ok
[INFO] [stdout] test taxonomy::tests::test_to_triples_parent_child_direction ... ok
[INFO] [stdout] test trainable::tests::trainable_box_dimension_mismatch_returns_err ... ok
[INFO] [stdout] test trainable::tests::trainable_box_serde_roundtrip ... ok
[INFO] [stdout] test trainable::tests::trainable_box_to_ndarray_box_roundtrip ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_apertures_in_valid_range ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_deserialize_rejects_length_mismatch ... ok
[INFO] [stdout] test trainable::tests::dense_cone_distance_wide_contains_narrow ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_axes_in_valid_range ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_from_vector_roundtrip ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_serde_roundtrip ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_to_dense_cone ... ok
[INFO] [stdout] test taxonomy::tests::to_triples_produces_hypernym_relation ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_update_amsgrad_does_not_panic ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_to_ndarray_cone_roundtrip ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::score_disjoint_is_high ... ok
[INFO] [stdout] test trainable::tests::dense_cone_distance_far_entity_has_high_distance ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::gradient_check_against_finite_differences ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::score_identical_is_low ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::score_triple_identical_is_low ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::sigmoid_k_affects_containment_sharpness ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::multi_neg_updates_negative_entities ... ok
[INFO] [stdout] test subspace::proptests::prop_orthogonal_complement_rank ... ok
[INFO] [stdout] test trainable::tests::trainable_cone_dimension_mismatch_returns_err ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::score_triple_disjoint_is_high ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::annular_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::box_trainer::tests::compute_pair_loss_identical_boxes_positive_is_finite ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::loss_decreases_over_training ... ok
[INFO] [stdout] test trainer::box_trainer::tests::compute_pair_loss_negative_weight_scales_loss ... ok
[INFO] [stdout] test subspace::proptests::prop_basis_is_orthonormal ... ok
[INFO] [stdout] test trainer::box_trainer::tests::analytical_gradients_negative_pair_returns_zeros ... ok
[INFO] [stdout] test trainer::box_trainer::tests::analytical_gradients_positive_disjoint_pushes_centers ... ok
[INFO] [stdout] test trainer::box_trainer::tests::analytical_gradients_reduce_loss_on_positive_pair ... ok
[INFO] [stdout] test trainer::box_trainer::tests::analytical_gradient_finite_difference_sign_agreement ... ok
[INFO] [stdout] test taxonomy::tests::test_split_deterministic ... ok
[INFO] [stdout] test trainer::box_trainer::tests::ndarray_box_serde_roundtrip ... ok
[INFO] [stdout] test trainer::box_trainer::tests::self_adversarial_config_default_is_off ... ok
[INFO] [stdout] test trainer::box_trainer::tests::self_adversarial_serde_roundtrip ... ok
[INFO] [stdout] test trainer::box_trainer::tests::self_adversarial_softmax_weights_sum_to_n ... ok
[INFO] [stdout] test trainer::box_trainer::tests::self_adversarial_serde_missing_field_defaults_to_false ... ok
[INFO] [stdout] test trainer::box_trainer::tests::gradcheck_analytical_vs_finite_difference ... ok
[INFO] [stdout] test trainer::box_trainer::tests::compute_pair_loss_negative_penalizes_overlap_above_margin ... ok
[INFO] [stdout] test trainer::box_trainer::tests::trainable_box_serde_roundtrip ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::train_improves_eval_metrics ... ok
[INFO] [stdout] test trainer::box_trainer::tests::compute_pair_loss_positive_prefers_containment_over_disjoint ... ok
[INFO] [stdout] test trainer::cone_trainer::tests::cone_pair_loss_positive_prefers_containment ... ok
[INFO] [stdout] test trainer::cone_trainer::tests::cone_trainer_train_step_does_not_panic ... ok
[INFO] [stdout] test trainer::box_trainer::tests::training_config_default_values_are_sane ... ok
[INFO] [stdout] test trainer::box_trainer::tests::trainable_box_serde_roundtrip_via_tempfile ... ok
[INFO] [stdout] test trainer::cone_trainer::tests::cone_trainer_reduces_loss_over_steps ... ok
[INFO] [stdout] test taxobell::tests::proptests::symmetric_loss_zero_when_well_separated ... ok
[INFO] [stdout] test trainer::ball_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::score_containment_identical_is_low ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::score_containment_different_is_higher ... ok
[INFO] [stdout] test trainer::box_trainer::tests::train_step_self_adversarial_produces_different_loss ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_deterministic ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_empty_triples ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_filtered_excludes_known_tails ... ok
[INFO] [stdout] test taxobell::tests::proptests::all_loss_components_finite ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_interned_with_ndarray_boxes ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_interned_filtered_with_ndarray_boxes ... ok
[INFO] [stdout] test trainer::evaluation::tests::evaluate_link_prediction_with_ndarray_boxes ... ok
[INFO] [stdout] test trainer::evaluation::tests::filtered_triple_index_ids_known_tails ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_cardinalities_empty ... ok
[INFO] [stdout] test trainer::evaluation::tests::filtered_triple_index_membership ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_cardinalities_multiple_relations ... ok
[INFO] [stdout] test trainer::evaluation::tests::link_prediction_rank_linear_matches_deterministic_sort ... ok
[INFO] [stdout] test trainer::evaluation::tests::filtered_triple_index_ids_membership ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::relation_cardinality_head_corrupt_prob_zero_denom ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_entity_pools_deduplicates_and_sorts ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_cardinalities_symmetric ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::sample_excluding_all_valid_returns_some ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::sample_excluding_empty_returns_none ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_cardinalities_many_to_one ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::compute_relation_cardinalities_one_to_many ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::relation_entity_pools_multiple_relations ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::sample_excluding_skips_target_and_falls_back ... ok
[INFO] [stdout] test trainer::negative_sampling::tests::type_constrained_sampling_draws_from_pool ... ok
[INFO] [stdout] test subspace::proptests::prop_self_containment_is_one ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::score_triple_disjoint_is_high ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::score_triple_identical_is_low ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::score_containment_orthogonal_is_high ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::adam_state_moves_param ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::score_containment_identical_is_low ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::adam_state_persists ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test trainer::box_trainer::tests::prop_compute_pair_loss_finite ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::self_adversarial_empty_is_empty ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::self_adversarial_sums_to_one ... ok
[INFO] [stdout] test subspace::proptests::prop_negation_in_unit_interval ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::self_adversarial_uniform_for_equal_scores ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::score_contained_is_low ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::score_not_contained_is_high ... ok
[INFO] [stdout] test trainer::subspace_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::cone_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test transbox::tests::concept_bounds ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::trainer_init ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::train_epoch_runs ... ok
[INFO] [stdout] test trainer::box_trainer::tests::test_gradients_are_finite ... ok
[INFO] [stdout] test trainer::box_trainer::tests::test_loss_is_non_negative ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::self_adversarial_higher_score_gets_more_weight ... ok
[INFO] [stdout] test trainer::trainer_utils::tests::adam_state_step_increments ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::gradients_are_finite ... ok
[INFO] [stdout] test transbox::tests::concept_new_valid ... ok
[INFO] [stdout] test transbox::tests::concept_rejects_dim_mismatch ... ok
[INFO] [stdout] test transbox::tests::concept_rejects_negative_offset ... ok
[INFO] [stdout] test transbox::tests::concept_rejects_non_finite ... ok
[INFO] [stdout] test transbox::tests::existential_transbox_additive ... ok
[INFO] [stdout] test transbox::tests::inclusion_loss_contained_is_zero ... ok
[INFO] [stdout] test transbox::tests::inclusion_loss_dimension_mismatch ... ok
[INFO] [stdout] test transbox::tests::inclusion_loss_not_contained_is_positive ... ok
[INFO] [stdout] test transbox::tests::inclusion_loss_with_margin ... ok
[INFO] [stdout] test transbox::tests::intersection_of_identical ... ok
[INFO] [stdout] test subspace::proptests::prop_union_rank_at_least_max ... ok
[INFO] [stdout] test transbox::tests::intersection_of_overlapping ... ok
[INFO] [stdout] test transbox::tests::model_construction ... ok
[INFO] [stdout] test transbox::tests::model_rejects_dim_mismatch ... ok
[INFO] [stdout] test transbox::tests::role_apply_additive ... ok
[INFO] [stdout] test transbox::tests::role_apply_dimension_mismatch ... ok
[INFO] [stdout] test transbox::tests::role_compose ... ok
[INFO] [stdout] test transbox::tests::role_new_valid ... ok
[INFO] [stdout] test transbox::tests::score_triple_mismatch_is_positive ... ok
[INFO] [stdout] test transbox::tests::role_rejects_negative_offset ... ok
[INFO] [stdout] test transbox::tests::subsumption_loss_valid_is_zero ... ok
[INFO] [stdout] test transbox::tests::score_triple_perfect_match ... ok
[INFO] [stdout] test utils::tests::test_bessel_log_volume_basic ... ok
[INFO] [stdout] test transbox::tests::subsumption_loss_invalid_is_positive ... ok
[INFO] [stdout] test utils::tests::test_bessel_side_length_basic ... ok
[INFO] [stdout] test utils::tests::test_euler_gamma_value ... ok
[INFO] [stdout] test utils::tests::test_gumbel_lse_min_is_smooth_max ... ok
[INFO] [stdout] test utils::tests::test_gumbel_lse_identity ... ok
[INFO] [stdout] test utils::tests::test_gumbel_membership_prob ... ok
[INFO] [stdout] test utils::tests::test_log_space_volume ... ok
[INFO] [stdout] test utils::tests::test_softplus_basic ... ok
[INFO] [stdout] test utils::tests::test_softplus_with_beta ... ok
[INFO] [stdout] test utils::tests::test_stable_logsumexp ... ok
[INFO] [stdout] test utils::tests::test_stable_sigmoid ... ok
[INFO] [stdout] test utils::tests::test_clamp_temperature ... ok
[INFO] [stdout] test utils::tests::test_map_gumbel_to_bounds ... ok
[INFO] [stdout] test utils::tests::test_sample_gumbel ... ok
[INFO] [stdout] test utils::tests::test_gumbel_lse_max_is_smooth_min ... ok
[INFO] [stdout] test transbox::tests::intersection_disjoint_has_zero_offset ... ok
[INFO] [stdout] test utils::tests::proptests::prop_softplus_monotone ... ok
[INFO] [stdout] test utils::tests::proptests::prop_gumbel_membership_prob_bounds ... ok
[INFO] [stdout] test utils::tests::proptests::prop_logsumexp_ge_max ... ok
[INFO] [stdout] test trainer::ellipsoid_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::transbox_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::spherical_cap_trainer::tests::train_and_evaluate_synthetic ... ok
[INFO] [stdout] test trainer::box_trainer::tests::test_amsgrad_update_stays_valid ... ok
[INFO] [stdout] test ndarray_backend::ndarray_box::proptest_tests::proptest_volume_non_negative ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 722 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.69s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests subsume
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test src/box_trait.rs - box_trait::Box (line 84) ... ignored
[INFO] [stdout] test src/lib.rs - (line 111) ... ignored
[INFO] [stdout] test src/trainer/box_trainer.rs - trainer::box_trainer::BoxEmbeddingTrainer (line 385) ... ignored
[INFO] [stdout] test src/utils.rs - utils::log_space_volume (line 335) ... ignored
[INFO] [stdout] test src/lib.rs - lattix_bridge (line 466) - compile ... ok
[INFO] [stdout] test src/lib.rs - taxonomy (line 313) - compile ... ok
[INFO] [stdout] test src/utils.rs - utils::log_space_volume (line 378) ... ok
[INFO] [stdout] test src/lib.rs - el_dataset (line 320) - compile ... ok
[INFO] [stdout] test src/dataset.rs - dataset::DatasetExt::from_all_triples (line 24) ... ok
[INFO] [stdout] test src/lib.rs - fuzzy (line 322) ... ok
[INFO] [stdout] test src/ndarray_backend/distance.rs - ndarray_backend::distance::vector_to_box_distance (line 43) ... ok
[INFO] [stdout] test src/el_training.rs - el_training::Ontology::subsumption_closure (line 337) ... ok
[INFO] [stdout] test src/lib.rs - taxobell (line 321) ... ok
[INFO] [stdout] test src/distance.rs - distance::query2box_distance (line 58) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5920c2b30af216a46fd5c9cfd167fc304ddeb740cd5b75d26d0904c65af52bbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5920c2b30af216a46fd5c9cfd167fc304ddeb740cd5b75d26d0904c65af52bbd", kill_on_drop: false }`
[INFO] [stdout] 5920c2b30af216a46fd5c9cfd167fc304ddeb740cd5b75d26d0904c65af52bbd
