[INFO] cloning repository https://github.com/shadowjohn/ifc_to_3dtiles
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shadowjohn/ifc_to_3dtiles" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowjohn%2Fifc_to_3dtiles", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowjohn%2Fifc_to_3dtiles'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4990c7032141a160663c8ce470ffe382d1f6dad0
[INFO] testing shadowjohn/ifc_to_3dtiles against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowjohn%2Fifc_to_3dtiles" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shadowjohn/ifc_to_3dtiles
[INFO] finished tweaking git repo https://github.com/shadowjohn/ifc_to_3dtiles
[INFO] tweaked toml for git repo https://github.com/shadowjohn/ifc_to_3dtiles written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shadowjohn/ifc_to_3dtiles on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shadowjohn/ifc_to_3dtiles 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa
[INFO] running `Command { std: "docker" "start" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling jiff v0.2.24
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling proj4rs v0.1.10
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling ifc_to_3dtiles v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.67s
[INFO] running `Command { std: "docker" "inspect" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ifc_to_3dtiles v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.71s
[INFO] running `Command { std: "docker" "inspect" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ifc_to_3dtiles-5d91dba571c3fc11)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test rvt::tests::prepare_sidecars_removes_stale_result_before_launching_revit ... ok
[INFO] [stdout] test rvt::tests::bridge_assembly_error_explains_revit_install_dir_mixup ... ok
[INFO] [stdout] test rvt::tests::bridge_assembly_can_be_directory_containing_bridge_dll ... ok
[INFO] [stdout] test rvt::tests::revit_install_dir_argument_provides_revit_exe_hint ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ifc_to_3dtiles-bc8667a72b262f32)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::default_tile_budget_targets_small_b3dm_files ... ok
[INFO] [stderr]      Running tests/core.rs (/opt/rustwide/target/debug/deps/core-f05f437e888d04e6)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test circle_extrusion_segments_grow_with_radius_without_unbounded_tessellation ... ok
[INFO] [stdout] test b3dm_header_uses_padded_sections_and_batch_length ... ok
[INFO] [stdout] test epsg_3826_origin_converts_to_central_meridian ... ok
[INFO] [stdout] test common_source_epsg_codes_project_to_wgs84 ... ok
[INFO] [stdout] test face_based_surface_model_generates_triangles ... ok
[INFO] [stdout] test glb_bounds_are_extracted_from_position_accessors ... ok
[INFO] [stdout] test explicit_revit_exe_parses_supported_version_from_path ... ok
[INFO] [stdout] test glb_to_3dtiles_root_transform_is_enu_and_reports_viewer_z_up_content ... ok
[INFO] [stdout] test revit_bridge_ifc_export_is_wrapped_in_transaction ... ok
[INFO] [stdout] test projected_coordinate_detection_sees_absolute_ifc_vertices ... ok
[INFO] [stdout] test rvt_export_job_serializes_expected_paths_and_ifc_options ... ok
[INFO] [stdout] test shell_based_surface_model_generates_triangles ... ok
[INFO] [stdout] test step_index_handles_multiline_entities_and_wrapped_strings ... ok
[INFO] [stdout] test median_origin_ignores_far_away_feature_outliers ... ok
[INFO] [stdout] test style_table_resolves_ifc_styled_item_rgb ... ok
[INFO] [stdout] test surface_aware_smoothing_preserves_cap_side_hard_edges ... ok
[INFO] [stdout] test surface_aware_smoothing_blends_continuous_curved_faces ... ok
[INFO] [stdout] test glb_to_3dtiles_applies_node_transform_to_bounds ... ok
[INFO] [stdout] test revit_detection_finds_supported_install_roots ... ok
[INFO] [stdout] test missing_revit_message_points_to_official_downloads_and_manual_path ... ok
[INFO] [stdout] test glb_to_3dtiles_wraps_single_glb_at_wgs84_anchor ... ok
[INFO] [stdout] test smooth_normals_respect_angle_threshold ... ok
[INFO] [stdout] test ifc_info_subcommand_core_exports_html_and_csv_without_converting_tiles ... ok
[INFO] [stdout] test unsupported_source_epsg_lists_common_choices ... ok
[INFO] [stdout] test smooth_normals_average_same_batch_vertices_only ... ok
[INFO] [stdout] test glb_to_3dtiles_splits_primitives_by_target_size ... ok
[INFO] [stdout] test revit_detection_accepts_release_named_install_dirs ... ok
[INFO] [stdout] test glb_to_3dtiles_splits_oversized_indexed_primitives ... ok
[INFO] [stdout] test faceted_brep_cube_generates_twelve_triangles ... ok
[INFO] [stdout] test single_large_feature_is_split_across_multiple_b3dm_tiles ... ok
[INFO] [stdout] test unsupported_report_includes_skipped_empty_products ... ok
[INFO] [stdout] test revit_like_ifc_wall_converts_to_flat_and_smooth_glb_with_metadata ... ok
[INFO] [stdout] test swept_solid_circle_proxy_converts_to_glb_with_metadata ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/project_pipeline.rs (/opt/rustwide/target/debug/deps/project_pipeline-942b65ff4ffb2746)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test cad_conversion_report_entry_serializes_output_contract ... ok
[INFO] [stdout] test decide_source_status_quarantines_flat_2d_source ... ok
[INFO] [stdout] test cad_hierarchy_dump_preserves_dgn_metadata_buckets ... ok
[INFO] [stdout] test discover_sources_flags_repeated_cad_like_extensions ... ok
[INFO] [stdout] test dxf_wkt_scanner_parses_polyhedral_surface_z ... ok
[INFO] [stdout] test discover_sources_preserves_human_readable_identity ... ok
[INFO] [stdout] test discover_sources_skips_unknown_files_and_keeps_large_cad_out_of_git ... ok
[INFO] [stdout] test decide_source_status_approves_inside_aoi_3d_source ... ok
[INFO] [stdout] test inspect_review_explains_quarantine_without_calling_it_2d_when_z_range_is_real ... ok
[INFO] [stdout] test inspect_review_scores_probable_duplicate_dwg_sources ... ok
[INFO] [stdout] test discover_sources_generates_unique_ids_for_non_ascii_names ... ok
[INFO] [stdout] test ogrinfo_entity_parser_extracts_feature_metadata_and_bbox ... ok
[INFO] [stdout] test inspect_review_html_contains_source_status_bbox_warnings_and_duplicate_score ... ok
[INFO] [stdout] test phase1e_duplicate_compare_recommends_larger_source_over_duplicate ... ok
[INFO] [stdout] test phase1e_approval_classifier_splits_approved_rejected_and_needs_review_sources ... ok
[INFO] [stdout] test phase1e_html_section_contains_duplicate_outlier_and_manifest_summary ... ok
[INFO] [stdout] test normalized_cad_inspect_report_entry_serializes_bbox_contract ... ok
[INFO] [stdout] test inspect_writes_empty_cad_metadata_sidecars_for_dgn_and_dwg ... ok
[INFO] [stdout] test phase1f_normalized_manifest_preserves_source_id_and_traceability_without_copying_cad ... ok
[INFO] [stdout] test phase1f_publish_viewer_adds_emap5_wmts_context_layer ... ok
[INFO] [stdout] test phase1f_debug_overlay_keeps_rejected_and_needs_review_metadata_out_of_publish ... ok
[INFO] [stdout] test inspect_removes_stale_cad_metadata_sidecars_before_writing ... ok
[INFO] [stdout] test phase1f_publish_skeleton_only_publishes_approved_sources ... ok
[INFO] [stdout] test geometry_fingerprint_detects_probable_duplicate_sources ... ok
[INFO] [stdout] test dxf_entity_fingerprint_is_stable_for_same_stats ... ok
[INFO] [stdout] test phase1e_outlier_detector_finds_far_entity_largest_bbox_and_z_range ... ok
[INFO] [stdout] test phase1gc_runtime_budget_report_records_spatial_pick_index_status ... ok
[INFO] [stdout] test phase1f_publish_viewer_disables_default_network_imagery ... ok
[INFO] [stdout] test phase1gc_spatial_pick_index_skips_missing_bbox_and_records_warning ... ok
[INFO] [stdout] test phase1g_spatial_qa_manifest_keeps_runtime_gate_and_debug_layers_separate ... ok
[INFO] [stdout] test phase1g_spatial_qa_manifest_includes_aoi_duplicate_and_outlier_locations ... ok
[INFO] [stdout] test entity_stats_use_percentile_bbox_for_scale_and_ignore_outlier ... ok
[INFO] [stdout] test phase1g_review_report_links_spatial_qa_manifest ... ok
[INFO] [stdout] test phase1ge_js_pick_accuracy_test_script_exists ... ok
[INFO] [stdout] test phase1f_publish_viewer_html_has_three_bbox_toggles_and_metadata_fields ... ok
[INFO] [stdout] test phase1gd_publish_viewer_loads_spatial_pick_index_and_has_hybrid_pick_hooks ... ok
[INFO] [stdout] test phase1gc_spatial_pick_index_serializes_runtime_only_schema_with_local_bbox ... ok
[INFO] [stdout] test phase1f_publish_viewer_uses_embedded_manifests_for_file_mode ... ok
[INFO] [stdout] test phase1gd_publish_viewer_keeps_cesium_pick_first_priority ... ok
[INFO] [stdout] test phase1gc_spatial_pick_index_feature_count_matches_runtime_metadata_count ... ok
[INFO] [stdout] test cad_probe_summary_marks_old_and_preferred_oda_converter ... ok
[INFO] [stdout] test phase1gf_js_pick_accuracy_tests_cover_ray_bbox_cases ... ok
[INFO] [stdout] test phase1g_publish_viewer_has_spatial_qa_interaction_hooks ... ok
[INFO] [stdout] test phase1ge_publish_viewer_has_pick_accuracy_debug_controls ... ok
[INFO] [stdout] test phase1gf_publish_viewer_has_ray_bbox_pick_hooks_and_debug_fields ... ok
[INFO] [stdout] test phase1gg_js_pick_accuracy_tests_cover_visual_explainability ... ok
[INFO] [stdout] test phase1gg_publish_viewer_has_visual_explainability_controls_and_states ... ok
[INFO] [stdout] test phase1gh_js_pick_accuracy_tests_cover_spatial_grid_index ... ok
[INFO] [stdout] test phase1gh_publish_viewer_has_spatial_grid_index_controls_and_debug_fields ... ok
[INFO] [stdout] test phase1gi_js_pick_accuracy_tests_cover_runtime_qa_report ... ok
[INFO] [stdout] test phase1gi_verify_script_generates_runtime_qa_report_and_summary ... ok
[INFO] [stdout] test phase1h_entity_bbox_proxy_builds_non_empty_glb_with_batch_ids_and_pick_index ... ok
[INFO] [stdout] test phase1h_runtime_budget_counts_geometry_file_and_metadata_size ... ok
[INFO] [stdout] test phase1h_runtime_manifest_is_approved_only_and_declares_minimal_metadata_fields ... ok
[INFO] [stdout] test phase1h_runtime_metadata_allows_only_minimal_fields_and_rejects_forbidden_payloads ... ok
[INFO] [stdout] test phase1h_publish_viewer_has_review_navigation_and_drilldown_helpers ... ok
[INFO] [stdout] test phase1j_js_pick_accuracy_tests_cover_source_decision_export ... ok
[INFO] [stdout] test phase1j_verify_script_reports_source_decision_counts ... ok
[INFO] [stdout] test phase1k_cli_and_script_expose_geometry_preview_publish ... ok
[INFO] [stdout] test phase1h_spatial_qa_manifest_adds_aoi_gap_and_bbox_inflation_metrics ... ok
[INFO] [stdout] test phase1j_publish_viewer_has_source_qa_decision_workflow ... ok
[INFO] [stdout] test phase1h_publish_viewer_has_runtime_geometry_toggle_and_pick_handlers ... ok
[INFO] [stdout] test phase1k_fix_diagnostic_report_classifies_line_bbox_and_bbox_mismatch ... ok
[INFO] [stdout] test phase1k_fix_diagnostic_report_serializes_required_fields ... ok
[INFO] [stdout] test phase1k_fix_script_mentions_diagnostic_report ... ok
[INFO] [stdout] test phase1k_fix_publish_viewer_has_bad_geometry_triage_toggles ... ok
[INFO] [stdout] test phase1k_geometry_preview_tileset_references_tile_glb ... ok
[INFO] [stdout] test phase1k_preview_mesh_builds_line_and_surface_geometry ... ok
[INFO] [stdout] test phase1k_publish_viewer_has_minimal_geometry_preview_toggle ... ok
[INFO] [stdout] test phase1l_geometry_diagnostic_report_includes_extended_metrics ... ok
[INFO] [stdout] test phase1l_geometry_diagnostic_report_is_written_at_publish_root ... ok
[INFO] [stdout] test phase1l_publish_viewer_has_geometry_diagnostic_filters_and_compare_overlay ... ok
[INFO] [stdout] test phase1l_verify_script_reports_geometry_diagnostic_counts ... ok
[INFO] [stdout] test phase1m_transform_diff_report_classifies_tiny_bbox_and_far_away ... ok
[INFO] [stdout] test phase1m_writer_and_verify_script_report_transform_diff_summary ... ok
[INFO] [stdout] test phase1m_transform_diff_report_serializes_required_fields ... ok
[INFO] [stdout] test phase1n_diagnostics_ignore_intentional_debug_inflation_as_transform_mismatch ... ok
[INFO] [stdout] test phase1n_preview_cleanup_skips_tiny_noise_and_keeps_debug_markers ... ok
[INFO] [stdout] test phase1n_reports_expose_cleanup_counts ... ok
[INFO] [stdout] test phase2a_preview_mesh_uses_category_specific_colors ... ok
[INFO] [stdout] test phase2a_screenshot_baseline_scripts_exist_and_write_expected_artifacts ... ok
[INFO] [stdout] test phase2a_preview_report_counts_visual_categories_and_quality_settings ... ok
[INFO] [stdout] test phase2a_publish_viewer_has_visual_quality_controls_and_stats ... ok
[INFO] [stdout] test phase2b_publish_report_exposes_semantic_coverage_and_confidence_histogram ... ok
[INFO] [stdout] test phase2b_publish_viewer_has_semantic_legend_filter_and_suggested_default ... ok
[INFO] [stdout] test phase2b_semantic_rules_are_configurable_not_project_hardcoded ... ok
[INFO] [stdout] test scale_classifier_accepts_taiwan_epsg_3826_meter_bounds ... ok
[INFO] [stdout] test scale_classifier_detects_centimeter_like_coordinates ... ok
[INFO] [stdout] test phase2b_semantic_classification_uses_strict_and_suggested_tracks ... ok
[INFO] [stdout] test read_cad_probe_summary_loads_probe_report_from_disk ... ok
[INFO] [stdout] test scale_classifier_detects_millimeter_like_coordinates ... ok
[INFO] [stdout] test scale_classifier_quarantines_far_away_model ... ok
[INFO] [stdout] test scale_classifier_uses_percentile_bounds_when_raw_bbox_has_stray_points ... ok
[INFO] [stdout] test project_manifest_serializes_to_stable_json ... ok
[INFO] [stdout] test source_format_detects_supported_extensions ... ok
[INFO] [stdout] test source_record_preserves_source_identity ... ok
[INFO] [stdout] test source_transform_declares_canonical_space ... ok
[INFO] [stdout] test inspect_review_can_build_report_from_sqlite_and_manifest ... ok
[INFO] [stdout] test entity_inspect_sqlite_schema_accepts_sources_entities_and_stats ... ok
[INFO] [stdout] test workspace_layout_uses_predictable_folders ... FAILED
[INFO] [stdout] test phase2b_guardrail_blocks_project_terms_in_production_rust ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- workspace_layout_uses_predictable_folders stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'workspace_layout_uses_predictable_folders' (933) panicked at tests/project_pipeline.rs:57:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "C:\\work\\tamkang_bridge/sources"
[INFO] [stdout]  right: "C:\\work\\tamkang_bridge\\sources"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e22e283db01 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e22e283db01 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e22e283db01 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e22e283db01 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e22e2855afa - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e22e2855afa - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5e22e28427ac - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5e22e28427ac - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5e22e2819556 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e22e2819556 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e22e2834a59 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e22e21e2f30 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5e22e21e2f30 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e22e2834c12 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5e22e2834c12 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5e22e2819602 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5e22e2810679 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e22e281a30d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5e22e285637c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e22e2856233 - core[6883ba1bc0fe4ed1]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5e22e218773d - core[6883ba1bc0fe4ed1]::panicking::assert_failed::<std[73adb7dc35730857]::path::PathBuf, std[73adb7dc35730857]::path::PathBuf>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5e22e210e1ad - project_pipeline[6f26e864851f8184]::workspace_layout_uses_predictable_folders
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/project_pipeline.rs:57:5
[INFO] [stdout]   22:     0x5e22e2105ed7 - project_pipeline[6f26e864851f8184]::workspace_layout_uses_predictable_folders::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/project_pipeline.rs:54:47
[INFO] [stdout]   23:     0x5e22e218dd36 - <project_pipeline[6f26e864851f8184]::workspace_layout_uses_predictable_folders::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e22e21d626b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e22e21d626b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5e22e21e38b5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5e22e21e38b5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5e22e21e38b5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5e22e21e38b5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e22e21e38b5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e22e21e38b5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5e22e21e38b5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5e22e21de364 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5e22e21de364 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e22e21e6a02 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5e22e21e6a02 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5e22e21e6a02 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5e22e21e6a02 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e22e21e6a02 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e22e21e6a02 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5e22e21e6a02 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e22e283caef - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x5e22e283caef - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x79de424f7aa4 - <unknown>
[INFO] [stdout]   45:     0x79de42584a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     workspace_layout_uses_predictable_folders
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 100 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test project_pipeline`
[INFO] running `Command { std: "docker" "inspect" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa", kill_on_drop: false }`
[INFO] [stdout] 411f8b246a4c0e8e4f55fe1f3a92315f0786e18dc8a873fda6c0e5cfa538bdfa
