[INFO] fetching crate vellaveto-audit 6.1.1...
[INFO] testing vellaveto-audit-6.1.1 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate vellaveto-audit 6.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate vellaveto-audit 6.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate vellaveto-audit 6.1.1
[INFO] tweaked toml for crates.io crate vellaveto-audit 6.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vellaveto-audit 6.1.1 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vellaveto-audit 6.1.1 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48118bcce901af17b6fed2af4407ee593ec365954d69c92d5e5946c996b6de4a
[INFO] running `Command { std: "docker" "start" "-a" "48118bcce901af17b6fed2af4407ee593ec365954d69c92d5e5946c996b6de4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48118bcce901af17b6fed2af4407ee593ec365954d69c92d5e5946c996b6de4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48118bcce901af17b6fed2af4407ee593ec365954d69c92d5e5946c996b6de4a", kill_on_drop: false }`
[INFO] [stdout] 48118bcce901af17b6fed2af4407ee593ec365954d69c92d5e5946c996b6de4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46687b97f314b9f54c1c50226fe8f65f0350422b01cfd5061000aac42a0c5716
[INFO] running `Command { std: "docker" "start" "-a" "46687b97f314b9f54c1c50226fe8f65f0350422b01cfd5061000aac42a0c5716", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling ryu-js v1.0.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json_canonicalizer v0.3.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling vellaveto-types v6.1.1
[INFO] [stderr]    Compiling vellaveto-audit v6.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "46687b97f314b9f54c1c50226fe8f65f0350422b01cfd5061000aac42a0c5716", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46687b97f314b9f54c1c50226fe8f65f0350422b01cfd5061000aac42a0c5716", kill_on_drop: false }`
[INFO] [stdout] 46687b97f314b9f54c1c50226fe8f65f0350422b01cfd5061000aac42a0c5716
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5cb169eea86a7e212ea062b4cda43c8eee52f86cc6a3c40003e39eaf370da972
[INFO] running `Command { std: "docker" "start" "-a" "5cb169eea86a7e212ea062b4cda43c8eee52f86cc6a3c40003e39eaf370da972", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling serde_json_canonicalizer v0.3.2
[INFO] [stderr]    Compiling vellaveto-types v6.1.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling vellaveto-audit v6.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "5cb169eea86a7e212ea062b4cda43c8eee52f86cc6a3c40003e39eaf370da972", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cb169eea86a7e212ea062b4cda43c8eee52f86cc6a3c40003e39eaf370da972", kill_on_drop: false }`
[INFO] [stdout] 5cb169eea86a7e212ea062b4cda43c8eee52f86cc6a3c40003e39eaf370da972
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ff3dfba4e0a488e2dd265933d86a263f29f7bf546dcffab6e616d2bc872903af
[INFO] running `Command { std: "docker" "start" "-a" "ff3dfba4e0a488e2dd265933d86a263f29f7bf546dcffab6e616d2bc872903af", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vellaveto_audit-6706767cb7bb47a1)
[INFO] [stdout] 
[INFO] [stdout] running 935 tests
[INFO] [stdout] test access_review::tests::test_empty_entries ... ok
[INFO] [stdout] test access_review::tests::test_empty_function_not_tracked ... ok
[INFO] [stdout] test access_review::tests::test_cc6_counts ... ok
[INFO] [stdout] test access_review::tests::test_deterministic_ordering ... ok
[INFO] [stdout] test access_review::tests::test_html_escape_function ... ok
[INFO] [stdout] test access_review::tests::test_html_escape_control_chars ... ok
[INFO] [stdout] test access_review::tests::test_agent_id_fallback_to_tool ... ok
[INFO] [stdout] test access_review::tests::test_html_escape_unicode_format_chars ... ok
[INFO] [stdout] test access_review::tests::test_html_structure ... ok
[INFO] [stdout] test access_review::tests::test_html_escaping ... ok
[INFO] [stdout] test access_review::tests::test_least_agency_data_absent ... ok
[INFO] [stdout] test access_review::tests::test_least_agency_data_present ... ok
[INFO] [stdout] test access_review::tests::test_internal_events_excluded ... ok
[INFO] [stdout] test access_review::tests::test_single_agent ... ok
[INFO] [stdout] test access_review::tests::test_verdict_counting ... ok
[INFO] [stdout] test adversa_top25::tests::test_all_25_vulnerabilities_present ... ok
[INFO] [stdout] test access_review::tests::test_report_serde_roundtrip ... ok
[INFO] [stdout] test adversa_top25::tests::test_coverage_matrix_output ... ok
[INFO] [stdout] test adversa_top25::tests::test_coverage_25_of_25 ... ok
[INFO] [stdout] test adversa_top25::tests::test_coverage_report_generation ... ok
[INFO] [stdout] test access_review::tests::test_period_filtering ... ok
[INFO] [stdout] test adversa_top25::tests::test_coverage_report_string ... ok
[INFO] [stdout] test access_review::tests::test_multiple_agents ... ok
[INFO] [stdout] test adversa_top25::tests::test_each_vulnerability_has_mitigations ... ok
[INFO] [stdout] test adversa_top25::tests::test_invalid_rank_returns_none ... ok
[INFO] [stdout] test adversa_top25::tests::test_registry_creation ... ok
[INFO] [stdout] test aivss::tests::test_invalid_vector_string ... ok
[INFO] [stdout] test aivss::tests::test_profiles ... ok
[INFO] [stdout] test aivss::tests::test_report_generation ... ok
[INFO] [stdout] test aivss::tests::test_severity_display ... ok
[INFO] [stdout] test aivss::tests::test_severity_from_score ... ok
[INFO] [stdout] test aivss::tests::test_vector_string_generation ... ok
[INFO] [stdout] test aivss::tests::test_zero_impact_zero_score ... ok
[INFO] [stdout] test aivss::tests::test_vector_string_parsing ... ok
[INFO] [stdout] test analytics::tests::test_policy_analytics_empty_entries ... ok
[INFO] [stdout] test analytics::tests::test_policy_analytics_entries_without_matched_policy ... ok
[INFO] [stdout] test adversa_top25::tests::test_serde_roundtrip_report ... ok
[INFO] [stdout] test adversa_top25::tests::test_default_trait ... ok
[INFO] [stdout] test aivss::tests::test_report_summary ... ok
[INFO] [stdout] test analytics::tests::test_policy_analytics_never_matched_policies ... ok
[INFO] [stdout] test adversa_top25::tests::test_serde_roundtrip_vulnerability ... ok
[INFO] [stdout] test aivss::tests::test_report_to_json ... ok
[INFO] [stdout] test analytics::tests::test_policy_analytics_last_matched_timestamp ... ok
[INFO] [stdout] test adversa_top25::tests::test_detection_to_vulnerability_mapping ... ok
[INFO] [stdout] test analytics::tests::test_summarize_evaluations_per_tool ... ok
[INFO] [stdout] test analytics::tests::test_policy_analytics_verdict_breakdown ... ok
[INFO] [stdout] test analytics::tests::test_summarize_deny_rate_all_denied ... ok
[INFO] [stdout] test analytics::tests::test_summarize_mixed_verdicts_correct_counts ... ok
[INFO] [stdout] test analytics::tests::test_summarize_deny_reason_aggregation ... ok
[INFO] [stdout] test adversa_top25::tests::test_vulnerability_lookup_by_rank ... ok
[INFO] [stdout] test aivss::tests::test_calculate_score ... ok
[INFO] [stdout] test aivss::tests::test_ai_multipliers_increase_score ... ok
[INFO] [stdout] test analytics::tests::test_summarize_top_denied_tools_ordering ... ok
[INFO] [stdout] test analytics::tests::test_summarize_top_n_capped_at_10 ... ok
[INFO] [stdout] test analytics::tests::test_summarize_unique_agents_from_metadata ... ok
[INFO] [stdout] test analytics::tests::test_trends_empty_entries ... ok
[INFO] [stdout] test analytics::tests::test_trends_invalid_timestamp_falls_back_to_epoch ... ok
[INFO] [stdout] test analytics::tests::test_trends_sorted_ascending ... ok
[INFO] [stdout] test adversa_top25::tests::test_severity_display ... ok
[INFO] [stdout] test analytics::tests::test_trends_week_bucketing ... ok
[INFO] [stdout] test annex_iv::tests::test_build_annex_iv_complete ... ok
[INFO] [stdout] test annex_iv::tests::test_build_annex_iv_missing_frameworks ... ok
[INFO] [stdout] test article73::tests::test_offset_timestamp_invalid_fallback ... ok
[INFO] [stdout] test annex_iv::tests::test_build_annex_iv_with_custom_evidence ... ok
[INFO] [stdout] test article73::tests::test_build_incident_report_security_breach ... ok
[INFO] [stdout] test article73::tests::test_severity_capped_at_5 ... ok
[INFO] [stdout] test analytics::tests::test_trends_hour_bucketing ... ok
[INFO] [stdout] test analytics::tests::test_summarize_empty_entries_returns_zeroes ... ok
[INFO] [stdout] test atlas::tests::test_coverage_report ... ok
[INFO] [stdout] test atlas::tests::test_coverage_report_string ... ok
[INFO] [stdout] test article73::tests::test_offset_timestamp_valid ... ok
[INFO] [stdout] test atlas::tests::test_all_detections_have_mappings ... ok
[INFO] [stdout] test annex_iv::tests::test_section_status_values ... ok
[INFO] [stdout] test analytics::tests::test_trends_day_bucketing ... ok
[INFO] [stdout] test atlas::tests::test_add_atlas_metadata ... ok
[INFO] [stdout] test atlas::tests::test_get_technique ... ok
[INFO] [stdout] test atlas::tests::test_tactic_display ... ok
[INFO] [stdout] test atlas::tests::test_technique_to_detections ... ok
[INFO] [stdout] test cosai::tests::test_category_display ... ok
[INFO] [stdout] test atlas::tests::test_detection_display ... ok
[INFO] [stdout] test atlas::tests::test_detection_to_technique_ids ... ok
[INFO] [stdout] test article73::tests::test_build_incident_report_safety_incident ... ok
[INFO] [stdout] test atlas::tests::test_registry_creation ... ok
[INFO] [stdout] test cosai::tests::test_all_12_categories_populated ... ok
[INFO] [stdout] test cosai::tests::test_coverage_report_all_categories_covered ... ok
[INFO] [stdout] test cosai::tests::test_coverage_above_90_percent ... ok
[INFO] [stdout] test cosai::tests::test_coverage_report_generation ... ok
[INFO] [stdout] test cosai::tests::test_coverage_report_string ... ok
[INFO] [stdout] test atlas::tests::test_detection_to_techniques ... ok
[INFO] [stdout] test analytics::tests::test_trends_large_dataset_1000_entries ... ok
[INFO] [stdout] test cosai::tests::test_default_trait ... ok
[INFO] [stdout] test cosai::tests::test_registry_creation ... ok
[INFO] [stdout] test data_governance::tests::test_get_record_tool_name_exceeds_max_length ... ok
[INFO] [stdout] test cosai::tests::test_threat_count ... ok
[INFO] [stdout] test cosai::tests::test_get_threat_by_id ... ok
[INFO] [stdout] test cosai::tests::test_detections_for_threat ... ok
[INFO] [stdout] test cosai::tests::test_serde_roundtrip_threat ... ok
[INFO] [stdout] test data_governance::tests::test_all_mappings ... ok
[INFO] [stdout] test data_governance::tests::test_default_retention_days ... ok
[INFO] [stdout] test data_governance::tests::test_exact_match ... ok
[INFO] [stdout] test data_governance::tests::test_generate_summary ... ok
[INFO] [stdout] test data_governance::tests::test_get_record_oversized_tool_name_returns_none ... ok
[INFO] [stdout] test cosai::tests::test_threats_for_detection ... ok
[INFO] [stdout] test cosai::tests::test_serde_roundtrip_report ... ok
[INFO] [stdout] test data_governance::tests::test_glob_match_http ... ok
[INFO] [stdout] test data_governance::tests::test_get_record_tool_name_at_max_length ... ok
[INFO] [stdout] test data_governance::tests::test_glob_match_vellaveto ... ok
[INFO] [stdout] test data_governance::tests::test_glob_match_filesystem ... ok
[INFO] [stdout] test data_governance::tests::test_no_match ... ok
[INFO] [stdout] test data_governance::tests::test_registry_creation ... ok
[INFO] [stdout] test dora::tests::test_all_articles_present ... ok
[INFO] [stdout] test data_governance::tests::test_summary_serde_roundtrip ... ok
[INFO] [stdout] test dora::tests::test_article_id_display ... ok
[INFO] [stdout] test dora::tests::test_capability_display ... ok
[INFO] [stdout] test dora::tests::test_compliance_status_display ... ok
[INFO] [stdout] test dora::tests::test_default_trait ... ok
[INFO] [stdout] test dora::tests::test_registry_creation ... ok
[INFO] [stdout] test dora::tests::test_r216_007_dora_report_validate_valid ... ok
[INFO] [stdout] test dora::tests::test_r216_007_dora_report_validate_out_of_range_percentage ... ok
[INFO] [stdout] test dora::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test dora::tests::test_coverage_above_50_percent ... ok
[INFO] [stdout] test dora::tests::test_generate_report ... ok
[INFO] [stdout] test dora::tests::test_r216_004_empty_registry_returns_zero_percent ... ok
[INFO] [stdout] test dora::tests::test_r216_007_dora_report_validate_nan_percentage ... ok
[INFO] [stdout] test eu_ai_act::tests::test_article_id_parsing ... ok
[INFO] [stdout] test eu_ai_act::tests::test_compliance_status_display ... ok
[INFO] [stdout] test eu_ai_act::tests::test_generate_assessment_high_risk ... ok
[INFO] [stdout] test eu_ai_act::tests::test_generate_assessment_minimal_risk ... ok
[INFO] [stdout] test eu_ai_act::tests::test_mappings_for_capability ... ok
[INFO] [stdout] test eu_ai_act::tests::test_mappings_for_article ... ok
[INFO] [stdout] test eu_ai_act::tests::test_obligation_populated ... ok
[INFO] [stdout] test eu_ai_act::tests::test_registry_creation ... ok
[INFO] [stdout] test eu_ai_act::tests::test_classify_entry_deny_adds_art9 ... ok
[INFO] [stdout] test data_governance::tests::test_provenance_populated ... ok
[INFO] [stdout] test analytics::tests::test_summarize_large_dataset_1000_entries ... ok
[INFO] [stdout] test eu_ai_act::tests::test_classify_entry_all_provide_art12 ... ok
[INFO] [stdout] test eu_ai_act::tests::test_classify_entry_approval_adds_art14 ... ok
[INFO] [stdout] test events::tests::test_log_shadow_agent_detected_produces_deny ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_version_drift_records_action_params ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_unsigned_tool_allowed ... ok
[INFO] [stdout] test events::tests::test_merge_details_safe_adds_non_reserved_keys ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_version_drift_non_blocking_allow ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_signature_verified_untrusted_deny ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_version_drift_blocking_deny ... ok
[INFO] [stdout] test events::tests::test_merge_details_safe_blocks_all_reserved_keys ... ok
[INFO] [stdout] test events::tests::test_merge_details_safe_blocks_reserved_event_key ... ok
[INFO] [stdout] test events::tests::test_merge_details_safe_non_object_metadata_no_crash ... ok
[INFO] [stdout] test evidence_pack::tests::test_all_packs_have_recommendations ... ok
[INFO] [stdout] test evidence_pack::tests::test_extract_article_number ... ok
[INFO] [stdout] test evidence_pack::tests::test_coverage_within_range ... ok
[INFO] [stdout] test evidence_pack::tests::test_generate_eu_ai_act_pack ... ok
[INFO] [stdout] test evidence_pack::tests::test_generate_dora_pack ... ok
[INFO] [stdout] test events::tests::test_merge_details_safe_non_object_details_ignored ... ok
[INFO] [stdout] test evidence_pack::tests::test_generate_iso42001_pack ... ok
[INFO] [stdout] test evidence_pack::tests::test_render_html_escapes_user_content ... ok
[INFO] [stdout] test evidence_pack::tests::test_render_html_contains_framework_name ... ok
[INFO] [stdout] test events::tests::test_log_heartbeat_creates_entry ... ok
[INFO] [stdout] test evidence_pack::tests::test_generate_nis2_pack ... ok
[INFO] [stdout] test exec_graph::tests::test_add_node_nonexistent_parent_no_edge ... ok
[INFO] [stdout] test exec_graph::tests::test_add_node_self_loop_rejected ... ok
[INFO] [stdout] test exec_graph::tests::test_duplicate_node_id_does_not_duplicate_edges ... ok
[INFO] [stdout] test exec_graph::tests::test_duplicate_node_id_does_not_inflate_metadata ... ok
[INFO] [stdout] test exec_graph::tests::test_escape_dot_bidi_override_stripped ... ok
[INFO] [stdout] test exec_graph::tests::test_escape_dot_combined_adversarial_input ... ok
[INFO] [stdout] test exec_graph::tests::test_escape_dot_function ... ok
[INFO] [stdout] test exec_graph::tests::test_cleanup_expired_no_timestamp_fail_closed ... ok
[INFO] [stdout] test exec_graph::tests::test_escape_dot_null_byte_stripped ... ok
[INFO] [stdout] test exec_graph::tests::test_escape_dot_pipe_escaped ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_add_node ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_parent_child ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_statistics ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_store ... ok
[INFO] [stdout] test evidence_pack::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_store_complete_node ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_store_list_sessions ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_to_dot ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_graph_complete_node ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_node_completion ... ok
[INFO] [stdout] test exec_graph::tests::test_add_node_duplicate_call_edge_deduplicated ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_escape_basic ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_truncate_long ... ok
[INFO] [stdout] test exec_graph::tests::test_execution_node_creation ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_truncate_unicode_boundary ... ok
[INFO] [stdout] test exec_graph::tests::test_to_dot_bidi_tool_name_sanitized ... ok
[INFO] [stdout] test exec_graph::tests::test_to_dot_escapes_special_characters ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_bidi_stripped ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_empty_graph ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_parent_child_edges ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_single_node ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_verdict_colors ... ok
[INFO] [stdout] test exec_graph::tests::test_to_svg_xss_prevention ... ok
[INFO] [stdout] test export::ocsf::tests::test_allow_event_mapping ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_truncate_short ... ok
[INFO] [stdout] test export::ocsf::tests::test_approval_event_mapping ... ok
[INFO] [stdout] test export::ocsf::tests::test_deny_event_mapping ... ok
[INFO] [stdout] test export::ocsf::tests::test_json_output_contains_required_ocsf_fields ... ok
[INFO] [stdout] test export::ocsf::tests::test_ocsf_json_roundtrip ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_escape_strips_null ... ok
[INFO] [stdout] test export::ocsf::tests::test_severity_mapping ... ok
[INFO] [stdout] test export::ocsf::tests::test_timestamp_parsing ... ok
[INFO] [stdout] test export::ocsf::tests::test_truncation_long_tool_name ... ok
[INFO] [stdout] test export::ocsf::tests::test_type_uid_calculation ... ok
[INFO] [stdout] test export::ocsf::tests::test_unmapped_fields_empty_when_defaults ... ok
[INFO] [stdout] test export::ocsf::tests::test_unmapped_fields_populated ... ok
[INFO] [stdout] test export::tests::test_cef_allow_has_no_reason ... ok
[INFO] [stdout] test events::tests::test_log_circuit_breaker_details_cannot_overwrite_event ... ok
[INFO] [stdout] test events::tests::test_log_shadow_agent_registered_produces_allow ... ok
[INFO] [stdout] test export::ocsf::tests::test_ocsf_json_roundtrip_deny ... ok
[INFO] [stdout] test export::ocsf::tests::test_ocsf_json_roundtrip_approval ... ok
[INFO] [stdout] test exec_graph::tests::test_svg_escape_strips_bidi ... ok
[INFO] [stdout] test export::tests::test_cef_entry_with_equals_in_id ... ok
[INFO] [stdout] test export::tests::test_cef_entry_with_special_chars_in_fields ... ok
[INFO] [stdout] test export::tests::test_cef_escape_special_chars ... ok
[INFO] [stdout] test export::tests::test_cef_escape_unicode_line_separators ... ok
[INFO] [stdout] test export::tests::test_cef_deny_includes_reason ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_signature_verified_trusted_allow ... ok
[INFO] [stdout] test export::tests::test_cef_format_allow_verdict ... ok
[INFO] [stdout] test events::tests::test_log_circuit_breaker_opened_produces_allow ... ok
[INFO] [stdout] test export::tests::test_cef_header_does_not_escape_equals ... ok
[INFO] [stdout] test export::tests::test_cef_ext_escape_backslash_and_newline ... ok
[INFO] [stdout] test export::tests::test_cef_severity_mapping ... ok
[INFO] [stdout] test export::tests::test_cef_format_deny_verdict ... ok
[INFO] [stdout] test export::tests::test_cef_ext_escape_equals_sign ... ok
[INFO] [stdout] test export::tests::test_export_format_from_str ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_cef_deny_reason_truncated ... ok
[INFO] [stdout] test export::tests::test_format_entries_batch ... ok
[INFO] [stdout] test export::tests::test_json_lines_format ... ok
[INFO] [stdout] test export::tests::test_r226_cef_timestamp_with_offset_unchanged ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_cef_multibyte_truncation ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_truncate_bytes_ascii ... ok
[INFO] [stdout] test export::tests::test_r226_cef_timestamp_with_z_unchanged ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_cef_multibyte_deny_reason_truncated ... ok
[INFO] [stdout] test export::tests::test_r226_cef_timestamp_without_timezone_gets_z ... ok
[INFO] [stdout] test export::tests::test_r36_sup_5_cef_header_name_multibyte_boundary ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_truncate_bytes_no_truncation_needed ... ok
[INFO] [stdout] test export::tests::test_r35_sup_2_truncate_bytes_boundary ... ok
[INFO] [stdout] test fria::tests::test_build_fria_export_full ... ok
[INFO] [stdout] test export::tests::test_r36_sup_5_cef_header_name_truncated ... ok
[INFO] [stdout] test fria::tests::test_build_fria_export_minimal ... ok
[INFO] [stdout] test export::tests::test_r36_sup_5_cef_header_name_short_not_truncated ... ok
[INFO] [stdout] test gap_analysis::tests::test_r216_006_deny_unknown_fields_framework_summary ... ok
[INFO] [stdout] test gap_analysis::tests::test_r216_006_deny_unknown_fields_gap ... ok
[INFO] [stdout] test fria::tests::test_fria_data_protection_with_shield ... ok
[INFO] [stdout] test export::tests::test_cef_ext_escapes_pipe ... ok
[INFO] [stdout] test gap_analysis::tests::test_overall_coverage_above_90 ... ok
[INFO] [stdout] test gap_analysis::tests::test_gap_analysis_generation ... ok
[INFO] [stdout] test gap_analysis::tests::test_r216_006_gap_analysis_validate_out_of_range_coverage ... ok
[INFO] [stdout] test incident_report::tests::test_deny_unknown_fields ... ok
[INFO] [stdout] test incident_report::tests::test_requires_dora_24h_critical ... ok
[INFO] [stdout] test incident_report::tests::test_requires_dora_24h_low_severity_false ... ok
[INFO] [stdout] test incident_report::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test gap_analysis::tests::test_r216_006_gap_analysis_validate_nan_coverage ... ok
[INFO] [stdout] test gap_analysis::tests::test_each_framework_has_items ... ok
[INFO] [stdout] test gap_analysis::tests::test_all_10_frameworks_present ... ok
[INFO] [stdout] test incident_report::tests::test_triggered_regulations_all_three ... ok
[INFO] [stdout] test incident_report::tests::test_validate_control_chars_rejected ... ok
[INFO] [stdout] test incident_report::tests::test_validate_empty_id_rejected ... ok
[INFO] [stdout] test incident_report::tests::test_triggered_regulations_none ... ok
[INFO] [stdout] test incident_report::tests::test_validate_valid_report ... ok
[INFO] [stdout] test iso27090::tests::test_add_iso27090_metadata ... ok
[INFO] [stdout] test gap_analysis::tests::test_recommendations_generated ... ok
[INFO] [stdout] test gap_analysis::tests::test_report_string ... ok
[INFO] [stdout] test iso27090::tests::test_assessment_summary ... ok
[INFO] [stdout] test gap_analysis::tests::test_r216_006_gap_analysis_validate_valid ... ok
[INFO] [stdout] test iso27090::tests::test_assessment_to_json ... ok
[INFO] [stdout] test iso27090::tests::test_control_id_parsing ... ok
[INFO] [stdout] test iso27090::tests::test_domain_readiness ... ok
[INFO] [stdout] test iso27090::tests::test_priority_ordering ... ok
[INFO] [stdout] test iso27090::tests::test_mappings_for_capability ... ok
[INFO] [stdout] test iso27090::tests::test_domain_display ... ok
[INFO] [stdout] test iso27090::tests::test_readiness_level_score ... ok
[INFO] [stdout] test iso27090::tests::test_registry_creation ... ok
[INFO] [stdout] test iso27090::tests::test_recommendations ... ok
[INFO] [stdout] test iso42001::tests::test_clause_content ... ok
[INFO] [stdout] test iso42001::tests::test_all_major_clauses_populated ... ok
[INFO] [stdout] test events::tests::test_log_sampling_event_always_deny ... ok
[INFO] [stdout] test iso42001::tests::test_clause_id_creation ... ok
[INFO] [stdout] test iso42001::tests::test_assessments_sorted ... ok
[INFO] [stdout] test events::tests::test_log_circuit_breaker_rejected_produces_deny ... ok
[INFO] [stdout] test iso42001::tests::test_clause_count ... ok
[INFO] [stdout] test iso42001::tests::test_capability_display ... ok
[INFO] [stdout] test iso42001::tests::test_compliance_percentage_range ... ok
[INFO] [stdout] test iso42001::tests::test_compliance_status_display ... ok
[INFO] [stdout] test iso42001::tests::test_default_trait ... ok
[INFO] [stdout] test iso42001::tests::test_generate_report ... ok
[INFO] [stdout] test incident_report::tests::test_validate_too_many_findings_rejected ... ok
[INFO] [stdout] test iso42001::tests::test_high_coverage ... ok
[INFO] [stdout] test iso42001::tests::test_registry_creation ... ok
[INFO] [stdout] test iso42001::tests::test_mappings_for_capability ... ok
[INFO] [stdout] test iso42001::tests::test_mappings_for_clause ... ok
[INFO] [stdout] test iso42001::tests::test_serde_roundtrip_report ... ok
[INFO] [stdout] test merkle::tests::test_hash_internal_deterministic ... ok
[INFO] [stdout] test merkle::tests::test_empty_tree_root_is_none ... ok
[INFO] [stdout] test merkle::tests::test_hash_internal_order_matters ... ok
[INFO] [stdout] test merkle::tests::test_hash_leaf_deterministic ... ok
[INFO] [stdout] test merkle::tests::test_append_single_leaf ... ok
[INFO] [stdout] test merkle::tests::test_initialize_nonexistent_file_ok ... ok
[INFO] [stdout] test merkle::tests::test_hash_leaf_vs_hash_internal_different ... ok
[INFO] [stdout] test merkle::tests::test_append_rejects_at_max_leaf_count ... ok
[INFO] [stdout] test merkle::tests::test_merkle_proof_deny_unknown_fields ... ok
[INFO] [stdout] test merkle::tests::test_merkle_verification_deny_unknown_fields ... ok
[INFO] [stdout] test merkle::tests::test_initialize_truncates_partial_write ... ok
[INFO] [stdout] test merkle::tests::test_append_two_leaves_root ... ok
[INFO] [stdout] test merkle::tests::test_append_three_leaves_root ... ok
[INFO] [stdout] test events::tests::test_log_task_lifecycle_failed_produces_deny ... ok
[INFO] [stdout] test iso27090::tests::test_generate_assessment ... ok
[INFO] [stdout] test merkle::tests::test_proof_step_deny_unknown_fields ... ok
[INFO] [stdout] test gap_analysis::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test merkle::tests::test_initialize_recovers_from_leaf_file ... ok
[INFO] [stdout] test merkle::tests::test_proof_single_leaf ... ok
[INFO] [stdout] test merkle::tests::test_proof_five_leaves_non_power_of_two ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_unsigned_tool_blocked_deny ... ok
[INFO] [stdout] test merkle::tests::test_proof_out_of_range_rejected ... ok
[INFO] [stdout] test merkle::tests::test_verify_proof_invalid_sibling_hex_rejected ... ok
[INFO] [stdout] test merkle::tests::test_verify_proof_leaf_index_ge_tree_size ... ok
[INFO] [stdout] test merkle::tests::test_verify_proof_zero_tree_size ... ok
[INFO] [stdout] test nis2::tests::test_article_id_display ... ok
[INFO] [stdout] test merkle::tests::test_verify_proof_too_many_siblings_rejected ... ok
[INFO] [stdout] test nis2::tests::test_compliance_status_display ... ok
[INFO] [stdout] test nis2::tests::test_all_art21_measures_present ... ok
[INFO] [stdout] test nis2::tests::test_generate_report ... ok
[INFO] [stdout] test nis2::tests::test_r216_004_empty_registry_returns_zero_percent ... ok
[INFO] [stdout] test nis2::tests::test_r216_007_nis2_report_validate_out_of_range_percentage ... ok
[INFO] [stdout] test nis2::tests::test_coverage_above_50_percent ... ok
[INFO] [stdout] test nis2::tests::test_r216_007_nis2_report_validate_nan_percentage ... ok
[INFO] [stdout] test nis2::tests::test_r216_007_nis2_report_validate_valid ... ok
[INFO] [stdout] test nis2::tests::test_registry_creation ... ok
[INFO] [stdout] test nis2::tests::test_default_trait ... ok
[INFO] [stdout] test nist_ai600::tests::test_all_controls_have_rmf_cross_references ... ok
[INFO] [stdout] test nist_ai600::tests::test_all_risk_areas_have_controls ... ok
[INFO] [stdout] test nist_ai600::tests::test_compliance_percentage_range ... ok
[INFO] [stdout] test nist_ai600::tests::test_compliance_status_display ... ok
[INFO] [stdout] test nist_ai600::tests::test_all_mitigations_reference_valid_controls ... ok
[INFO] [stdout] test nist_ai600::tests::test_control_count_is_24 ... ok
[INFO] [stdout] test nist_ai600::tests::test_control_id_creation ... ok
[INFO] [stdout] test nist_ai600::tests::test_control_id_invalid_parsing ... ok
[INFO] [stdout] test merkle::tests::test_proof_three_leaves_promoted_tail_skips_first_level ... ok
[INFO] [stdout] test nist_ai600::tests::test_control_id_risk_area_parsing ... ok
[INFO] [stdout] test nist_ai600::tests::test_control_id_risk_area_parsing_all ... ok
[INFO] [stdout] test nis2::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test nist_ai600::tests::test_cross_references_nonexistent_control ... ok
[INFO] [stdout] test nist_ai600::tests::test_default_trait ... ok
[INFO] [stdout] test nist_ai600::tests::test_environmental_controls_have_no_eu_articles ... ok
[INFO] [stdout] test nist_ai600::tests::test_eu_ai_act_cross_references ... ok
[INFO] [stdout] test nist_ai600::tests::test_get_control ... ok
[INFO] [stdout] test nist_ai600::tests::test_generate_report_has_cross_mappings ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_control_isec01 ... ok
[INFO] [stdout] test merkle::tests::test_proof_wrong_root_fails ... ok
[INFO] [stdout] test nist_ai600::tests::test_generate_report ... ok
[INFO] [stdout] test merkle::tests::test_root_hex_format ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_data_laundering ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_prompt_injection ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_schema_poisoning ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_secrets_in_output ... ok
[INFO] [stdout] test nist_ai600::tests::test_registry_creation ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_tool_annotation_change ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_controls_within_risk_area_sorted ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_risk_area_assessments_sorted ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_summary ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_bad_percentage ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_negative_percentage ... ok
[INFO] [stdout] test merkle::tests::test_proof_four_leaves ... ok
[INFO] [stdout] test merkle::tests::test_proof_two_leaves ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_over_100_percentage ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_too_many_cross_mappings ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_success ... ok
[INFO] [stdout] test nist_ai600::tests::test_high_priority_detections_have_mitigations ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_validate_too_many_risk_areas ... ok
[INFO] [stdout] test nist_ai600::tests::test_risk_area_all_returns_12 ... ok
[INFO] [stdout] test nist_ai600::tests::test_risk_area_codes_unique ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_goal_drift ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_excessive_agency ... ok
[INFO] [stdout] test merkle::tests::test_reset_clears_state ... ok
[INFO] [stdout] test merkle::tests::test_proof_four_leaves_encodes_left_right_directions ... ok
[INFO] [stdout] test nist_ai600::tests::test_report_to_json ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_indirect_injection ... ok
[INFO] [stdout] test etdi_audit::tests::test_log_etdi_signature_failed_produces_deny ... ok
[INFO] [stdout] test nist_rmf::tests::test_registry_creation ... ok
[INFO] [stdout] test nist_rmf::tests::test_report_summary ... ok
[INFO] [stdout] test nist_rmf::tests::test_report_to_json ... ok
[INFO] [stdout] test nist_rmf::tests::test_subcategory_id_parsing ... ok
[INFO] [stdout] test observability::tests::test_action_summary_from_action ... ok
[INFO] [stdout] test observability::tests::test_builder_action_defaults ... ok
[INFO] [stdout] test observability::tests::test_builder_consecutive_builds_unique_ids ... ok
[INFO] [stdout] test observability::tests::test_builder_duration_defaults_to_zero ... ok
[INFO] [stdout] test observability::tests::test_builder_timestamps_are_recent ... ok
[INFO] [stdout] test observability::tests::test_builder_verdict_defaults ... ok
[INFO] [stdout] test observability::tests::test_ensure_trace_id_generates_when_none ... ok
[INFO] [stdout] test observability::tests::test_exporter_config_accepts_max_batch_size ... ok
[INFO] [stdout] test observability::tests::test_exporter_config_default_valid ... ok
[INFO] [stdout] test observability::tests::test_exporter_config_rejects_excessive_batch_size ... ok
[INFO] [stdout] test observability::tests::test_exporter_config_rejects_zero_batch_size ... ok
[INFO] [stdout] test observability::tests::test_exporter_config_rejects_zero_timeout ... ok
[INFO] [stdout] test observability::tests::test_new_span_id_length_and_hex ... ok
[INFO] [stdout] test nist_ai600::tests::test_mitigations_for_memory_injection ... ok
[INFO] [stdout] test nist_ai600::tests::test_rmf_cross_references ... ok
[INFO] [stdout] test nist_rmf::tests::test_add_rmf_metadata ... ok
[INFO] [stdout] test nist_rmf::tests::test_all_capabilities_have_mappings ... ok
[INFO] [stdout] test nist_rmf::tests::test_category_id_parsing ... ok
[INFO] [stdout] test observability::tests::test_r44_008_all_zero_parent_id_both_cases ... ok
[INFO] [stdout] test nist_rmf::tests::test_coverage_by_function ... ok
[INFO] [stdout] test observability::tests::test_new_span_id_uniqueness ... ok
[INFO] [stdout] test nist_ai600::tests::test_risk_area_display ... ok
[INFO] [stdout] test nist_rmf::tests::test_implementation_status_display ... ok
[INFO] [stdout] test nist_rmf::tests::test_mappings_for_capability ... ok
[INFO] [stdout] test nist_rmf::tests::test_generate_report ... ok
[INFO] [stdout] test observability::tests::test_r44_008_almost_all_zero_trace_id_accepted ... ok
[INFO] [stdout] test nist_rmf::tests::test_function_display ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_allows_valid_special_chars ... ok
[INFO] [stdout] test nist_ai600::tests::test_serde_roundtrip_report ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_sanitized_deny ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_special_chars_stripped ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_truncated_at_64_chars ... ok
[INFO] [stdout] test observability::tests::test_r44_040_lowercase_preserved ... ok
[INFO] [stdout] test observability::tests::test_r44_009_tracestate_exactly_512_accepted ... ok
[INFO] [stdout] test observability::tests::test_r44_040_mixed_case_normalized ... ok
[INFO] [stdout] test observability::tests::test_r44_009_tracestate_over_512_truncated ... ok
[INFO] [stdout] test observability::tests::test_r44_009_tracestate_single_oversized_entry_dropped ... ok
[INFO] [stdout] test observability::tests::test_r44_009_tracestate_within_limit_accepted ... ok
[INFO] [stdout] test observability::tests::test_r44_041_hash_trace_id_deterministic ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_empty_becomes_unknown ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_only_invalid_chars_becomes_unknown ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_sanitized_allow ... ok
[INFO] [stdout] test observability::tests::test_r44_010_verdict_uppercase_stripped ... ok
[INFO] [stdout] test observability::tests::test_r44_042_new_span_id_valid_format ... ok
[INFO] [stdout] test observability::tests::test_redaction_config ... ok
[INFO] [stdout] test observability::tests::test_r44_042_new_span_id_never_all_zero ... ok
[INFO] [stdout] test observability::tests::test_r44_008_both_all_zero_rejected ... ok
[INFO] [stdout] test observability::tests::test_r44_041_hash_trace_id_different_inputs ... ok
[INFO] [stdout] test observability::tests::test_redaction_mixed_array_object_nesting ... ok
[INFO] [stdout] test observability::tests::test_redaction_truncate ... ok
[INFO] [stdout] test observability::tests::test_r44_008_all_zero_trace_id_both_cases ... ok
[INFO] [stdout] test observability::tests::test_retry_after_parsing_extremely_large ... ok
[INFO] [stdout] test observability::tests::test_sampler_always_sample_denies ... ok
[INFO] [stdout] test observability::tests::test_retry_after_parsing_valid ... ok
[INFO] [stdout] test observability::tests::test_retry_after_parsing_negative ... ok
[INFO] [stdout] test observability::tests::test_sampler_determinism_same_trace_id ... ok
[INFO] [stdout] test observability::tests::test_r44_008_almost_all_zero_parent_id_accepted ... ok
[INFO] [stdout] test observability::tests::test_r44_041_hash_trace_id_empty_string ... ok
[INFO] [stdout] test observability::tests::test_redaction_depth_50_works ... ok
[INFO] [stdout] test observability::tests::test_redaction_depth_51_truncated ... ok
[INFO] [stdout] test observability::tests::test_redaction_large_array_with_objects ... ok
[INFO] [stdout] test observability::tests::test_sampler_edge_trace_ids ... ok
[INFO] [stdout] test observability::tests::test_retry_after_parsing_invalid ... ok
[INFO] [stdout] test observability::tests::test_sampler_probabilistic ... ok
[INFO] [stdout] test events::tests::test_log_task_lifecycle_completed_produces_allow ... ok
[INFO] [stdout] test observability::tests::test_sampler_distribution_uniformity ... ok
[INFO] [stdout] test observability::tests::test_trace_context_leading_zeros_preserved ... ok
[INFO] [stdout] test observability::tests::test_trace_context_mixed_case_hex ... ok
[INFO] [stdout] test observability::tests::test_security_detection_builder ... ok
[INFO] [stdout] test observability::tests::test_sampler_rate_one_always_samples ... ok
[INFO] [stdout] test observability::tests::test_security_span_builder ... ok
[INFO] [stdout] test observability::tests::test_trace_context_all_zeros_span_id_rejected ... ok
[INFO] [stdout] test observability::tests::test_trace_context_all_zeros_trace_id_rejected ... ok
[INFO] [stdout] test observability::tests::test_span_kind_as_str ... ok
[INFO] [stdout] test observability::tests::test_span_kind_gateway_as_str ... ok
[INFO] [stdout] test observability::tests::test_trace_context_child_to_traceparent ... ok
[INFO] [stdout] test observability::tests::test_trace_context_child_unique_span_ids ... ok
[INFO] [stdout] test observability::tests::test_trace_context_invalid ... ok
[INFO] [stdout] test observability::tests::test_trace_context_invalid_hex_chars ... ok
[INFO] [stdout] test observability::tests::test_trace_context_child_inherits_trace_id ... ok
[INFO] [stdout] test observability::tests::test_trace_context_to_traceparent ... ok
[INFO] [stdout] test observability::tests::test_trace_context_parse ... ok
[INFO] [stdout] test observability::tests::test_trace_context_uppercase_hex_normalized ... ok
[INFO] [stdout] test observability::tests::test_trace_context_with_parsed_tracestate ... ok
[INFO] [stdout] test observability::tests::test_trace_context_with_vellaveto_verdict_no_existing_state ... ok
[INFO] [stdout] test observability::tests::test_sampler_rate_zero_never_samples ... ok
[INFO] [stdout] test observability::tests::test_trace_context_with_vellaveto_verdict_prepends_to_existing ... ok
[INFO] [stdout] test observability::tests::test_verdict_summary_from_verdict ... ok
[INFO] [stdout] test otel_spans::tests::test_build_evaluation_span_deny ... ok
[INFO] [stdout] test otel_spans::tests::test_build_evaluation_span_allow ... ok
[INFO] [stdout] test otel_spans::tests::test_build_evaluation_span_require_approval ... ok
[INFO] [stdout] test observability::tests::test_trace_context_verdict_chain ... ok
[INFO] [stdout] test owasp_asi::tests::test_category_display ... ok
[INFO] [stdout] test owasp_asi::tests::test_all_controls_have_mitigations ... ok
[INFO] [stdout] test owasp_asi::tests::test_all_10_categories_populated ... ok
[INFO] [stdout] test owasp_asi::tests::test_control_lookup_by_id ... ok
[INFO] [stdout] test owasp_asi::tests::test_control_to_detection_mapping ... ok
[INFO] [stdout] test owasp_asi::tests::test_category_coverage_breakdown ... ok
[INFO] [stdout] test owasp_asi::tests::test_detection_mappings_reference_valid_controls ... ok
[INFO] [stdout] test owasp_asi::tests::test_coverage_report_generation ... ok
[INFO] [stdout] test owasp_asi::tests::test_detection_to_control_mapping ... ok
[INFO] [stdout] test owasp_asi::tests::test_registry_creation ... ok
[INFO] [stdout] test owasp_asi::tests::test_report_validate_passes_for_valid_report ... ok
[INFO] [stdout] test owasp_asi::tests::test_control_matrix_sorted ... ok
[INFO] [stdout] test owasp_asi::tests::test_report_validate_rejects_nan_coverage ... ok
[INFO] [stdout] test owasp_mcp::tests::test_category_display ... ok
[INFO] [stdout] test owasp_mcp::tests::test_control_ids_unique ... ok
[INFO] [stdout] test owasp_asi::tests::test_report_validate_rejects_negative_coverage ... ok
[INFO] [stdout] test owasp_mcp::tests::test_get_control_by_id ... ok
[INFO] [stdout] test owasp_mcp::tests::test_get_nonexistent_control ... ok
[INFO] [stdout] test owasp_mcp::tests::test_coverage_report_generation ... ok
[INFO] [stdout] test owasp_mcp::tests::test_registry_creates_successfully ... ok
[INFO] [stdout] test owasp_asi::tests::test_no_duplicate_control_ids ... ok
[INFO] [stdout] test owasp_asi::tests::test_full_coverage ... ok
[INFO] [stdout] test owasp_asi::tests::test_report_validate_rejects_over_100_coverage ... ok
[INFO] [stdout] test owasp_asi::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test owasp_mcp::tests::test_coverage_report_high_coverage ... ok
[INFO] [stdout] test owasp_mcp::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test owasp_mcp::tests::test_all_categories_have_controls ... ok
[INFO] [stdout] test owasp_asi::tests::test_total_controls_count ... ok
[INFO] [stdout] test pii::tests::test_luhn_check_valid ... ok
[INFO] [stdout] test pii::tests::test_luhn_check_invalid ... ok
[INFO] [stdout] test pii::tests::test_find_matches_email_span ... ok
[INFO] [stdout] test pii::tests::test_aws_key_id_detected ... ok
[INFO] [stdout] test pii::tests::test_ipv4_detected ... ok
[INFO] [stdout] test pii::tests::test_invalid_custom_regex_skipped ... ok
[INFO] [stdout] test pii::tests::test_no_pii_unchanged ... ok
[INFO] [stdout] test pii::tests::test_redos_bounded_repetition_in_group_accepted ... ok
[INFO] [stdout] test pii::tests::test_redos_escaped_paren_not_counted ... ok
[INFO] [stdout] test pii::tests::test_redos_escaped_quantifier_not_flagged ... ok
[INFO] [stdout] test pii::tests::test_redos_group_with_curly_outer_quantifier_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_deeply_nested_groups_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_overlength_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_star_star_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_trailing_backslash_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_unbounded_repetition_in_group_rejected ... ok
[INFO] [stdout] test pii::tests::test_redos_valid_patterns_accepted ... ok
[INFO] [stdout] test pii::tests::test_redos_nested_quantifiers_rejected ... ok
[INFO] [stdout] test pii::tests::test_email_detected ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_agent_id_filter ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_agent_id_missing_metadata_excluded ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_combined_filters ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_empty_input ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_no_filters_returns_all ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_no_match ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_sequence_range ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_since_and_until_range ... ok
[INFO] [stdout] test pii::tests::test_credit_card_valid_luhn ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_tenant_id_excludes_none ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_tenant_id_filter ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_since_timestamp ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_text_search_in_function ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_text_search_in_tool ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_tool_filter ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_until_timestamp ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_text_search_case_insensitive ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_verdict_allow ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_verdict_deny ... ok
[INFO] [stdout] test pii::tests::test_phone_detected ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_all_sensitive_keys ... ok
[INFO] [stdout] test pii::tests::test_find_matches_luhn_filter ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_aws_key_prefix ... ok
[INFO] [stdout] test pii::tests::test_jwt_detected ... ok
[INFO] [stdout] test pii::tests::test_pii_scanner_rejects_redos_custom_pattern ... ok
[INFO] [stdout] test query::file::tests::test_filter_entries_verdict_require_approval ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_bearer_prefix ... ok
[INFO] [stdout] test pii::tests::test_credit_card_invalid_luhn_not_redacted ... ok
[INFO] [stdout] test pii::tests::test_custom_pattern_applied ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_sensitive_key ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_bool_null_unchanged ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_number_pii ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_safe_value_unchanged ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_nfkc_normalization ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_phone_pii ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_value_prefix_case_insensitive ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_array_elements ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_nested_object ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_password_redacted ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_ssn_pii ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_value_prefix_sk ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_case_insensitive ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_email_pii ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_does_not_redact_values ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_only_depth_limit_fail_closed ... ok
[INFO] [stdout] test soc2::tests::test_classify_entry_approval_adds_cc7 ... ok
[INFO] [stdout] test redaction::tests::test_redact_keys_and_patterns_depth_limit_fail_closed ... ok
[INFO] [stdout] test soc2::tests::test_classify_entry_deny_adds_cc5_cc3 ... ok
[INFO] [stdout] test soc2::tests::test_coverage_by_category_all_covered ... ok
[INFO] [stdout] test soc2::tests::test_classify_entry_all_provide_cc2 ... ok
[INFO] [stdout] test soc2::tests::test_criterion_id_parsing ... ok
[INFO] [stdout] test soc2::tests::test_criterion_populated ... ok
[INFO] [stdout] test soc2::tests::test_coverage_readiness_percent ... ok
[INFO] [stdout] test soc2::tests::test_mappings_for_capability ... ok
[INFO] [stdout] test soc2::tests::test_generate_evidence_report_all_categories ... ok
[INFO] [stdout] test soc2::tests::test_generate_evidence_report_filtered_categories ... ok
[INFO] [stdout] test soc2::tests::test_readiness_level_ordering ... ok
[INFO] [stdout] test soc2::tests::test_mappings_for_criterion ... ok
[INFO] [stdout] test soc2::tests::test_registry_creation ... ok
[INFO] [stdout] test soc2::tests::test_readiness_level_score ... ok
[INFO] [stdout] test streaming::tests::test_datadog_config_validate_tag_at_max_length ... ok
[INFO] [stdout] test streaming::tests::test_datadog_config_validate_tag_count_exceeds_max ... ok
[INFO] [stdout] test streaming::tests::test_datadog_config_validate_tag_too_long ... ok
[INFO] [stdout] test streaming::tests::test_datadog_config_defaults ... ok
[INFO] [stdout] test streaming::tests::test_datadog_config_debug_redacts_api_key ... ok
[INFO] [stdout] test streaming::tests::test_elasticsearch_config_debug_redacts_api_key ... ok
[INFO] [stdout] test streaming::tests::test_elasticsearch_config_defaults ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_defaults ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_batch_size_over_max_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_batch_size_zero_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_flush_interval_over_max_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_flush_interval_zero_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_max_retries_over_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_max_retries_zero_accepted ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_retry_backoff_over_max_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_retry_backoff_zero_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_timeout_over_max_rejected ... ok
[INFO] [stdout] test streaming::tests::test_exporter_config_validate_timeout_zero_rejected ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_app_name_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_app_name_too_long ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_enterprise_id_empty ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_host_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_host_too_long ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_enterprise_id_too_long ... ok
[INFO] [stdout] test streaming::tests::test_r216_001_syslog_config_validate_valid ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_datadog_endpoint_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_datadog_service_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_datadog_source_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_datadog_tag_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_elasticsearch_endpoint_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_elasticsearch_index_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_splunk_endpoint_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_splunk_source_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_splunk_sourcetype_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_005_webhook_endpoint_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_accepts_valid ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_rejects_bracket ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_rejects_equals ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_rejects_non_ascii ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_rejects_quote ... ok
[INFO] [stdout] test streaming::tests::test_r216_008_syslog_enterprise_id_rejects_space ... ok
[INFO] [stdout] test streaming::tests::test_r216_009_webhook_header_key_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_r224_004_datadog_endpoint_accepts_https ... ok
[INFO] [stdout] test streaming::tests::test_r224_004_datadog_endpoint_rejects_non_http_scheme ... ok
[INFO] [stdout] test streaming::tests::test_splunk_config_debug_redacts_token ... ok
[INFO] [stdout] test streaming::tests::test_syslog_config_defaults ... ok
[INFO] [stdout] test streaming::tests::test_syslog_facility_values ... ok
[INFO] [stdout] test streaming::tests::test_r216_009_webhook_header_value_dangerous_chars ... ok
[INFO] [stdout] test streaming::tests::test_splunk_config_defaults ... ok
[INFO] [stdout] test streaming::tests::test_syslog_severity_mapping ... ok
[INFO] [stdout] test streaming::tests::test_webhook_config_validate_header_key_too_long ... ok
[INFO] [stdout] test streaming::tests::test_webhook_config_validate_header_value_too_long ... ok
[INFO] [stdout] test streaming::tests::test_webhook_config_validate_headers_count_exceeds_max ... ok
[INFO] [stdout] test streaming::tests::test_webhook_config_validate_headers_count_at_max ... ok
[INFO] [stdout] test tests::test_canonical_json_produces_deterministic_hashes ... ok
[INFO] [stdout] test pii::tests::test_pii_scanner_rejects_overlength_custom_pattern ... ok
[INFO] [stdout] test pii::tests::test_has_pii_uses_luhn_for_credit_cards ... ok
[INFO] [stdout] test pii::tests::test_find_matches_multiple_categories ... ok
[INFO] [stdout] test pii::tests::test_ssn_detected ... ok
[INFO] [stdout] test pii::tests::test_substring_redaction_mixed_text ... ok
[INFO] [stdout] test tests::test_checkpoint_key_from_bytes_roundtrip ... ok
[INFO] [stdout] test tests::test_backward_compat_legacy_entries ... ok
[INFO] [stdout] test redaction::tests::test_redact_with_scanner_substring_preserves_context ... ok
[INFO] [stdout] test pii::tests::test_redaction_idempotent ... ok
[INFO] [stdout] test redaction::tests::test_redact_with_scanner_sensitive_key ... ok
[INFO] [stdout] test redaction::tests::test_redact_with_scanner_safe_string_unchanged ... ok
[INFO] [stdout] test tests::test_audit_log_permissions_0600 ... ok
[INFO] [stdout] test redaction::tests::test_redact_with_scanner_depth_limit_fail_closed ... ok
[INFO] [stdout] test tests::test_checkpoint_no_key_returns_error ... ok
[INFO] [stdout] test tests::test_checkpoint_decreasing_entry_count_detected ... ok
[INFO] [stdout] test tests::test_checkpoint_different_key_single_checkpoint_passes_without_pin ... ok
[INFO] [stdout] test redaction::tests::test_redact_with_scanner_value_prefix ... ok
[INFO] [stdout] test tests::test_checkpoint_path_derivation ... ok
[INFO] [stdout] test tests::test_checkpoint_oversized_line_skipped ... ok
[INFO] [stdout] test tests::test_checkpoint_creation ... ok
[INFO] [stdout] test tests::test_checkpoint_sequential_creation_safety ... ok
[INFO] [stdout] test tests::test_checkpoint_legacy_v1_signature_still_verifies ... ok
[INFO] [stdout] test tests::test_checkpoint_empty_log ... ok
[INFO] [stdout] test tests::test_checkpoint_key_pinning_rejects_forged_key ... ok
[INFO] [stdout] test tests::test_checkpoint_multiple_sequential ... ok
[INFO] [stdout] test tests::test_checkpoint_verification_empty ... ok
[INFO] [stdout] test tests::test_detect_heartbeat_gap_returns_first_gap ... ok
[INFO] [stdout] test tests::test_detect_heartbeat_gap_empty_log ... ok
[INFO] [stdout] test tests::test_checkpoint_key_continuity_rejects_key_change ... ok
[INFO] [stdout] test tests::test_exploit10_verify_chain_rejects_oversized_log ... ok
[INFO] [stdout] test tests::test_detect_heartbeat_gap_finds_gap ... ok
[INFO] [stdout] test tests::test_checkpoint_permissions_0600 ... ok
[INFO] [stdout] test tests::test_detect_heartbeat_gap_no_gap ... ok
[INFO] [stdout] test tests::test_checkpoint_tampered_audit_log_detected ... ok
[INFO] [stdout] test tests::test_exploit10_normal_sized_log_loads_fine ... ok
[INFO] [stdout] test tests::test_empty_log_load ... ok
[INFO] [stdout] test tests::test_checkpoint_tampered_entry_count_detected ... ok
[INFO] [stdout] test tests::test_detect_heartbeat_gap_single_entry ... ok
[INFO] [stdout] test tests::test_file_audit_query_count_empty_log_returns_zero ... ok
[INFO] [stdout] test tests::test_checkpoint_tampered_signature_detected ... ok
[INFO] [stdout] test tests::test_checkpoint_verification_valid ... ok
[INFO] [stdout] test tests::test_exploit10_oversized_audit_log_rejected ... ok
[INFO] [stdout] test tests::test_fix2_field_separator_prevents_boundary_shift ... ok
[INFO] [stdout] test tests::test_exploit8_entries_added_after_checkpoint_still_valid ... ok
[INFO] [stdout] test tests::test_exploit8_middle_deletion_detected ... ok
[INFO] [stdout] test tests::test_exploit8_tail_truncation_detected_by_checkpoint ... ok
[INFO] [stdout] test tests::test_exploit8_no_false_positive_when_entries_match ... ok
[INFO] [stdout] test tests::test_file_audit_query_recent_capped_at_max_query_limit ... ok
[INFO] [stdout] test tests::test_gap_t03b_detect_heartbeat_gap_single_entry ... ok
[INFO] [stdout] test tests::test_file_audit_query_search_invalid_params_returns_validation_error ... ok
[INFO] [stdout] test tests::test_gap_t03_detect_heartbeat_gap ... ok
[INFO] [stdout] test tests::test_file_audit_query_get_by_id_nonexistent_returns_none ... ok
[INFO] [stdout] test tests::test_gap_t04b_list_rotated_files_non_matching ... ok
[INFO] [stdout] test tests::test_gap_t05_merkle_compute_siblings_single_leaf ... ok
[INFO] [stdout] test tests::test_file_audit_query_search_empty_log_returns_zero_total ... ok
[INFO] [stdout] test tests::test_file_audit_query_get_by_id_empty_id_returns_validation_error ... ok
[INFO] [stdout] test tests::test_gap_t05d_merkle_out_of_bounds ... ok
[INFO] [stdout] test tests::test_gap_t02_event_logging_helpers ... ok
[INFO] [stdout] test tests::test_gap_t05c_merkle_power_of_two ... ok
[INFO] [stdout] test tests::test_file_audit_query_recent_empty_log_returns_empty_vec ... ok
[INFO] [stdout] test tests::test_file_audit_query_count_invalid_params_returns_validation_error ... ok
[INFO] [stdout] test tests::test_gap_t01_initialize_chain_with_corrupted_log ... ok
[INFO] [stdout] test tests::test_gap_t05b_merkle_odd_leaf_count ... ok
[INFO] [stdout] test tests::test_gap_t03c_detect_heartbeat_gap_empty ... ok
[INFO] [stdout] test access_review::tests::test_bounded_agents ... ok
[INFO] [stdout] test tests::test_fix1_hashless_entry_after_hashed_rejected ... ok
[INFO] [stdout] test tests::test_gap_t04_list_rotated_files_empty_dir ... ok
[INFO] [stdout] test tests::test_file_audit_query_search_with_entries_returns_correct_total ... ok
[INFO] [stdout] test tests::test_fix4_hash_not_updated_on_write_failure ... ok
[INFO] [stdout] test tests::test_gap_t04c_list_rotated_files_missing_dir ... ok
[INFO] [stdout] test tests::test_gap_t06_etdi_audit_helpers ... ok
[INFO] [stdout] test tests::test_heartbeat_creates_valid_entry ... ok
[INFO] [stdout] test tests::test_hash_chain_integrity ... ok
[INFO] [stdout] test tests::test_heartbeat_participates_in_hash_chain ... ok
[INFO] [stdout] test tests::test_generate_report ... ok
[INFO] [stdout] test tests::test_keys_and_patterns_redacts_pii ... ok
[INFO] [stdout] test tests::test_list_rotated_files_nonexistent_dir ... ok
[INFO] [stdout] test tests::test_keys_only_preserves_value_prefixes ... ok
[INFO] [stdout] test tests::test_fix3_initialize_chain_rejects_tampered_file ... ok
[INFO] [stdout] test tests::test_list_rotated_files_empty_when_no_rotation ... ok
[INFO] [stdout] test tests::test_keys_and_patterns_redacts_metadata_pii ... ok
[INFO] [stdout] test tests::test_log_and_load ... ok
[INFO] [stdout] test tests::test_initialize_chain_recovers_next_global_sequence ... ok
[INFO] [stdout] test tests::test_initialize_chain_resumes ... ok
[INFO] [stdout] test tests::test_log_circuit_breaker_event_opened ... ok
[INFO] [stdout] test tests::test_log_auth_event_step_up_required ... ok
[INFO] [stdout] test tests::test_log_entry_with_acis_rejects_dangerous_chars_in_decision_id ... ok
[INFO] [stdout] test tests::test_log_service_discovery_event_endpoint_added ... ok
[INFO] [stdout] test tests::test_log_sampling_event_rate_limit_exceeded ... ok
[INFO] [stdout] test tests::test_keys_only_preserves_emails ... ok
[INFO] [stdout] test tests::test_keys_and_patterns_redacts_value_prefixes ... ok
[INFO] [stdout] test tests::test_log_schema_event_poisoning_alert ... ok
[INFO] [stdout] test tests::test_log_entry_with_acis_persists_dedicated_envelope ... ok
[INFO] [stdout] test tests::test_log_entry_with_acis_rejects_invalid_envelope ... ok
[INFO] [stdout] test tests::test_merkle_domain_separation_leaf_ne_internal ... ok
[INFO] [stdout] test tests::test_merkle_crash_recovery ... ok
[INFO] [stdout] test tests::test_merkle_empty_tree_root_is_none ... ok
[INFO] [stdout] test tests::test_log_deputy_event_validation_failed ... ok
[INFO] [stdout] test tests::test_merkle_domain_separation_non_commutative ... ok
[INFO] [stdout] test tests::test_log_service_discovery_event_endpoint_removed ... ok
[INFO] [stdout] test tests::test_merkle_logger_integration_entries_with_merkle ... ok
[INFO] [stdout] test tests::test_log_leader_election_event_lost_produces_deny ... ok
[INFO] [stdout] test tests::test_merkle_order_dependence ... ok
[INFO] [stdout] test tests::test_log_leader_election_event_acquired ... ok
[INFO] [stdout] test tests::test_merkle_logger_proof_generation_and_verification ... ok
[INFO] [stdout] test tests::test_merkle_partial_write_truncation ... ok
[INFO] [stdout] test tests::test_merkle_proof_out_of_range ... ok
[INFO] [stdout] test tests::test_merkle_proof_serde_roundtrip ... ok
[INFO] [stdout] test tests::test_logger_no_sink_log_entry_succeeds ... ok
[INFO] [stdout] test tests::test_log_circuit_breaker_event_rejected ... ok
[INFO] [stdout] test tests::test_merkle_power_of_two_leaves ... ok
[INFO] [stdout] test tests::test_merkle_proof_roundtrip_single ... ok
[INFO] [stdout] test tests::test_merkle_logger_checkpoint_includes_root ... ok
[INFO] [stdout] test tests::test_merkle_proof_zero_tree_size ... ok
[INFO] [stdout] test tests::test_log_leader_election_event_failed_produces_deny ... ok
[INFO] [stdout] test tests::test_merkle_proof_tampered_root_rejected ... ok
[INFO] [stdout] test tests::test_merkle_single_leaf ... ok
[INFO] [stdout] test tests::test_merkle_proof_roundtrip_multiple ... ok
[INFO] [stdout] test tests::test_merkle_proof_tampered_sibling_rejected ... ok
[INFO] [stdout] test tests::test_merkle_proof_tampered_leaf_rejected ... ok
[INFO] [stdout] test tests::test_merkle_proof_self_referential_forgery_rejected ... ok
[INFO] [stdout] test tests::test_merkle_reset_clears_tree ... ok
[INFO] [stdout] test tests::test_merkle_three_leaves ... ok
[INFO] [stdout] test tests::test_log_task_event_created ... ok
[INFO] [stdout] test tests::test_log_service_discovery_event_refresh_failed_produces_deny ... ok
[INFO] [stdout] test tests::test_pqc_checkpoint_serde_round_trip ... ok
[INFO] [stdout] test tests::test_pqc_fields_skip_serializing_when_none ... ok
[INFO] [stdout] test tests::test_merkle_two_leaves ... ok
[INFO] [stdout] test tests::test_merkle_root_determinism ... ok
[INFO] [stdout] test tests::test_merkle_tree_max_leaf_count_boundary ... ok
[INFO] [stdout] test tests::test_pqc_signing_content_v1_backward_compat ... ok
[INFO] [stdout] test tests::test_pqc_signing_content_v2_key_binding ... ok
[INFO] [stdout] test tests::test_pqc_v1_checkpoint_deserialization ... ok
[INFO] [stdout] test tests::test_pqc_signing_content_v2_includes_pqc_key ... ok
[INFO] [stdout] test tests::test_merkle_checkpoint_backward_compat ... ok
[INFO] [stdout] test tests::test_logger_with_sink_fatal_flag ... ok
[INFO] [stdout] test tests::test_pqc_trusted_key_builder ... ok
[INFO] [stdout] test tests::test_parent_dir_creation ... ok
[INFO] [stdout] test tests::test_log_shadow_agent_event_detected ... ok
[INFO] [stdout] test tests::test_pqc_rotation_manifest_ed25519_error_message ... ok
[INFO] [stdout] test tests::test_r227_verify_chain_rejects_non_utc_timestamp ... ok
[INFO] [stdout] test tests::test_r238_aud1_tenant_id_dangerous_chars_dropped ... ok
[INFO] [stdout] test tests::test_logger_with_sink_sets_sink_field ... ok
[INFO] [stdout] test tests::test_metadata_depth_rejected ... ok
[INFO] [stdout] test tests::test_r253_aud6_too_many_targets_rejected ... ok
[INFO] [stdout] test tests::test_r238_aud1_tenant_id_valid_passes ... ok
[INFO] [stdout] test tests::test_r36_sup_3_resolved_ips_not_redacted_when_off ... ok
[INFO] [stdout] test tests::test_redact_empty_object ... ok
[INFO] [stdout] test tests::test_r253_aud1_metadata_size_check_rejects_oversized ... ok
[INFO] [stdout] test tests::test_redact_keys_and_patterns_depth_63_redacts_pii ... ok
[INFO] [stdout] test tests::test_redact_keys_and_patterns_depth_64_returns_value_as_is ... ok
[INFO] [stdout] test tests::test_redact_keys_only_depth_63_succeeds ... ok
[INFO] [stdout] test tests::test_r36_sup_3_resolved_ips_redacted ... ok
[INFO] [stdout] test tests::test_r238_aud1_tenant_id_too_long_dropped ... ok
[INFO] [stdout] test tests::test_redact_nfkc_normalized_fullwidth_digits_phone ... ok
[INFO] [stdout] test tests::test_redact_nfkc_mixed_ascii_fullwidth_email ... ok
[INFO] [stdout] test tests::test_redact_null_value_preserved ... ok
[INFO] [stdout] test tests::test_redact_keys_only_depth_65_still_safe ... ok
[INFO] [stdout] test tests::test_redact_keys_only_depth_64_returns_value_as_is ... ok
[INFO] [stdout] test tests::test_redact_number_matching_ssn_pattern_redacted ... ok
[INFO] [stdout] test tests::test_redact_nfkc_normalized_fullwidth_digits_ssn ... ok
[INFO] [stdout] test tests::test_redact_number_not_matching_pii_preserved ... ok
[INFO] [stdout] test tests::test_redact_value_prefix_case_insensitive ... ok
[INFO] [stdout] test tests::test_metadata_shallow_accepted ... ok
[INFO] [stdout] test tests::test_multiple_entries_append ... ok
[INFO] [stdout] test tests::test_pqc_ed25519_error_message_format ... ok
[INFO] [stdout] test tests::test_r38_sup_1_oversized_rotated_file_rejected ... ok
[INFO] [stdout] test tests::test_r228_verify_chain_mixed_utc_suffixes_correct_order ... ok
[INFO] [stdout] test tests::test_redaction_sensitive_value_prefix ... ok
[INFO] [stdout] test tests::test_pqc_v2_checkpoint_without_feature_fails_closed ... ok
[INFO] [stdout] test tests::test_r36_sup_1_target_paths_use_pii_scanner ... ok
[INFO] [stdout] test tests::test_redaction_sensitive_param_key ... ok
[INFO] [stdout] test tests::test_redaction_metadata_also_redacted ... ok
[INFO] [stdout] test tests::test_r228_verify_chain_mixed_suffix_regression_detected ... ok
[INFO] [stdout] test tests::test_r253_aud6_target_path_too_long_rejected ... ok
[INFO] [stdout] test tests::test_redaction_nested_values ... ok
[INFO] [stdout] test tests::test_redact_with_scanner_depth_boundary ... ok
[INFO] [stdout] test tests::test_r227_verify_chain_accepts_utc_timestamp ... ok
[INFO] [stdout] test tests::test_redaction_hash_chain_still_valid ... ok
[INFO] [stdout] test tests::test_rotation_disabled_when_zero ... ok
[INFO] [stdout] test tests::test_rotation_no_manifest_passes ... ok
[INFO] [stdout] test tests::test_redact_with_scanner_nfkc_normalized ... ok
[INFO] [stdout] test tests::test_rotation_verification_detects_missing_file ... ok
[INFO] [stdout] test tests::test_rotation_manifest_path_traversal_rejected ... ok
[INFO] [stdout] test tests::test_rotation_manifest_start_hash_mismatch_rejected ... ok
[INFO] [stdout] test tests::test_rotation_manifest_valid_filename_accepted ... ok
[INFO] [stdout] test tests::test_rotation_initialize_chain_after_rotation ... ok
[INFO] [stdout] test tests::test_sink_error_display_buffer_full ... ok
[INFO] [stdout] test tests::test_rotation_manifest_entry_reordering_detected ... ok
[INFO] [stdout] test tests::test_sink_error_display_serialization ... ok
[INFO] [stdout] test tests::test_sink_error_display_connection ... ok
[INFO] [stdout] test tests::test_sink_error_display_write ... ok
[INFO] [stdout] test tests::test_sink_error_display_shutting_down ... ok
[INFO] [stdout] test tests::test_rotation_starts_fresh_hash_chain ... ok
[INFO] [stdout] test tests::test_rotation_verification_detects_missing_file_gap_after_existing_segment ... ok
[INFO] [stdout] test tests::test_rotation_manifest_entry_replacement_detected ... ok
[INFO] [stdout] test tests::test_rotation_verification_detects_tampered_file ... ok
[INFO] [stdout] test tests::test_unredacted_logger_preserves_all_values ... ok
[INFO] [stdout] test tests::test_rotation_writes_manifest ... ok
[INFO] [stdout] test tests::test_rotation_empty_log_file_no_rotation ... ok
[INFO] [stdout] test tests::test_rotation_manifest_entry_deletion_detected ... ok
[INFO] [stdout] test tests::test_rotation_no_data_loss ... ok
[INFO] [stdout] test tests::test_validation_null_byte ... ok
[INFO] [stdout] test tests::test_validation_newline_in_tool ... ok
[INFO] [stdout] test tests::test_trusted_key_builder_rejects_single_forged_checkpoint ... ok
[INFO] [stdout] test tests::test_sync_on_nonexistent_file_is_ok ... ok
[INFO] [stdout] test tests::test_with_max_file_size_builder ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_append_bytes_creates_parent_and_persists ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_path_traversal_rejected ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_read_if_exists_sync_missing_is_none ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_rename_if_exists_returns_false_for_missing_file ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_append_bytes_sync_creates_parent_and_persists ... ok
[INFO] [stdout] test trusted_audit_fs::tests::test_truncate_file_sync_shrinks_file ... ok
[INFO] [stdout] test trusted_merkle_hash::tests::test_decode_hash_hex_rejects_invalid_hex ... ok
[INFO] [stdout] test trusted_merkle_hash::tests::test_encode_decode_hash_hex_roundtrip ... ok
[INFO] [stdout] test trusted_merkle_hash::tests::test_hash_internal_is_order_sensitive ... ok
[INFO] [stdout] test trusted_merkle_hash::tests::test_hash_leaf_and_internal_preserve_domain_separation ... ok
[INFO] [stdout] test trusted_merkle_hash::tests::test_hash_matches_trusted_root_requires_exact_encoding ... ok
[INFO] [stdout] test tests::test_verify_chain_detects_tampering ... ok
[INFO] [stdout] test tests::test_verification_corrupted_utf8_line_skipped ... ok
[INFO] [stdout] test tests::test_rotation_triggers_when_size_exceeded ... ok
[INFO] [stdout] test tests::test_sync_flushes_entries_to_disk ... ok
[INFO] [stdout] test tests::test_verify_chain_valid ... ok
[INFO] [stdout] test tests::test_rotation_rotated_file_has_valid_chain ... ok
[INFO] [stdout] test tests::test_verification_embedded_null_in_json_handled ... ok
[INFO] [stdout] test tests::test_verify_chain_empty ... ok
[INFO] [stdout] test tests::test_trusted_key_builder_accepts_legitimate_checkpoint ... ok
[INFO] [stdout] test verification::tests::test_strip_utc_suffix_lowercase_z ... ok
[INFO] [stdout] test verification::tests::test_strip_utc_suffix_no_suffix ... ok
[INFO] [stdout] test verification::tests::test_strip_utc_suffix_plus_zero ... ok
[INFO] [stdout] test verification::tests::test_strip_utc_suffix_z ... ok
[INFO] [stdout] test tests::test_rotation_verification_passes_valid ... ok
[INFO] [stdout] test verification::tests::test_load_entries_skips_oversized_lines ... ok
[INFO] [stdout] test verification::tests::test_detect_duplicate_ids_finds_duplicates ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_detects_timestamp_regression ... ok
[INFO] [stdout] test verification::tests::test_generate_report_counts_verdicts ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_empty_log_valid ... ok
[INFO] [stdout] test verification::tests::test_load_entries_in_sequence_range_enforces_capacity_limit ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_detects_sequence_regression ... ok
[INFO] [stdout] test verified_audit_append::tests::test_assigned_sequence_is_identity ... ok
[INFO] [stdout] test verified_audit_append::tests::test_entry_count_after_rotation_resets_to_zero ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_entry_count_increments_when_not_saturated ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_entry_count_saturates_at_u64_max ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_global_sequence_increments_when_not_saturated ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_global_sequence_saturates_at_u64_max ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_sequence_after_recovery_increments_when_not_saturated ... ok
[INFO] [stdout] test verified_audit_append::tests::test_next_sequence_after_recovery_saturates_at_u64_max ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_audit_chain_step_valid_accepts_unhashed_legacy_entry ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_audit_chain_step_valid_rejects_hashed_link_mismatch ... ok
[INFO] [stdout] test verification::tests::test_generate_report_empty_log ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_audit_chain_step_valid_rejects_hashed_self_hash_mismatch ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_hash_presence_valid_accepts_legacy_prefix ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_hash_presence_valid_rejects_unhashed_after_hashed ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_next_prev_sequence_preserves_legacy_zero ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_sequence_monotonic_accepts_legacy_zero ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_sequence_monotonic_rejects_regression ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_timestamp_guard_accepts_utc_nondecreasing ... ok
[INFO] [stdout] test verification::tests::test_load_entries_empty_file_returns_empty_vec ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_timestamp_guard_rejects_non_utc ... ok
[INFO] [stdout] test verified_merkle::tests::test_append_allowed_accepts_below_limit ... ok
[INFO] [stdout] test verified_merkle::tests::test_append_allowed_rejects_at_limit ... ok
[INFO] [stdout] test verified_merkle::tests::test_proof_leaf_index_valid_rejects_out_of_range ... ok
[INFO] [stdout] test verified_merkle::tests::test_proof_sibling_count_valid_rejects_too_many_siblings ... ok
[INFO] [stdout] test verified_merkle::tests::test_proof_tree_size_valid_rejects_zero ... ok
[INFO] [stdout] test verified_merkle::tests::test_sibling_hash_len_valid_requires_32_bytes ... ok
[INFO] [stdout] test verified_merkle::tests::test_stored_leaf_count_valid_accepts_equal_limit ... ok
[INFO] [stdout] test verified_merkle::tests::test_stored_leaf_count_valid_rejects_over_limit ... ok
[INFO] [stdout] test verified_merkle_fold::tests::test_fold_peak_into_root_places_peak_on_left ... ok
[INFO] [stdout] test verified_merkle_fold::tests::test_fold_proof_step_respects_left_flag ... ok
[INFO] [stdout] test verified_merkle_fold::tests::test_next_level_hashes_pairs_two_nodes ... ok
[INFO] [stdout] test verified_merkle_fold::tests::test_next_level_hashes_promotes_odd_tail ... ok
[INFO] [stdout] test verified_merkle_fold::tests::test_next_level_len_rounds_up_odd_width ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_level_has_sibling_accepts_paired_nodes ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_level_has_sibling_rejects_promoted_tail ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_parent_index_halves_node_index ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_sibling_index_even_uses_right_neighbor ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_sibling_index_odd_uses_left_neighbor ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_timestamp_guard_rejects_regression ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_step_is_left_matches_odd_indices ... ok
[INFO] [stdout] test verified_merkle_path::tests::test_proof_step_places_sibling_left_is_identity ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_missing_rotated_file_allowed_only_before_existing_segment ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_rotated_file_reference_valid_accepts_bare_filename ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_rotated_file_reference_valid_rejects_unsafe_paths ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_rotation_start_hash_link_valid_allows_empty_start_hash ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_rotation_start_hash_link_valid_allows_first_segment_without_previous_tail ... ok
[INFO] [stdout] test verified_rotation_manifest::tests::test_rotation_start_hash_link_valid_rejects_mismatch_after_previous_tail ... ok
[INFO] [stdout] test verified_audit_chain::tests::test_next_seen_hashed_entry_latches_true ... ok
[INFO] [stdout] test verification::tests::test_load_entries_in_sequence_range_returns_matches_only ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_rejects_unhashed_entry_after_hashed_entry ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_mixed_utc_suffixes_valid ... ok
[INFO] [stdout] test tests::test_verification_max_audit_line_size_boundary ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_valid_chain ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_rejects_non_utc_timestamp ... ok
[INFO] [stdout] test verification::tests::test_detect_duplicate_ids_no_duplicates ... ok
[INFO] [stdout] test verification::tests::test_verify_chain_detects_tampered_hash ... ok
[INFO] [stdout] test verification::tests::test_load_entries_skips_corrupt_lines ... ok
[INFO] [stdout] test tests::test_merkle_tree_large_batch_1000_leaves_proof ... ok
[INFO] [stdout] test verification::tests::test_load_entries_rejects_oversized_file ... ok
[INFO] [stdout] test tests::test_rotation_preserves_unique_monotonic_global_sequences ... ok
[INFO] [stdout] test exec_graph::tests::test_add_node_metadata_not_updated_at_capacity has been running for over 60 seconds
[INFO] [stdout] test exec_graph::tests::test_add_node_metadata_not_updated_at_capacity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 935 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 80.66s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/audit_logging.rs (/opt/rustwide/target/debug/deps/audit_logging-4bcca8bb34f35f8b)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test log_multiple_entries_preserves_order ... ok
[INFO] [stdout] test logger_handles_concurrent_writes ... ok
[INFO] [stdout] test generate_report_empty_log ... ok
[INFO] [stdout] test log_and_retrieve_entries ... ok
[INFO] [stdout] test generate_report_with_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cross_crate_audit.rs (/opt/rustwide/target/debug/deps/cross_crate_audit-67a65bf58b538226)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_log_and_load_multiple_entries ... ok
[INFO] [stdout] test test_log_and_load_single_entry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-a8d646dcc62dc502)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test detect_duplicate_ids_finds_injected_duplicates ... ok
[INFO] [stdout] test detect_heartbeat_gap_finds_injected_gap ... ok
[INFO] [stdout] test log_heartbeat_creates_vellaveto_entry ... ok
[INFO] [stdout] test detect_duplicate_ids_sorted_by_count_descending ... ok
[INFO] [stdout] test log_heartbeat_sequence_numbers_recorded ... ok
[INFO] [stdout] test detect_heartbeat_gap_no_gap_in_rapid_entries ... ok
[INFO] [stdout] test detect_duplicate_ids_empty_log_returns_empty ... ok
[INFO] [stdout] test generate_report_on_empty_log ... ok
[INFO] [stdout] test detect_heartbeat_gap_empty_log_returns_none ... ok
[INFO] [stdout] test load_entries_is_idempotent ... ok
[INFO] [stdout] test entries_from_fresh_logger_are_empty ... ok
[INFO] [stdout] test concurrent_writes_all_captured ... ok
[INFO] [stdout] test detect_heartbeat_gap_single_entry_returns_none ... ok
[INFO] [stdout] test detect_duplicate_ids_unique_entries_returns_empty ... ok
[INFO] [stdout] test generate_report_with_mixed_verdicts ... ok
[INFO] [stdout] test log_deny_verdict ... ok
[INFO] [stdout] test log_require_approval_verdict ... ok
[INFO] [stdout] test empty_and_null_metadata ... ok
[INFO] [stdout] test log_single_entry_and_retrieve ... ok
[INFO] [stdout] test multiple_entries_preserve_order ... ok
[INFO] [stdout] test unicode_in_action_fields ... ok
[INFO] [stdout] test large_metadata_does_not_corrupt_log ... ok
[INFO] [stdout] test report_after_many_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proptest_audit.rs (/opt/rustwide/target/debug/deps/proptest_audit-7b1e009809f431d5)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test multiple_checkpoints_all_verify ... ok
[INFO] [stdout] test hash_chain_links_are_consistent ... ok
[INFO] [stdout] test checkpoint_always_verifies ... ok
[INFO] [stdout] test hash_chain_always_verifies ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proptest_observability.rs (/opt/rustwide/target/debug/deps/proptest_observability-568d5e8e73110822)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_trace_context_round_trip_preserves_valid_traceparent ... ok
[INFO] [stdout] test test_sampler_is_deterministic_for_same_trace_id ... ok
[INFO] [stdout] test test_security_span_round_trip_preserves_core_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests vellaveto_audit
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/adversa_top25.rs - adversa_top25 (line 22) ... ignored
[INFO] [stdout] test src/atlas.rs - atlas (line 20) ... ignored
[INFO] [stdout] test src/cosai.rs - cosai (line 25) ... ignored
[INFO] [stdout] test src/dora.rs - dora (line 15) ... ignored
[INFO] [stdout] test src/evidence_pack.rs - evidence_pack (line 16) ... ignored
[INFO] [stdout] test src/gap_analysis.rs - gap_analysis (line 18) ... ignored
[INFO] [stdout] test src/iso42001.rs - iso42001 (line 16) ... ignored
[INFO] [stdout] test src/nis2.rs - nis2 (line 15) ... ignored
[INFO] [stdout] test src/nist_ai600.rs - nist_ai600 (line 32) ... ignored
[INFO] [stdout] test src/owasp_mcp.rs - owasp_mcp (line 17) ... ignored
[INFO] [stdout] test src/owasp_asi.rs - owasp_asi (line 15) ... ok
[INFO] [stdout] test src/observability/mod.rs - observability::RedactionConfig (line 986) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 1.60s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ff3dfba4e0a488e2dd265933d86a263f29f7bf546dcffab6e616d2bc872903af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff3dfba4e0a488e2dd265933d86a263f29f7bf546dcffab6e616d2bc872903af", kill_on_drop: false }`
[INFO] [stdout] ff3dfba4e0a488e2dd265933d86a263f29f7bf546dcffab6e616d2bc872903af
