[INFO] cloning repository https://github.com/jwilliamsresearch/spatial-narrative
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jwilliamsresearch/spatial-narrative" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjwilliamsresearch%2Fspatial-narrative", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjwilliamsresearch%2Fspatial-narrative'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 757c4f38bbc9383bf53f79818647eab806f86aec
[INFO] testing jwilliamsresearch/spatial-narrative against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjwilliamsresearch%2Fspatial-narrative" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jwilliamsresearch/spatial-narrative
[INFO] finished tweaking git repo https://github.com/jwilliamsresearch/spatial-narrative
[INFO] tweaked toml for git repo https://github.com/jwilliamsresearch/spatial-narrative written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jwilliamsresearch/spatial-narrative on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jwilliamsresearch/spatial-narrative 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.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rayon-cond v0.4.0
[INFO] [stderr]   Downloaded monostate v0.1.18
[INFO] [stderr]   Downloaded zmij v1.0.18
[INFO] [stderr]   Downloaded monostate-impl v0.1.18
[INFO] [stderr]   Downloaded unicode-normalization-alignments v0.1.12
[INFO] [stderr]   Downloaded float_next_after v1.0.0
[INFO] [stderr]   Downloaded macro_rules_attribute v0.2.2
[INFO] [stderr]   Downloaded socks v0.3.4
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]   Downloaded dary_heap v0.3.8
[INFO] [stderr]   Downloaded time-macros v0.2.26
[INFO] [stderr]   Downloaded libloading v0.9.0
[INFO] [stderr]   Downloaded clap v4.5.56
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.5
[INFO] [stderr]   Downloaded flate2 v1.1.8
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.37
[INFO] [stderr]   Downloaded hf-hub v0.4.3
[INFO] [stderr]   Downloaded gpx v0.10.0
[INFO] [stderr]   Downloaded clap_builder v4.5.56
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded esaxx-rs v0.1.10
[INFO] [stderr]   Downloaded time v0.3.46
[INFO] [stderr]   Downloaded bindgen v0.66.1
[INFO] [stderr]   Downloaded geo v0.28.0
[INFO] [stderr]   Downloaded ndarray v0.17.2
[INFO] [stderr]   Downloaded zerocopy v0.8.37
[INFO] [stderr]   Downloaded tokenizers v0.21.4
[INFO] [stderr]   Downloaded ort v2.0.0-rc.11
[INFO] [stderr]   Downloaded ort-sys v2.0.0-rc.11
[INFO] [stderr]   Downloaded proj v0.27.2
[INFO] [stderr]   Downloaded geo-types v0.7.18
[INFO] [stderr]   Downloaded rstar v0.12.2
[INFO] [stderr]   Downloaded robust v1.2.0
[INFO] [stderr]   Downloaded spade v2.15.0
[INFO] [stderr]   Downloaded spm_precompiled v0.1.4
[INFO] [stderr]   Downloaded earcutr v0.4.3
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] [stderr]   Downloaded proj-sys v0.23.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f262f039fe48eb243bfa26ccbb5a137b4fc64c2fd45d4c1af3e80b8b75f8a32
[INFO] running `Command { std: "docker" "start" "-a" "8f262f039fe48eb243bfa26ccbb5a137b4fc64c2fd45d4c1af3e80b8b75f8a32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f262f039fe48eb243bfa26ccbb5a137b4fc64c2fd45d4c1af3e80b8b75f8a32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f262f039fe48eb243bfa26ccbb5a137b4fc64c2fd45d4c1af3e80b8b75f8a32", kill_on_drop: false }`
[INFO] [stdout] 8f262f039fe48eb243bfa26ccbb5a137b4fc64c2fd45d4c1af3e80b8b75f8a32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 739bdcfece993ce8ce06663020d8914dabdbb64e9bca20c543e679035351b013
[INFO] running `Command { std: "docker" "start" "-a" "739bdcfece993ce8ce06663020d8914dabdbb64e9bca20c543e679035351b013", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling robust v1.2.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling float_next_after v1.0.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling geographiclib-rs v0.2.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rstar v0.12.2
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling spade v2.15.0
[INFO] [stderr]    Compiling earcutr v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling geo-types v0.7.18
[INFO] [stderr]    Compiling geo v0.28.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling spatial-narrative v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.15s
[INFO] running `Command { std: "docker" "inspect" "739bdcfece993ce8ce06663020d8914dabdbb64e9bca20c543e679035351b013", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "739bdcfece993ce8ce06663020d8914dabdbb64e9bca20c543e679035351b013", kill_on_drop: false }`
[INFO] [stdout] 739bdcfece993ce8ce06663020d8914dabdbb64e9bca20c543e679035351b013
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 58202ea1d432212dbf0ab2c410a547cd7e11e90cc1a5237357f50c5ffcc30e31
[INFO] running `Command { std: "docker" "start" "-a" "58202ea1d432212dbf0ab2c410a547cd7e11e90cc1a5237357f50c5ffcc30e31", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling clap_builder v4.5.56
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling clap v4.5.56
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.37
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling spatial-narrative v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "58202ea1d432212dbf0ab2c410a547cd7e11e90cc1a5237357f50c5ffcc30e31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58202ea1d432212dbf0ab2c410a547cd7e11e90cc1a5237357f50c5ffcc30e31", kill_on_drop: false }`
[INFO] [stdout] 58202ea1d432212dbf0ab2c410a547cd7e11e90cc1a5237357f50c5ffcc30e31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a7c47190b5927bb7444ee93d765696c8aa21a4cb87144d88713dabe8a926db74
[INFO] running `Command { std: "docker" "start" "-a" "a7c47190b5927bb7444ee93d765696c8aa21a4cb87144d88713dabe8a926db74", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spatial_narrative-c12eb7b9d1d26447)
[INFO] [stdout] 
[INFO] [stdout] running 156 tests
[INFO] [stdout] test analysis::clustering::tests::test_dbscan_with_noise ... ok
[INFO] [stdout] test analysis::comparison::tests::test_spatial_similarity_far_apart ... ok
[INFO] [stdout] test analysis::clustering::tests::test_dbscan_empty ... ok
[INFO] [stdout] test analysis::comparison::tests::test_common_locations ... ok
[INFO] [stdout] test analysis::comparison::tests::test_compare_narratives ... ok
[INFO] [stdout] test analysis::clustering::tests::test_dbscan_single_cluster ... ok
[INFO] [stdout] test analysis::clustering::tests::test_kmeans_basic ... ok
[INFO] [stdout] test analysis::comparison::tests::test_spatial_intersection ... ok
[INFO] [stdout] test analysis::comparison::tests::test_spatial_similarity_identical ... ok
[INFO] [stdout] test analysis::comparison::tests::test_thematic_similarity ... ok
[INFO] [stdout] test analysis::movement::tests::test_detect_stops ... ok
[INFO] [stdout] test analysis::comparison::tests::test_temporal_similarity_no_overlap ... ok
[INFO] [stdout] test analysis::comparison::tests::test_temporal_similarity_overlapping ... ok
[INFO] [stdout] test analysis::movement::tests::test_movement_analyzer ... ok
[INFO] [stdout] test analysis::movement::tests::test_trajectory_basic ... ok
[INFO] [stdout] test analysis::movement::tests::test_velocity_profile ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_spatial_metrics_empty ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_detect_bursts ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_detect_gaps ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_bearing ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_temporal_metrics_single ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_haversine_distance ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_density_map ... ok
[INFO] [stdout] test core::bounds::tests::test_geobounds_center ... ok
[INFO] [stdout] test core::bounds::tests::test_geobounds_from_locations ... ok
[INFO] [stdout] test core::bounds::tests::test_timerange_duration ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_spatial_metrics_single_event ... ok
[INFO] [stdout] test core::bounds::tests::test_timerange_month ... ok
[INFO] [stdout] test core::bounds::tests::test_timerange_year ... ok
[INFO] [stdout] test core::bounds::tests::test_timerange_overlaps ... ok
[INFO] [stdout] test core::event::tests::test_event_id_new ... ok
[INFO] [stdout] test core::event::tests::test_event_id_parse ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_temporal_metrics_empty ... ok
[INFO] [stdout] test core::event::tests::test_event_builder ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_event_rate ... ok
[INFO] [stdout] test core::location::tests::test_location_new ... ok
[INFO] [stdout] test core::event::tests::test_event_tags ... ok
[INFO] [stdout] test core::event::tests::test_event_try_build_missing_fields ... ok
[INFO] [stdout] test core::location::tests::test_location_builder ... ok
[INFO] [stdout] test core::location::tests::test_location_builder_missing_fields ... ok
[INFO] [stdout] test core::location::tests::test_location_serialization ... ok
[INFO] [stdout] test core::location::tests::test_location_validation ... ok
[INFO] [stdout] test core::event::tests::test_event_serialization ... ok
[INFO] [stdout] test core::location::tests::test_location_from_tuple ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_bounds ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_builder ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_events_chronological ... ok
[INFO] [stdout] test analysis::spatial_metrics::tests::test_spatial_metrics_multiple_events ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_filter_spatial ... ok
[INFO] [stdout] test core::location::tests::test_location_with_elevation ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_filter_temporal ... ok
[INFO] [stdout] test core::event::tests::test_event_metadata ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_time_range ... ok
[INFO] [stdout] test core::source::tests::test_source_article ... ok
[INFO] [stdout] test core::source::tests::test_source_builder ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_new ... ok
[INFO] [stdout] test core::source::tests::test_source_serialization ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_serialization ... ok
[INFO] [stdout] test core::source::tests::test_source_with_methods ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_format_with_precision ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_from_unix ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_duration ... ok
[INFO] [stdout] test core::bounds::tests::test_geobounds_intersects ... ok
[INFO] [stdout] test analysis::movement::tests::test_trajectory_simplify ... ok
[INFO] [stdout] test core::event::tests::test_event_new ... ok
[INFO] [stdout] test core::narrative::tests::test_narrative_add_events ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_now ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_ordering ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_parse_invalid ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_parse_date_only ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_parse_rfc3339 ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_parse_year ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_parse_year_month ... ok
[INFO] [stdout] test core::traits::tests::test_event_is_within_bounds ... ok
[INFO] [stdout] test core::timestamp::tests::test_timestamp_serialization ... ok
[INFO] [stdout] test core::traits::tests::test_event_spatial_entity ... ok
[INFO] [stdout] test core::traits::tests::test_event_spatiotemporal ... ok
[INFO] [stdout] test core::traits::tests::test_event_temporal_entity ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_add_event ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_connect ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_new ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_connect_temporal ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_haversine_distance ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_roots_leaves ... ok
[INFO] [stdout] test index::spatial::tests::test_spatial_index_insert ... ok
[INFO] [stdout] test index::spatial::tests::test_spatial_index_k_nearest ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_connect_thematic ... ok
[INFO] [stdout] test graph::narrative_graph::tests::test_graph_successors_predecessors ... ok
[INFO] [stdout] test index::spatiotemporal::tests::test_spatiotemporal_query ... ok
[INFO] [stdout] test index::spatial::tests::test_spatial_index_nearest ... ok
[INFO] [stdout] test index::spatiotemporal::tests::test_heatmap_generation ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_before_after ... ok
[INFO] [stdout] test index::spatial::tests::test_spatial_index_query_bbox ... ok
[INFO] [stdout] test index::spatial::tests::test_spatial_index_new ... ok
[INFO] [stdout] test index::spatiotemporal::tests::test_spatiotemporal_index_insert ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_chronological ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_first_last ... ok
[INFO] [stdout] test index::spatiotemporal::tests::test_spatiotemporal_index_new ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_insert ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_new ... ok
[INFO] [stdout] test index::temporal::tests::test_temporal_index_query_range ... ok
[INFO] [stdout] test io::csv_format::tests::test_csv_missing_required_column ... ok
[INFO] [stdout] test io::csv_format::tests::test_csv_import_basic ... ok
[INFO] [stdout] test io::geojson::tests::test_geojson_with_elevation ... ok
[INFO] [stdout] test io::json_format::tests::test_json_version_check ... ok
[INFO] [stdout] test io::csv_format::tests::test_csv_import_with_text ... ok
[INFO] [stdout] test io::json_format::tests::test_json_with_source ... ok
[INFO] [stdout] test io::csv_format::tests::test_csv_custom_delimiter ... ok
[INFO] [stdout] test io::csv_format::tests::test_csv_roundtrip ... ok
[INFO] [stdout] test io::json_format::tests::test_json_roundtrip ... ok
[INFO] [stdout] test io::geojson::tests::test_geojson_roundtrip ... ok
[INFO] [stdout] test io::geojson::tests::test_geojson_import_basic ... ok
[INFO] [stdout] test analysis::clustering::tests::test_cluster_of ... ok
[INFO] [stdout] test analysis::temporal_metrics::tests::test_temporal_metrics_multiple ... ok
[INFO] [stdout] test core::bounds::tests::test_geobounds_contains ... ok
[INFO] [stdout] test core::location::tests::test_location_to_geo_point ... ok
[INFO] [stdout] test parser::geoparser::tests::test_dms_to_decimal ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_gazetteer_major_cities ... ok
[INFO] [stdout] test parser::mention::tests::test_mention_creation ... ok
[INFO] [stdout] test parser::mention::tests::test_mention_with_location ... ok
[INFO] [stdout] test parser::geoparser::tests::test_geocode ... ok
[INFO] [stdout] test parser::mention::tests::test_pattern_defaults ... ok
[INFO] [stdout] test parser::geoparser::tests::test_decimal_degrees_extraction ... ok
[INFO] [stdout] test parser::geoparser::tests::test_invalid_coordinates_ignored ... ok
[INFO] [stdout] test parser::geoparser::tests::test_dms_extraction ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_multi_gazetteer ... ok
[INFO] [stdout] test parser::geoparser::tests::test_multiple_coordinates ... ok
[INFO] [stdout] test parser::geoparser::tests::test_degrees_with_symbols_extraction ... ok
[INFO] [stdout] test text::analyzer::tests::test_sentences ... ok
[INFO] [stdout] test text::analyzer::tests::test_tokenization ... ok
[INFO] [stdout] test text::analyzer::tests::test_tokenization_filtered ... ok
[INFO] [stdout] test text::entity::tests::test_entity_confidence_clamping ... ok
[INFO] [stdout] test text::entity::tests::test_entity_creation ... ok
[INFO] [stdout] test text::entity::tests::test_entity_type_display ... ok
[INFO] [stdout] test parser::mention::tests::test_pattern_coordinates_only ... ok
[INFO] [stdout] test text::keywords::tests::test_custom_stopwords ... ok
[INFO] [stdout] test text::keywords::tests::test_keyword_extraction ... ok
[INFO] [stdout] test text::entity::tests::test_entity_with_confidence ... ok
[INFO] [stdout] test text::keywords::tests::test_keyword_extraction_with_phrases ... ok
[INFO] [stdout] test text::keywords::tests::test_keyword_frequency ... ok
[INFO] [stdout] test text::keywords::tests::test_min_word_length ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_multi_gazetteer_fallback ... ok
[INFO] [stdout] test analysis::clustering::tests::test_kmeans_too_many_clusters ... ok
[INFO] [stdout] test text::keywords::tests::test_keyword_extraction_empty ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_builtin_gazetteer ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_gazetteer_aliases ... ok
[INFO] [stdout] test parser::geoparser::tests::test_coordinates_only_pattern ... ok
[INFO] [stdout] test parser::geoparser::tests::test_place_name_extraction ... ok
[INFO] [stdout] test parser::geoparser::tests::test_mixed_extraction ... ok
[INFO] [stdout] test text::analyzer::tests::test_entity_extraction_dates ... ok
[INFO] [stdout] test text::analyzer::tests::test_entity_extraction_organizations ... ok
[INFO] [stdout] test text::analyzer::tests::test_analyzer_add_location ... ok
[INFO] [stdout] test text::analyzer::tests::test_entity_extraction_locations ... ok
[INFO] [stdout] test text::analyzer::tests::test_entity_extraction_numerics ... ok
[INFO] [stdout] test parser::gazetteer::tests::test_geocode ... ok
[INFO] [stdout] test text::analyzer::tests::test_entity_extraction_persons ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 156 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spatial_narrative
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test src/analysis/temporal_metrics.rs - analysis::temporal_metrics::detect_gaps (line 245) ... ok
[INFO] [stdout] test src/analysis/spatial_metrics.rs - analysis::spatial_metrics::haversine_distance (line 222) ... ok
[INFO] [stdout] test src/analysis/clustering.rs - analysis::clustering::DBSCAN::new (line 83) ... ok
[INFO] [stdout] test src/analysis/mod.rs - analysis (line 19) ... ok
[INFO] [stdout] test src/core/bounds.rs - core::bounds::GeoBounds (line 15) ... ok
[INFO] [stdout] test src/analysis/mod.rs - analysis (line 34) ... ok
[INFO] [stdout] test src/analysis/temporal_metrics.rs - analysis::temporal_metrics::TemporalMetrics::from_events (line 49) ... ok
[INFO] [stdout] test src/analysis/spatial_metrics.rs - analysis::spatial_metrics::SpatialMetrics::from_events (line 51) ... ok
[INFO] [stdout] test src/analysis/clustering.rs - analysis::clustering::DBSCAN::cluster (line 96) ... ok
[INFO] [stdout] test src/core/bounds.rs - core::bounds::TimeRange (line 192) ... ok
[INFO] [stdout] test src/analysis/temporal_metrics.rs - analysis::temporal_metrics::event_rate (line 167) ... ok
[INFO] [stdout] test src/core/event.rs - core::event::Event (line 64) ... ok
[INFO] [stdout] test src/analysis/comparison.rs - analysis::comparison::compare_narratives (line 50) ... ok
[INFO] [stdout] test src/core/location.rs - core::location::Location::new (line 65) ... ok
[INFO] [stdout] test src/analysis/clustering.rs - analysis::clustering::KMeans::cluster (line 290) ... ok
[INFO] [stdout] test src/core/source.rs - core::source::SourceRef (line 54) ... ok
[INFO] [stdout] test src/core/location.rs - core::location::Location (line 13) ... ok
[INFO] [stdout] test src/analysis/movement.rs - analysis::movement::detect_stops (line 223) ... ok
[INFO] [stdout] test src/graph/mod.rs - graph (line 9) ... ok
[INFO] [stdout] test src/core/timestamp.rs - core::timestamp::Timestamp (line 40) ... ok
[INFO] [stdout] test src/parser/gazetteer.rs - parser::gazetteer (line 19) - compile ... ok
[INFO] [stdout] test src/graph/narrative_graph.rs - graph::narrative_graph::NarrativeGraph::to_dot (line 440) ... ok
[INFO] [stdout] test src/parser/mod.rs - parser (line 32) - compile ... ok
[INFO] [stdout] test src/core/narrative.rs - core::narrative::Narrative (line 96) ... ok
[INFO] [stdout] test src/io/geojson.rs - io::geojson::GeoJsonFormat (line 20) ... ok
[INFO] [stdout] test src/lib.rs - (line 19) - compile ... ok
[INFO] [stdout] test src/text/mod.rs - text (line 28) ... ignored
[INFO] [stdout] test src/parser/mod.rs - parser (line 53) - compile ... ok
[INFO] [stdout] test src/parser/mod.rs - parser (line 73) - compile ... ok
[INFO] [stdout] test src/parser/gazetteer.rs - parser::gazetteer::MultiGazetteer (line 413) - compile ... ok
[INFO] [stdout] test src/io/csv_format.rs - io::csv_format::CsvFormat (line 18) ... ok
[INFO] [stdout] test src/io/mod.rs - io (line 15) ... ok
[INFO] [stdout] test src/index/mod.rs - index (line 14) ... ok
[INFO] [stdout] test src/parser/gazetteer.rs - parser::gazetteer::Gazetteer (line 41) ... ok
[INFO] [stdout] test src/index/temporal.rs - index::temporal (line 11) ... ok
[INFO] [stdout] test src/index/spatiotemporal.rs - index::spatiotemporal (line 9) ... ok
[INFO] [stdout] test src/index/spatial.rs - index::spatial (line 11) ... ok
[INFO] [stdout] test src/text/mod.rs - text (line 68) ... ok
[INFO] [stdout] test src/text/mod.rs - text (line 55) ... ok
[INFO] [stdout] test src/text/keywords.rs - text::keywords::KeywordExtractor (line 36) ... ok
[INFO] [stdout] test src/parser/geoparser.rs - parser::geoparser::GeoParser (line 30) ... ok
[INFO] [stdout] test src/text/mod.rs - text (line 42) ... ok
[INFO] [stdout] test src/text/analyzer.rs - text::analyzer::TextAnalyzer (line 36) ... ok
[INFO] [stdout] test src/io/json_format.rs - io::json_format::JsonFormat (line 21) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 4.57s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a7c47190b5927bb7444ee93d765696c8aa21a4cb87144d88713dabe8a926db74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7c47190b5927bb7444ee93d765696c8aa21a4cb87144d88713dabe8a926db74", kill_on_drop: false }`
[INFO] [stdout] a7c47190b5927bb7444ee93d765696c8aa21a4cb87144d88713dabe8a926db74
