[INFO] cloning repository https://github.com/aipartnerup/apcore-toolkit-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aipartnerup/apcore-toolkit-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faipartnerup%2Fapcore-toolkit-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faipartnerup%2Fapcore-toolkit-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] efe5833228b1fdc84bfacb33bf7a92eef5d12af9 [INFO] testing aipartnerup/apcore-toolkit-rust against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faipartnerup%2Fapcore-toolkit-rust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/aipartnerup/apcore-toolkit-rust [INFO] finished tweaking git repo https://github.com/aipartnerup/apcore-toolkit-rust [INFO] tweaked toml for git repo https://github.com/aipartnerup/apcore-toolkit-rust written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/aipartnerup/apcore-toolkit-rust on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/aipartnerup/apcore-toolkit-rust 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 933e085676464d219864ec7152a3be3ca8318dd08d633783fd466a0bae8625ec [INFO] running `Command { std: "docker" "start" "-a" "933e085676464d219864ec7152a3be3ca8318dd08d633783fd466a0bae8625ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "933e085676464d219864ec7152a3be3ca8318dd08d633783fd466a0bae8625ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "933e085676464d219864ec7152a3be3ca8318dd08d633783fd466a0bae8625ec", kill_on_drop: false }` [INFO] [stdout] 933e085676464d219864ec7152a3be3ca8318dd08d633783fd466a0bae8625ec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] beb6c01e735971f10ffabf396347553a59e56706f0d7a5f03898874e9aa8c9af [INFO] running `Command { std: "docker" "start" "-a" "beb6c01e735971f10ffabf396347553a59e56706f0d7a5f03898874e9aa8c9af", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling openssl v0.10.77 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling borrow-or-share v0.2.4 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling rustls v0.23.38 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling fraction v0.15.3 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling openssl-sys v0.9.113 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling num-cmp v0.1.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling fancy-regex v0.14.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling ureq-proto v0.6.0 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling utf8-zero v0.8.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling fluent-uri v0.3.2 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling serde_yaml_ng v0.10.0 [INFO] [stderr] Compiling referencing v0.28.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling rustls-webpki v0.103.12 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling ureq v3.3.0 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling jsonschema v0.28.3 [INFO] [stderr] Compiling apcore v0.24.0 [INFO] [stderr] Compiling apcore-toolkit v0.8.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.44s [INFO] running `Command { std: "docker" "inspect" "beb6c01e735971f10ffabf396347553a59e56706f0d7a5f03898874e9aa8c9af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "beb6c01e735971f10ffabf396347553a59e56706f0d7a5f03898874e9aa8c9af", kill_on_drop: false }` [INFO] [stdout] beb6c01e735971f10ffabf396347553a59e56706f0d7a5f03898874e9aa8c9af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7288fa63af0b7b0e463f3a73a963c764009afd9e8fb4a140ccc0ef3e0311d3b5 [INFO] running `Command { std: "docker" "start" "-a" "7288fa63af0b7b0e463f3a73a963c764009afd9e8fb4a140ccc0ef3e0311d3b5", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling openssl v0.10.77 [INFO] [stderr] Compiling inotify v0.11.1 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling jsonschema v0.28.3 [INFO] [stderr] Compiling apcore v0.24.0 [INFO] [stderr] Compiling apcore-toolkit v0.8.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 35.25s [INFO] running `Command { std: "docker" "inspect" "7288fa63af0b7b0e463f3a73a963c764009afd9e8fb4a140ccc0ef3e0311d3b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7288fa63af0b7b0e463f3a73a963c764009afd9e8fb4a140ccc0ef3e0311d3b5", kill_on_drop: false }` [INFO] [stdout] 7288fa63af0b7b0e463f3a73a963c764009afd9e8fb4a140ccc0ef3e0311d3b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f55ee6837a595a109af2021a201ae035a03c2ed48a27e42b434ba4a52f97c558 [INFO] running `Command { std: "docker" "start" "-a" "f55ee6837a595a109af2021a201ae035a03c2ed48a27e42b434ba4a52f97c558", 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/apcore_toolkit-d607cd5c3780f28e) [INFO] [stdout] [INFO] [stdout] running 453 tests [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_accepts_https_scheme ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_batch_size_validation ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_accepts_http_scheme ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_new_defaults ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_new_with_overrides ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_rejects_missing_scheme ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_rejects_file_scheme ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_rejects_ftp_scheme ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_threshold_validation ... ok [INFO] [stdout] test ai_enhancer::tests::test_ai_enhancer_timeout_validation ... ok [INFO] [stdout] test ai_enhancer::tests::test_annotation_field_names_match_struct ... ok [INFO] [stdout] test ai_enhancer::tests::test_clamp_str_under_limit ... ok [INFO] [stdout] test ai_enhancer::tests::test_build_prompt_requests_documentation ... ok [INFO] [stdout] test ai_enhancer::tests::test_build_prompt_requests_input_schema ... ok [INFO] [stdout] test ai_enhancer::tests::test_build_prompt_contains_module_info ... ok [INFO] [stdout] test ai_enhancer::tests::test_is_enabled_variants ... ok [INFO] [stdout] test ai_enhancer::tests::test_clamp_str_unicode_boundary ... ok [INFO] [stdout] test ai_enhancer::tests::test_identify_gaps_complete_module ... ok [INFO] [stdout] test ai_enhancer::tests::test_identify_gaps_description_equals_module_id ... ok [INFO] [stdout] test ai_enhancer::tests::test_is_enabled_default ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_single_line_fence_does_not_panic ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_valid_json ... ok [INFO] [stdout] test ai_enhancer::tests::test_set_bool_annotation_unknown_field_rejected ... ok [INFO] [stdout] test ai_enhancer::tests::test_strip_ansi_mixed_content ... ok [INFO] [stdout] test ai_enhancer::tests::test_set_bool_annotation_preserves_other_fields ... ok [INFO] [stdout] test binding_loader::tests::test_annotations_wrong_type_treated_as_none ... ok [INFO] [stdout] test ai_enhancer::tests::test_build_prompt_requests_annotations ... ok [INFO] [stdout] test ai_enhancer::tests::test_identify_gaps_missing_fields ... ok [INFO] [stdout] test binding_loader::tests::test_display_null_dropped ... ok [INFO] [stdout] test binding_loader::tests::test_annotations_parsed ... ok [INFO] [stdout] test ai_enhancer::tests::test_set_bool_annotation_non_bool_field_rejected ... ok [INFO] [stdout] test ai_enhancer::tests::test_set_bool_annotation_readonly ... ok [INFO] [stdout] test ai_enhancer::tests::test_strip_ansi_no_sequences ... ok [INFO] [stdout] test ai_enhancer::tests::test_strip_ansi_removes_color_codes ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_strips_json_fence ... ok [INFO] [stdout] test ai_enhancer::tests::test_set_bool_annotation_destructive ... ok [INFO] [stdout] test binding_loader::tests::test_empty_string_module_id_rejected ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_backtick_only_line_treated_as_json ... ok [INFO] [stdout] test ai_enhancer::tests::test_clamp_str_over_limit_truncates ... ok [INFO] [stdout] test binding_loader::tests::test_entry_not_a_mapping ... ok [INFO] [stdout] test binding_loader::tests::test_examples_parsed ... ok [INFO] [stdout] test binding_loader::tests::test_load_single_file ... ok [INFO] [stdout] test binding_loader::tests::test_file_too_large_error_variant ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_with_fences ... ok [INFO] [stdout] test binding_loader::tests::test_load_directory_sorted ... ok [INFO] [stdout] test binding_loader::tests::test_loose_minimum_entry ... ok [INFO] [stdout] test binding_loader::tests::test_load_recursive_finds_nested_files ... ok [INFO] [stdout] test binding_loader::tests::test_display_wrong_type_dropped ... ok [INFO] [stdout] test binding_loader::tests::test_empty_file_skipped ... ok [INFO] [stdout] test binding_loader::tests::test_malformed_yaml ... ok [INFO] [stdout] test binding_loader::tests::test_metadata_filters_proto_pollution_keys ... ok [INFO] [stdout] test binding_loader::tests::test_missing_bindings_key ... ok [INFO] [stdout] test binding_loader::tests::test_missing_fields_error_message_is_readable ... ok [INFO] [stdout] test binding_loader::tests::test_missing_target_always_fails ... ok [INFO] [stdout] test binding_loader::tests::test_nonexistent_path ... ok [INFO] [stdout] test binding_loader::tests::test_recursive_load_surfaces_walkdir_errors ... ok [INFO] [stdout] test binding_loader::tests::test_strict_requires_input_schema ... ok [INFO] [stdout] test binding_loader::tests::test_display_preserved ... ok [INFO] [stdout] test ai_enhancer::tests::test_parse_response_invalid ... ok [INFO] [stdout] test binding_loader::tests::test_strict_accepts_when_schemas_present ... ok [INFO] [stdout] test binding_loader::tests::test_missing_module_id_always_fails ... ok [INFO] [stdout] test binding_loader::tests::test_top_level_not_mapping ... ok [INFO] [stdout] test binding_loader::tests::test_wrong_type_module_id_integer_rejected ... ok [INFO] [stdout] test binding_loader::tests::test_wrong_type_target_bool_rejected ... ok [INFO] [stdout] test display::resolver::tests::test_load_binding_files_directory ... ok [INFO] [stdout] test binding_loader::tests::test_strict_wrong_type_input_schema_rejected ... ok [INFO] [stdout] test display::resolver::tests::test_empty_modules_list ... ok [INFO] [stdout] test display::resolver::tests::test_load_binding_files_invalid_yaml ... ok [INFO] [stdout] test display::resolver::tests::test_load_binding_files_single_file ... ok [INFO] [stdout] test display::resolver::tests::test_load_binding_files_nonexistent_path ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_auto_sanitization_dots ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_exceeds_max_length ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_64_chars_exactly_ok ... ok [INFO] [stdout] test display::resolver::tests::test_documentation_fallback_to_binding ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_auto_sanitization_spaces ... ok [INFO] [stdout] test display::resolver::tests::test_cli_alias_explicit_invalid_falls_back ... ok [INFO] [stdout] test display::resolver::tests::test_binding_map_zero_matches_still_resolves ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_valid_stays_unchanged ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_leading_digit_prefix ... ok [INFO] [stdout] test display::resolver::tests::test_documentation_resolution ... ok [INFO] [stdout] test display::resolver::tests::test_cli_alias_non_explicit_not_validated ... ok [INFO] [stdout] test display::resolver::tests::test_documentation_fallback_to_scanner ... ok [INFO] [stdout] test display::resolver::tests::test_binding_data_takes_precedence_over_path ... ok [INFO] [stdout] test display::resolver::tests::test_load_binding_files_ignores_non_binding_entries ... ok [INFO] [stdout] test display::resolver::tests::test_mcp_alias_invalid_pattern ... ok [INFO] [stdout] test display::resolver::tests::test_multiple_modules ... ok [INFO] [stdout] test display::resolver::tests::test_new_creates_default_instance ... ok [INFO] [stdout] test display::resolver::tests::test_original_metadata_preserved ... ok [INFO] [stdout] test display::resolver::tests::test_resolve_passthrough_no_bindings ... ok [INFO] [stdout] test display::resolver::tests::test_resolution_chain_precedence ... ok [INFO] [stdout] test display::resolver::tests::test_parse_binding_data_bindings_list ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_field_only ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_neither_falls_through_to_module_id ... ok [INFO] [stdout] test display::resolver::tests::test_surface_fields_populated ... ok [INFO] [stdout] test display::resolver::tests::test_resolve_with_binding_data_bindings_list_format ... ok [INFO] [stdout] test display::resolver::tests::test_resolve_with_binding_data_map_format ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_empty_field_falls_through_to_metadata ... ok [INFO] [stdout] test formatting::markdown::tests::test_compact_repr_truncation ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_metadata_only ... ok [INFO] [stdout] test display::resolver::tests::test_tags_resolution_from_display ... ok [INFO] [stdout] test formatting::markdown::tests::test_format_scalar_bool ... ok [INFO] [stdout] test binding_loader::tests::test_round_trip_with_yaml_writer ... ok [INFO] [stdout] test display::resolver::tests::test_tags_fallback_to_scanner ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_fallback ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_none_field_falls_through_to_metadata ... ok [INFO] [stdout] test display::resolver::tests::test_parse_binding_data_map ... ok [INFO] [stdout] test display::resolver::tests::test_suggested_alias_field_precedence_over_metadata ... ok [INFO] [stdout] test formatting::markdown::tests::test_format_scalar_null ... ok [INFO] [stdout] test display::resolver::tests::test_tags_resolution_from_binding_entry ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_below_table_threshold ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_empty_dict ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_empty_list ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_nested_object ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_max_depth_1 ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_fields_filter ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_non_object ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_deeply_nested ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_basic ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_float_precision ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_exclude ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_none_renders_na ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_pipe_escaped ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_scalar_list ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_table_rendering ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_with_title ... ok [INFO] [stdout] test formatting::surface::tests::display_false_uses_raw ... ok [INFO] [stdout] test formatting::surface::tests::display_true_uses_overlay ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_annotations_fact_table ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_annotations_lowercase_bool ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_emits_sections ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_omits_behavior_when_all_defaults ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_examples_block ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_tags_section ... ok [INFO] [stdout] test formatting::surface::tests::module_skill_quotes_colon_in_description ... ok [INFO] [stdout] test formatting::surface::tests::module_json_passthrough ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_annotations_alphabetical ... ok [INFO] [stdout] test formatting::surface::tests::modules_json_returns_array_of_dicts ... ok [INFO] [stdout] test formatting::surface::tests::modules_group_by_tag ... ok [INFO] [stdout] test formatting::surface::tests::modules_ungrouped_concatenates ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_skips_default_values ... ok [INFO] [stdout] test formatting::surface::tests::module_skill_minimal_frontmatter ... ok [INFO] [stdout] test formatting::surface::tests::module_markdown_omits_behavior_when_annotations_none ... ok [INFO] [stdout] test formatting::surface::tests::modules_group_by_prefix ... ok [INFO] [stdout] test formatting::surface::tests::module_skill_body_matches_markdown ... ok [INFO] [stdout] test formatting::surface::tests::scanner_head_options_canonical_mapping ... ok [INFO] [stdout] test formatting::surface::tests::module_table_row_pipe_separated ... ok [INFO] [stdout] test formatting::surface::tests::modules_untagged_bucket ... ok [INFO] [stdout] test formatting::surface::tests::schema_non_object_returns_err ... ok [INFO] [stdout] test formatting::surface::tests::schema_prose_marks_required_and_optional ... ok [INFO] [stdout] test formatting::surface::tests::schema_table_emits_header_and_yes_no_required ... ok [INFO] [stdout] test formatting::surface::tests::test_format_schema_returns_err_for_non_object_schema ... ok [INFO] [stdout] test formatting::tabular::tests::empty_csv ... ok [INFO] [stdout] test formatting::tabular::tests::bom_option ... ok [INFO] [stdout] test formatting::surface::tests::test_group_by_preserves_insertion_order ... ok [INFO] [stdout] test formatting::tabular::tests::empty_jsonl ... ok [INFO] [stdout] test formatting::tabular::tests::heterogeneous_keys_csv ... ok [INFO] [stdout] test formatting::tabular::tests::jsonl_canonical_float ... ok [INFO] [stdout] test formatting::tabular::tests::jsonl_lf_no_trailing_blank ... ok [INFO] [stdout] test formatting::tabular::tests::nested_object_csv ... ok [INFO] [stdout] test formatting::tabular::tests::scalar_types_csv ... ok [INFO] [stdout] test formatting::surface::tests::schema_empty_prose_returns_empty ... ok [INFO] [stdout] test formatting::markdown::tests::test_to_markdown_deep_recursion_bounded ... ok [INFO] [stdout] test formatting::surface::tests::schema_json_passthrough ... ok [INFO] [stdout] test formatting::markdown::tests::test_max_depth_clamp_at_hard_cap ... ok [INFO] [stdout] test formatting::tabular::tests::rfc4180_escaping ... ok [INFO] [stdout] test formatting::tabular::tests::single_row_csv ... ok [INFO] [stdout] test formatting::surface::tests::schema_max_depth_collapses_nested ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_empty_path ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_param_only_path ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_colon_param ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_get_single ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_put_single ... ok [INFO] [stdout] test http_verb_map::tests::test_conformance_fixture ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_get_collection ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_patch_single ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_post_collection ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_nested_params_collection ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_delete_single ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_double_slashes ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_version_prefix ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_single_segment ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_delete ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_get_case_insensitive ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_empty_method ... ok [INFO] [stdout] test http_verb_map::tests::test_generate_alias_root_path ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_get_single ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_head ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_options ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_patch ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_post_no_params ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_post_with_params ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_put ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_unknown_method ... ok [INFO] [stdout] test http_verb_map::tests::test_scanner_verb_map_contains_standard_methods ... ok [INFO] [stdout] test http_verb_map::tests::test_scanner_verb_map_values_lowercase ... ok [INFO] [stdout] test http_verb_map::tests::test_resolve_http_verb_get_collection ... ok [INFO] [stdout] test http_verb_map::tests::test_extract_names_static_path_empty ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_brace_value ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_ignores_extra_keys ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_no_placeholders ... ok [INFO] [stdout] test http_verb_map::tests::test_extract_names_brace_single ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_colon_value ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_leaves_unknown_placeholder ... ok [INFO] [stdout] test http_verb_map::tests::test_extract_names_deduplicates ... ok [INFO] [stdout] test http_verb_map::tests::test_extract_names_mixed_multiple ... ok [INFO] [stdout] test http_verb_map::tests::test_extract_names_colon_single ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_16_levels_of_nesting ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_depth_limit ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_depth_limit_at_exactly_16 ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_nested_ref ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_no_mutation ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_if_then_else ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_in_allof ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_additional_properties ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_in_anyof ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_in_items ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_deduplicates_required ... ok [INFO] [stdout] test openapi::tests::test_deep_resolve_refs_not_keyword ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_empty_operation ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_json_preferred_over_vnd_api_json ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_json_with_charset_param ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_nested_ref_in_body ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_request_body ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_ref_in_param ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_parameters ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_vnd_api_json ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_200_preferred ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_200 ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_201 ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_203 ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_200_preferred_over_202 ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_204 ... ok [INFO] [stdout] test openapi::tests::test_extract_input_schema_with_ref ... ok [INFO] [stdout] test http_verb_map::tests::test_substitute_multiple_mixed_styles ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_202 ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_array_with_ref_items ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_allof ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_empty_responses ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_nested_ref ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_not_found ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_vnd_api_json_output ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_json_preferred_over_vnd_api_json_output ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_json_with_charset_param ... ok [INFO] [stdout] test openapi::tests::test_extract_output_schema_fallback ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_basic ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_non_hash ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_rfc6901_combined_escapes ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_rfc6901_slash_in_key ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_rfc6901_tilde_in_key ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_through_missing_path ... ok [INFO] [stdout] test openapi::tests::test_resolve_ref_to_non_dict ... ok [INFO] [stdout] test openapi::tests::test_resolve_schema_no_openapi_doc ... ok [INFO] [stdout] test output::errors::tests::test_write_error_fields ... ok [INFO] [stdout] test openapi::tests::test_resolve_schema_with_ref ... ok [INFO] [stdout] test output::errors::tests::test_write_error_debug_format ... ok [INFO] [stdout] test output::errors::tests::test_write_error_new_source_is_none ... ok [INFO] [stdout] test output::errors::tests::test_write_error_display ... ok [INFO] [stdout] test output::errors::tests::test_write_error_io_display ... ok [INFO] [stdout] test output::errors::tests::test_write_error_io_source_is_some ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_body_methods_set_contents ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_json_detail ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_json_error ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_json_error_message ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_json_message ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_json_priority ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_plain_text_truncated ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_path_params_none ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_get_http_fields_from_metadata ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_error_message_plain_text_short ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_get_http_fields_defaults ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_path_params ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_new_rejects_invalid_url ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_new_rejects_nan_timeout ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_safe_truncate_multibyte ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_new_rejects_negative_timeout ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_new_rejects_non_http_scheme ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_path_params_colon_style ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_extract_path_params_mixed_styles ... ok [INFO] [stdout] test output::registry_writer::tests::test_allowed_prefixes_rejects_non_matching_target ... ok [INFO] [stdout] test output::registry_writer::tests::test_allowed_prefixes_default_none_admits_everything ... ok [INFO] [stdout] test output::registry_writer::tests::test_custom_verifier_runs_even_when_verify_false ... ok [INFO] [stdout] test output::registry_writer::tests::test_custom_verifier_runs_unconditionally_and_merge_semantics ... ok [INFO] [stdout] test output::registry_writer::tests::test_streaming_annotation_no_factory_clears_streaming_and_warns ... ok [INFO] [stdout] test output::registry_writer::tests::test_non_streaming_module_unaffected_by_streaming_factory ... ok [INFO] [stdout] test output::registry_writer::tests::test_streaming_factory_registers_streaming_module ... ok [INFO] [stdout] test output::registry_writer::tests::test_target_allowed_boundary_aware ... ok [INFO] [stdout] test output::registry_writer::tests::test_write_dry_run ... ok [INFO] [stdout] test output::registry_writer::tests::test_write_empty_list ... ok [INFO] [stdout] test output::registry_writer::tests::test_write_registers_module ... ok [INFO] [stdout] test output::registry_writer::tests::test_write_multiple_modules ... ok [INFO] [stdout] test output::registry_writer::tests::test_write_with_verify ... ok [INFO] [stdout] test output::rust_writer::tests::test_rust_writer_empty_modules ... ok [INFO] [stdout] test output::rust_writer::tests::test_rust_writer_creates_nested_directory ... ok [INFO] [stdout] test output::rust_writer::tests::test_rust_writer_module_path_flat ... ok [INFO] [stdout] test output::rust_writer::tests::test_rust_writer_generates_file_with_module_id ... ok [INFO] [stdout] test output::rust_writer::tests::test_rust_writer_multiple_modules ... ok [INFO] [stdout] test output::tests::test_get_writer_canonical_formats_are_case_sensitive ... ok [INFO] [stdout] test output::tests::test_get_writer_case_insensitive_http_proxy ... ok [INFO] [stdout] test output::tests::test_get_writer_http_proxy_variants ... ok [INFO] [stdout] test output::tests::test_get_writer_registry ... ok [INFO] [stdout] test output::tests::test_get_writer_unknown ... ok [INFO] [stdout] test output::tests::test_get_writer_yaml ... ok [INFO] [stdout] test output::tests::test_output_format_serde_roundtrip ... ok [INFO] [stdout] test output::types::tests::test_verify_result_fail ... ok [INFO] [stdout] test output::types::tests::test_verify_result_ok ... ok [INFO] [stdout] test output::types::tests::test_verify_result_serde_roundtrip ... ok [INFO] [stdout] test output::types::tests::test_write_result_failed ... ok [INFO] [stdout] test output::types::tests::test_write_result_failed_no_path ... ok [INFO] [stdout] test output::types::tests::test_write_result_new ... ok [INFO] [stdout] test output::types::tests::test_write_result_serde_roundtrip ... ok [INFO] [stdout] test output::types::tests::test_write_result_with_path ... ok [INFO] [stdout] test output::verifiers::tests::test_json_verifier_empty_path_passes ... ok [INFO] [stdout] test output::verifiers::tests::test_json_verifier_invalid ... ok [INFO] [stdout] test output::verifiers::tests::test_json_verifier_nonexistent_file ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_validate_path_params_filled_static_path ... ok [INFO] [stdout] test output::verifiers::tests::test_json_verifier_valid ... ok [INFO] [stdout] test output::verifiers::tests::test_magic_bytes_verifier_empty_path_passes ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_validate_path_params_filled_no_placeholders ... ok [INFO] [stdout] test output::verifiers::tests::test_magic_bytes_verifier_file_too_short ... ok [INFO] [stdout] test output::verifiers::tests::test_magic_bytes_verifier_match ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_empty ... ok [INFO] [stdout] test output::verifiers::tests::test_magic_bytes_verifier_mismatch ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_first_failure_stops ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_all_pass ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_crash_caught ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_complex_valid ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_stops_on_failure ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_empty_file ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_nonexistent_file ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_invalid_rust ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_whitespace_only ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_valid_rust ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_empty_path_passes ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_invalid_yaml ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_integer_module_id ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_validate_path_params_filled_unfilled_placeholder ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_missing_bindings ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_missing_required_field ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_validate_path_params_filled_multiple_unfilled ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_nonexistent_file ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_multi_binding_all_valid ... ok [INFO] [stdout] test output::verifiers::tests::test_syntax_verifier_empty_path_passes ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_multi_binding_second_entry_missing_target ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_whitespace_only_module_id ... ok [INFO] [stdout] test output::verifiers::tests::test_yaml_verifier_valid ... ok [INFO] [stdout] test output::yaml_writer::tests::test_binding_contains_all_fields ... ok [INFO] [stdout] test output::yaml_writer::tests::test_display_emitted_when_set ... ok [INFO] [stdout] test output::yaml_writer::tests::test_custom_verifier_failure_produces_failed_result ... ok [INFO] [stdout] test output::yaml_writer::tests::test_creates_nested_output_dir ... ok [INFO] [stdout] test output::yaml_writer::tests::test_display_omitted_when_none ... ok [INFO] [stdout] test openapi::tests::test_resolve_schema_no_ref ... ok [INFO] [stdout] test output::yaml_writer::tests::test_filename_sanitization_dots ... ok [INFO] [stdout] test output::yaml_writer::tests::test_sanitize_filename_basic ... ok [INFO] [stdout] test output::yaml_writer::tests::test_sanitize_filename_path_traversal ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_root_path ... ok [INFO] [stdout] test output::yaml_writer::tests::test_sanitize_filename_special_chars ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_empty_brace ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_empty_string ... ok [INFO] [stdout] test output::yaml_writer::tests::test_refuses_to_overwrite_symlink_at_target_path ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_static_path ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_colon_style ... ok [INFO] [stdout] test output::yaml_writer::tests::test_write_dry_run ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_brace_style ... ok [INFO] [stdout] test output::yaml_writer::tests::test_write_empty_modules ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_empty_qualname ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_mixed_styles ... ok [INFO] [stdout] test http_verb_map::tests::test_has_path_params_multi_segment_static ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_module_path_dotdot_in_middle ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_module_path_with_null_byte ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_module_path_too_long ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_empty_module ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_invalid_qualname ... ok [INFO] [stdout] test resolve_target::tests::test_ident_re_not_recompiled_per_call ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_module_path_with_dotdot ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_node_prefix ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_python_style ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_qualname_with_spaces ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_simple ... ok [INFO] [stdout] test output::yaml_writer::tests::test_suggested_alias_absent_when_none ... ok [INFO] [stdout] test output::yaml_writer::tests::test_none_annotations_in_binding ... ok [INFO] [stdout] test resolve_target::tests::test_resolved_target_serde_roundtrip ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_rust_style ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_no_colon ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_typescript_style ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_empty_list ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_no_duplicates ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_no_collision_with_preexisting_suffixed_id ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_warnings_preserved ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_with_duplicates ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_original_unchanged ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_ids_mixed ... ok [INFO] [stdout] test output::yaml_writer::tests::test_write_creates_file ... ok [INFO] [stdout] test scanner::tests::test_deduplicate_warnings_first_no_warning ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_both ... ok [INFO] [stdout] test resolve_target::tests::test_resolve_target_underscore_qualname ... ok [INFO] [stdout] test output::yaml_writer::tests::test_suggested_alias_round_trip ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_include ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_exclude_matches_all ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_invalid_exclude_regex ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_invalid_include_regex ... ok [INFO] [stdout] test output::yaml_writer::tests::test_write_with_verify ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_no_filters ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_get ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_delete ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_include_matches_none ... ok [INFO] [stdout] test scanner::tests::test_filter_modules_exclude ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_head ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_head_case_insensitive ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_patch ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_post ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_options ... ok [INFO] [stdout] test output::yaml_writer::tests::test_filename_collision_produces_distinct_files ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_case_insensitive ... ok [INFO] [stdout] test scanner::tests::test_infer_annotations_put ... ok [INFO] [stdout] test output::yaml_writer::tests::test_overwrite_existing_file ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_does_not_mutate_original ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_ignores_unknown_params ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_adds_missing_descriptions ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_no_properties_returns_original ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_overwrites_when_flag_set ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_preserves_existing_descriptions ... ok [INFO] [stdout] test serializers::tests::test_annotations_to_dict_none ... ok [INFO] [stdout] test serializers::tests::test_annotations_to_dict_some ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_partial_match ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_all_keys ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_warnings_empty_default ... ok [INFO] [stdout] test serializers::tests::test_modules_to_dicts_empty ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_includes_suggested_alias ... ok [INFO] [stdout] test types::tests::test_default_version ... ok [INFO] [stdout] test types::tests::test_display_skipped_when_none ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_examples_empty_default ... ok [INFO] [stdout] test serializers::tests::test_modules_to_dicts ... ok [INFO] [stdout] test types::tests::test_display_serde_roundtrip ... ok [INFO] [stdout] test schema_utils::tests::test_enrich_empty_descriptions_returns_original ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_suggested_alias_null_when_absent ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_with_documentation ... ok [INFO] [stdout] test types::tests::test_display_defaults_to_none ... ok [INFO] [stdout] test serializers::tests::test_module_to_dict_with_annotations ... ok [INFO] [stdout] test types::tests::test_mutable_defaults_independent ... ok [INFO] [stdout] test types::tests::test_field_count ... ok [INFO] [stdout] test types::tests::test_scanned_module_serde_roundtrip ... ok [INFO] [stdout] test types::tests::test_scanned_module_new_defaults ... ok [INFO] [stdout] test output::yaml_writer::tests::test_write_multiple_modules ... ok [INFO] [stdout] test types::tests::test_scanned_module_with_annotations ... ok [INFO] [stdout] test types::tests::test_suggested_alias_independent_of_metadata ... ok [INFO] [stdout] test types::tests::test_suggested_alias_serde_roundtrip ... ok [INFO] [stdout] test types::tests::test_suggested_alias_set_via_field ... ok [INFO] [stdout] test types::tests::test_suggested_alias_skipped_when_none ... ok [INFO] [stdout] test types::tests::test_with_all_fields ... ok [INFO] [stdout] test types::tests::test_suggested_alias_defaults_to_none ... ok [INFO] [stdout] test output::verifiers::tests::test_run_verifier_chain_panic_caught ... ok [INFO] [stdout] test output::http_proxy_writer::tests::test_new_accepts_https_scheme ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 453 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/display_resolve_conformance.rs (/opt/rustwide/target/debug/deps/display_resolve_conformance-2c2a49d83b43f298) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test display_resolver_matches_shared_conformance_fixture ... ok [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] [stderr] Running tests/public_api_integration.rs (/opt/rustwide/target/debug/deps/public_api_integration-b996410edf8775d1) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test crate_exposes_version_constant ... ok [INFO] [stdout] test get_writer_returns_error_for_unknown_format ... ok [INFO] [stdout] test get_writer_returns_expected_variants_for_known_formats ... ok [INFO] [stdout] test get_writer_canonical_formats_reject_mixed_case ... ok [INFO] [stdout] test http_verb_helpers_are_reachable_from_crate_root ... ok [INFO] [stdout] test extract_path_param_names_round_trip_with_substitute ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/scanner_verb_map_conformance.rs (/opt/rustwide/target/debug/deps/scanner_verb_map_conformance-a50a066bad2557e0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test generate_suggested_alias_matches_shared_conformance_fixture ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/tabular_conformance.rs (/opt/rustwide/target/debug/deps/tabular_conformance-6768d125c0bc33c1) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test format_csv_matches_shared_conformance_fixture ... ok [INFO] [stdout] test format_jsonl_matches_shared_conformance_fixture ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests apcore_toolkit [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test src/ai_enhancer.rs - ai_enhancer::Enhancer (line 81) ... ignored [INFO] [stdout] test src/binding_loader.rs - binding_loader::BindingLoader (line 103) ... ignored [INFO] [stdout] test src/display/resolver.rs - display::resolver::DisplayResolver (line 35) ... ignored [INFO] [stdout] test src/output/registry_writer.rs - output::registry_writer::HandlerFactory (line 67) ... ignored [INFO] [stdout] test src/output/registry_writer.rs - output::registry_writer::RegistryWriter::with_streaming_handler_factory (line 211) ... ignored [INFO] [stdout] test src/scanner.rs - scanner::BaseScanner (line 29) ... ignored [INFO] [stdout] test src/scanner.rs - scanner::BaseScanner (line 41) ... ignored [INFO] [stdout] test src/scanner.rs - scanner::filter_modules (line 86) ... ignored [INFO] [stdout] test src/resolve_target.rs - resolve_target::ResolveTargetError (line 44) ... ok [INFO] [stdout] test src/http_verb_map.rs - http_verb_map::extract_path_param_names (line 140) ... ok [INFO] [stdout] test src/output/mod.rs - output::get_writer (line 65) ... ok [INFO] [stdout] test src/http_verb_map.rs - http_verb_map::extract_path_param_names (line 112) ... ok [INFO] [stdout] test src/http_verb_map.rs - http_verb_map::substitute_path_params (line 166) ... ok [INFO] [stdout] test src/http_verb_map.rs - http_verb_map::resolve_http_verb (line 78) ... ok [INFO] [stdout] test src/lib.rs - (line 28) ... ok [INFO] [stdout] test src/http_verb_map.rs - http_verb_map::has_path_params (line 53) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 12.20s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f55ee6837a595a109af2021a201ae035a03c2ed48a27e42b434ba4a52f97c558", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f55ee6837a595a109af2021a201ae035a03c2ed48a27e42b434ba4a52f97c558", kill_on_drop: false }` [INFO] [stdout] f55ee6837a595a109af2021a201ae035a03c2ed48a27e42b434ba4a52f97c558