[INFO] fetching crate vellaveto-types 6.1.1... [INFO] testing vellaveto-types-6.1.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate vellaveto-types 6.1.1 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate vellaveto-types 6.1.1 [INFO] finished tweaking crates.io crate vellaveto-types 6.1.1 [INFO] tweaked toml for crates.io crate vellaveto-types 6.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate vellaveto-types 6.1.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate vellaveto-types 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 97479a6823ab7a007b45ce3f81de890b6463f07dfb5f8c42258dde4e1a215960 [INFO] running `Command { std: "docker" "start" "-a" "97479a6823ab7a007b45ce3f81de890b6463f07dfb5f8c42258dde4e1a215960", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "97479a6823ab7a007b45ce3f81de890b6463f07dfb5f8c42258dde4e1a215960", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "97479a6823ab7a007b45ce3f81de890b6463f07dfb5f8c42258dde4e1a215960", kill_on_drop: false }` [INFO] [stdout] 97479a6823ab7a007b45ce3f81de890b6463f07dfb5f8c42258dde4e1a215960 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5050e0a8197adcaefb21f81914e81de9cd2fb6a2cc986b9a0c460dc2c4728c89 [INFO] running `Command { std: "docker" "start" "-a" "5050e0a8197adcaefb21f81914e81de9cd2fb6a2cc986b9a0c460dc2c4728c89", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling vellaveto-types v6.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.51s [INFO] running `Command { std: "docker" "inspect" "5050e0a8197adcaefb21f81914e81de9cd2fb6a2cc986b9a0c460dc2c4728c89", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5050e0a8197adcaefb21f81914e81de9cd2fb6a2cc986b9a0c460dc2c4728c89", kill_on_drop: false }` [INFO] [stdout] 5050e0a8197adcaefb21f81914e81de9cd2fb6a2cc986b9a0c460dc2c4728c89 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 097ffea31e472ce7f0951079375ecd8449694da58a667cfc14f0b0dd1cd87715 [INFO] running `Command { std: "docker" "start" "-a" "097ffea31e472ce7f0951079375ecd8449694da58a667cfc14f0b0dd1cd87715", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling vellaveto-types v6.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 29.71s [INFO] running `Command { std: "docker" "inspect" "097ffea31e472ce7f0951079375ecd8449694da58a667cfc14f0b0dd1cd87715", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "097ffea31e472ce7f0951079375ecd8449694da58a667cfc14f0b0dd1cd87715", kill_on_drop: false }` [INFO] [stdout] 097ffea31e472ce7f0951079375ecd8449694da58a667cfc14f0b0dd1cd87715 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8e96cfdcd2b96eb76025ca777175daea74658685a4f54b8742b1fef4f129cef5 [INFO] running `Command { std: "docker" "start" "-a" "8e96cfdcd2b96eb76025ca777175daea74658685a4f54b8742b1fef4f129cef5", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vellaveto_types-fa9bb9a7f8a8dde6) [INFO] [stdout] [INFO] [stdout] running 1097 tests [INFO] [stdout] test acis::tests::test_dangerous_chars_in_session_id_rejected ... ok [INFO] [stdout] test acis::tests::test_dangerous_chars_in_tenant_id_rejected ... ok [INFO] [stdout] test acis::tests::test_decision_kind_default_is_deny ... ok [INFO] [stdout] test acis::tests::test_decision_kind_from_verdict ... ok [INFO] [stdout] test acis::tests::test_deny_unknown_fields_rejects_extra ... ok [INFO] [stdout] test acis::tests::test_empty_fingerprint_rejected ... ok [INFO] [stdout] test acis::tests::test_empty_transport_rejected ... ok [INFO] [stdout] test acis::tests::test_finding_too_long_rejected ... ok [INFO] [stdout] test acis::tests::test_empty_decision_id_rejected ... ok [INFO] [stdout] test acis::tests::test_minimal_envelope_validates ... ok [INFO] [stdout] test acis::tests::test_non_utc_timestamp_rejected ... ok [INFO] [stdout] test acis::tests::test_oversized_reason_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_agent_id_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_oversized_fingerprint_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_agent_id_empty_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_agent_id_oversized_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_agent_id_valid_accepted ... ok [INFO] [stdout] test acis::tests::test_r244_agent_identity_validation_delegated ... ok [INFO] [stdout] test acis::tests::test_r244_call_chain_depth_max_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_call_chain_depth_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r244_evaluation_us_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r244_evaluation_us_max_rejected ... ok [INFO] [stdout] test acis::tests::test_envelope_serialization_roundtrip ... ok [INFO] [stdout] test acis::tests::test_r244_finding_bidi_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_finding_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_function_empty_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_function_oversized_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_reason_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r244_tool_oversized_rejected ... ok [INFO] [stdout] test acis::tests::test_r246_action_summary_standalone_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r246_action_summary_standalone_empty_tool_rejected ... ok [INFO] [stdout] test acis::tests::test_r246_action_summary_standalone_validate_ok ... ok [INFO] [stdout] test acis::tests::test_r246_target_counts_at_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r246_target_domain_count_max_rejected ... ok [INFO] [stdout] test acis::tests::test_r246_target_path_count_max_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_both_target_counts_at_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r254_decision_id_exactly_at_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r254_decision_id_over_max_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_decision_origin_all_variants_roundtrip ... ok [INFO] [stdout] test acis::tests::test_r254_findings_exactly_at_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r254_matched_policy_id_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_session_id_exactly_at_max_accepted ... ok [INFO] [stdout] test acis::tests::test_r254_session_id_over_max_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_transport_dangerous_chars_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_transport_oversized_rejected ... ok [INFO] [stdout] test acis::tests::test_r254_decision_origin_snake_case_format ... ok [INFO] [stdout] test acis::tests::test_too_many_findings_rejected ... ok [INFO] [stdout] test acis::tests::test_utc_plus_zero_timestamp_accepted ... ok [INFO] [stdout] test asset_inventory::tests::test_inventory_add_and_find ... ok [INFO] [stdout] test asset_inventory::tests::test_security_metadata_defaults ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_classifications_at_max_ok ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_provenance_control_chars_rejected ... ok [INFO] [stdout] test asset_inventory::tests::test_inventory_below_trust ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_empty_classifications_ok ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_empty_tool_rejected ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_provenance_none_ok ... ok [INFO] [stdout] test asset_inventory::tests::test_inventory_by_type ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_provenance_too_long_rejected ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_classifications_overflow_rejected ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_retention_days_max_ok ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_retention_days_none_ok ... ok [INFO] [stdout] test command::tests::resolves_absolute_path ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_retention_days_zero_ok ... ok [INFO] [stdout] test command::tests::rejects_non_executable_file ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_tool_control_chars_rejected ... ok [INFO] [stdout] test command::tests::resolves_from_path ... ok [INFO] [stdout] test command::tests::rejects_nonexistent_command ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_tool_too_long_rejected ... ok [INFO] [stdout] test compliance::tests::test_data_governance_record_validate_valid_baseline_ok ... ok [INFO] [stdout] test delegation_token::tests::test_chain_delegation_three_hops ... ok [INFO] [stdout] test delegation_token::tests::test_derive_child_at_depth_zero_fails ... ok [INFO] [stdout] test delegation_token::tests::test_derive_child_monotonic_expiry ... ok [INFO] [stdout] test delegation_token::tests::test_can_redelegate ... ok [INFO] [stdout] test delegation_token::tests::test_derive_child_monotonic_trust ... ok [INFO] [stdout] test delegation_token::tests::test_validate_empty_token_id ... ok [INFO] [stdout] test delegation_token::tests::test_validate_ok ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_display ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_from_parts ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_from_parts_invalid_rejected ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_genesis_operation_serde ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_invalid_characters ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_invalid_prefix ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_invalid_suffix_length ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_serde_rejects_invalid ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_serde_roundtrip ... ok [INFO] [stdout] test did_plc::tests::test_did_plc_valid ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_accepts_apr_30 ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_accepts_feb_28_non_leap ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_accepts_feb_29_leap ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_accepts_jan_31 ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_century_leap_year ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_rejects_apr_31 ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_rejects_feb_29_non_leap ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_rejects_feb_30_non_leap ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_rejects_feb_31 ... ok [INFO] [stdout] test etdi::tests::test_r231_iso8601_rejects_jun_31 ... ok [INFO] [stdout] test json_rpc::tests::test_application_codes_in_reserved_range ... ok [INFO] [stdout] test json_rpc::tests::test_no_duplicate_codes ... ok [INFO] [stdout] test json_rpc::tests::test_standard_codes_in_spec_range ... ok [INFO] [stdout] test metering::tests::test_billing_period_validate_empty_start ... ok [INFO] [stdout] test metering::tests::test_billing_period_validate_ok ... ok [INFO] [stdout] test metering::tests::test_quota_status_deny_unknown_fields ... ok [INFO] [stdout] test metering::tests::test_quota_status_validate_ok ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_deny_unknown_fields ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_serde_roundtrip ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_empty_tenant ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_empty_timestamp ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_ok ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_tenant_invalid_chars ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_tenant_too_long ... ok [INFO] [stdout] test metering::tests::test_usage_metrics_validate_timestamp_control_chars ... ok [INFO] [stdout] test metering::tests::test_usage_summary_validate_ok ... ok [INFO] [stdout] test metering::tests::test_usage_summary_validate_too_many_periods ... ok [INFO] [stdout] test metering::tests::test_validate_metering_tenant_id_underscore_allowed ... ok [INFO] [stdout] test metering::tests::test_validate_metering_timestamp_too_long ... ok [INFO] [stdout] test minja::tests::test_memory_entry_add_taint_at_capacity_returns_false ... ok [INFO] [stdout] test minja::tests::test_memory_entry_add_taint_duplicate_returns_false ... ok [INFO] [stdout] test minja::tests::test_memory_entry_decayed_trust_score_fail_closed_on_bad_timestamp ... ok [INFO] [stdout] test minja::tests::test_memory_entry_is_blocked_quarantined_flag ... ok [INFO] [stdout] test minja::tests::test_memory_entry_is_blocked_quarantined_taint ... ok [INFO] [stdout] test minja::tests::test_memory_entry_new_long_content_truncated ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_content_hash_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_all_security_taints_rejected_at_1 ... ok [INFO] [stdout] test minja::tests::test_memory_entry_new_short_content_no_truncation ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_fingerprint_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_fingerprint_control_char_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_id_control_char_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_non_security_taint_with_perfect_trust_ok ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_id_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_optional_fields_control_chars_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_preview_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_security_taint_with_perfect_trust_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_security_taint_with_low_trust_ok ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_taint_labels_at_max_ok ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_taint_labels_over_max_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_above_one_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_boundaries_ok ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_infinity_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_nan_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_neg_infinity_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_trust_score_negative_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_namespace_validate_valid_ok ... ok [INFO] [stdout] test minja::tests::test_memory_entry_validate_valid_baseline_ok ... ok [INFO] [stdout] test minja::tests::test_namespace_sharing_request_validate_requester_agent_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_namespace_sharing_request_validate_control_chars_rejected ... ok [INFO] [stdout] test minja::tests::test_memory_namespace_validate_read_allowed_overflow_rejected ... ok [INFO] [stdout] test minja::tests::test_provenance_node_validate_too_many_metadata_rejected ... ok [INFO] [stdout] test minja::tests::test_provenance_node_validate_id_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_provenance_node_validate_too_many_parents_rejected ... ok [INFO] [stdout] test minja::tests::test_provenance_node_validate_valid_ok ... ok [INFO] [stdout] test minja::tests::test_quarantine_entry_validate_description_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_quarantine_entry_validate_entry_id_too_long_rejected ... ok [INFO] [stdout] test minja::tests::test_quarantine_entry_validate_valid_ok ... ok [INFO] [stdout] test output_contract::tests::test_compliant_response ... ok [INFO] [stdout] test output_contract::tests::test_glob_pattern_matching ... ok [INFO] [stdout] test output_contract::tests::test_no_contract_for_tool ... ok [INFO] [stdout] test output_contract::tests::test_wildcard_contract ... ok [INFO] [stdout] test output_contract::tests::test_violation_detected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_approved_at_bad_timestamp_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_approved_by_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_comment_control_chars_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_comment_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_empty_approved_by_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_approval_validate_valid_ok ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_lifecycle_status_validate_staging_exceeds_tracked_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_lifecycle_status_validate_total_versions_overflow_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_lifecycle_status_validate_valid_ok ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_diff_validate_change_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_diff_validate_too_many_changes_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_diff_validate_valid_ok ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_comment_control_chars_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_comment_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_empty_created_at_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_empty_created_by_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_empty_policy_id_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_empty_version_id_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_invalid_timestamp_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_policy_id_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_staged_at_bad_timestamp_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_staged_at_empty_when_present_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_too_many_approvals_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_valid_baseline_ok ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_version_id_control_chars_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_version_id_too_long_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_version_zero_rejected ... ok [INFO] [stdout] test policy_lifecycle::tests::test_policy_version_validate_whitespace_only_created_by_rejected ... ok [INFO] [stdout] test provenance::tests::test_check_flow_admissibility_admissible ... ok [INFO] [stdout] test provenance::tests::test_check_flow_admissibility_declassified ... ok [INFO] [stdout] test provenance::tests::test_check_flow_admissibility_denied ... ok [INFO] [stdout] test provenance::tests::test_check_flow_admissibility_gated ... ok [INFO] [stdout] test provenance::tests::test_context_channel_semantic_risk_weights_are_ordered ... ok [INFO] [stdout] test provenance::tests::test_counterfactual_attribution_score_rises_for_quarantined_command_like_flow ... ok [INFO] [stdout] test provenance::tests::test_counterfactual_attribution_score_stays_low_for_incidental_tainted_tool_output ... ok [INFO] [stdout] test provenance::tests::test_flow_point_admissible_verified_to_policy_mutation ... ok [INFO] [stdout] test provenance::tests::test_flow_point_admissible_with_declassification ... ok [INFO] [stdout] test provenance::tests::test_flow_point_compose_degrades_trust ... ok [INFO] [stdout] test provenance::tests::test_flow_point_inadmissible_untrusted_to_code_execution ... ok [INFO] [stdout] test provenance::tests::test_lineage_ref_requires_id ... ok [INFO] [stdout] test provenance::tests::test_merge_semantic_risk_score_keeps_higher_value ... ok [INFO] [stdout] test provenance::tests::test_minimum_trust_tier_for_sink_is_monotonic ... ok [INFO] [stdout] test provenance::tests::test_output_contract_data_blocks_privilege_escalating_drift ... ok [INFO] [stdout] test provenance::tests::test_output_contract_free_text_and_tool_output_matrix ... ok [INFO] [stdout] test provenance::tests::test_recommended_semantic_risk_score_increases_with_taint_and_command_like_lineage ... ok [INFO] [stdout] test provenance::tests::test_output_contract_resource_and_url_only_block_high_risk_drift ... ok [INFO] [stdout] test provenance::tests::test_recommended_semantic_risk_score_increases_with_trust_gap ... ok [INFO] [stdout] test provenance::tests::test_runtime_security_context_requires_explicit_gate_for_low_trust_privileged_sink ... ok [INFO] [stdout] test provenance::tests::test_security_context_token_validate_dangerous_chars_rejected ... ok [INFO] [stdout] test provenance::tests::test_runtime_security_context_uses_most_restrictive_trust_tier ... ok [INFO] [stdout] test provenance::tests::test_security_context_token_validate_empty_scope_rejected ... ok [INFO] [stdout] test provenance::tests::test_security_context_token_validate_ok ... ok [INFO] [stdout] test provenance::tests::test_security_context_token_validate_too_many_taints_rejected ... ok [INFO] [stdout] test provenance::tests::test_runtime_security_context_allows_verified_privileged_sink_without_gate ... ok [INFO] [stdout] test provenance::tests::test_security_relevant_taint_subset ... ok [INFO] [stdout] test provenance::tests::test_trust_tier_flow_requires_declassification_for_lower_trust_sources ... ok [INFO] [stdout] test provenance::tests::test_trust_tier_ordering_is_fail_closed ... ok [INFO] [stdout] test supply_chain::tests::test_fully_attested_trusted ... ok [INFO] [stdout] test supply_chain::tests::test_low_reputation_lowers_score ... ok [INFO] [stdout] test provenance::tests::test_sink_class_join_and_meet ... ok [INFO] [stdout] test supply_chain::tests::test_no_attestations_untrusted ... ok [INFO] [stdout] test tests::test_abac_action_constraint_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_abac_condition_rejects_unknown_fields ... ok [INFO] [stdout] test supply_chain::tests::test_partial_attestations_conditional ... ok [INFO] [stdout] test supply_chain::tests::test_score_clamped_to_bounds ... ok [INFO] [stdout] test tests::test_abac_policy_serde_roundtrip ... ok [INFO] [stdout] test tests::test_abac_entity_with_parents ... ok [INFO] [stdout] test provenance::tests::test_trust_tier_join_and_meet ... ok [INFO] [stdout] test provenance::tests::test_semantic_risk_score_bounds ... ok [INFO] [stdout] test tests::test_abac_effect_serde_roundtrip ... ok [INFO] [stdout] test tests::test_abac_op_all_variants ... ok [INFO] [stdout] test tests::test_abac_policy_rejects_unknown_fields ... ok [INFO] [stdout] test supply_chain::tests::test_vulnerabilities_lower_score ... ok [INFO] [stdout] test provenance::tests::test_workload_identity_requires_id ... ok [INFO] [stdout] test tests::test_abac_resource_constraint_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_rejects_nan_usage_ratio ... ok [INFO] [stdout] test tests::test_abac_principal_constraint_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_rejects_negative_usage_ratio ... ok [INFO] [stdout] test tests::test_access_review_report_serde_roundtrip ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_accepts_valid_ratio ... ok [INFO] [stdout] test tests::test_agent_fingerprint_is_populated ... ok [INFO] [stdout] test tests::test_agent_fingerprint_serialization ... ok [INFO] [stdout] test tests::test_accountability_attestation_debug_redacts_signature ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary_4byte_emoji ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_rejects_above_one_usage_ratio ... ok [INFO] [stdout] test tests::test_action_serialization_roundtrip ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary_2byte_utf8_boundary ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary_multibyte_utf8_no_panic ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_empty_is_ok ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary_short_string_unchanged ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_client_id_dangerous_chars ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_ip_hash_too_long ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_jwt_iss_dangerous_chars ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_jwt_sub_too_long ... ok [INFO] [stdout] test tests::test_agent_fingerprint_validate_valid ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_rejects_too_many_session_ids ... ok [INFO] [stdout] test tests::test_agent_identity_claim_str_array ... ok [INFO] [stdout] test tests::test_agent_identity_is_populated ... ok [INFO] [stdout] test tests::test_agent_fingerprint_summary_mixed_multibyte_ascii ... ok [INFO] [stdout] test tests::test_agent_identity_serialization_roundtrip ... ok [INFO] [stdout] test tests::test_attestation_status_default ... ok [INFO] [stdout] test tests::test_attestation_status_serde_roundtrip ... ok [INFO] [stdout] test tests::test_attestation_status_display ... ok [INFO] [stdout] test tests::test_audit_query_params_all_fields_valid ... ok [INFO] [stdout] test tests::test_audit_query_params_empty_tool_fails ... ok [INFO] [stdout] test tests::test_audit_query_params_limit_at_max ... ok [INFO] [stdout] test tests::test_audit_query_params_default_passes ... ok [INFO] [stdout] test tests::test_audit_query_params_limit_exceeds_max ... ok [INFO] [stdout] test tests::test_audit_query_params_limit_zero_fails ... ok [INFO] [stdout] test tests::test_audit_query_params_empty_agent_id_fails ... ok [INFO] [stdout] test tests::test_audit_query_params_agent_id_control_chars ... ok [INFO] [stdout] test tests::test_audit_query_params_agent_id_too_long ... ok [INFO] [stdout] test tests::test_agent_identity_claim_str ... ok [INFO] [stdout] test tests::test_access_review_entry_validate_rejects_too_many_unused_permissions ... ok [INFO] [stdout] test tests::test_audit_query_params_offset_at_max_ok ... ok [INFO] [stdout] test tests::test_audit_query_params_since_after_until_fails ... ok [INFO] [stdout] test tests::max_length_boundary ... ok [INFO] [stdout] test tests::test_audit_query_params_since_before_until_ok ... ok [INFO] [stdout] test tests::test_audit_query_params_offset_exceeds_max ... ok [INFO] [stdout] test tests::test_audit_query_params_text_search_sql_wildcards_only ... ok [INFO] [stdout] test tests::test_audit_query_params_since_invalid_iso8601 ... ok [INFO] [stdout] test tests::test_audit_query_params_sequence_range_inverted ... ok [INFO] [stdout] test tests::test_audit_query_params_text_search_empty_fails ... ok [INFO] [stdout] test tests::test_audit_query_params_sequence_range_equal_ok ... ok [INFO] [stdout] test tests::test_audit_query_params_since_equals_until_fails ... ok [INFO] [stdout] test tests::test_audit_query_params_text_search_too_long ... ok [INFO] [stdout] test tests::test_audit_query_params_text_search_with_mixed_content_ok ... ok [INFO] [stdout] test tests::test_audit_query_params_until_invalid_iso8601 ... ok [INFO] [stdout] test tests::test_audit_query_result_empty_serde_roundtrip ... ok [INFO] [stdout] test tests::test_audit_store_backend_serde_roundtrip_file ... ok [INFO] [stdout] test tests::test_audit_query_result_serde_roundtrip ... ok [INFO] [stdout] test tests::test_audit_store_backend_serde_roundtrip_postgres ... ok [INFO] [stdout] test tests::test_audit_store_backend_default_is_file ... ok [INFO] [stdout] test tests::test_audit_store_status_serde_roundtrip_file_backend ... ok [INFO] [stdout] test tests::test_audit_store_status_serde_roundtrip_postgres_backend ... ok [INFO] [stdout] test tests::test_auth_level_ordering ... ok [INFO] [stdout] test tests::test_backend_health_serde_roundtrip ... ok [INFO] [stdout] test tests::test_call_chain_depth ... ok [INFO] [stdout] test tests::test_auth_level_from_u8 ... ok [INFO] [stdout] test tests::test_call_chain_entry_serialization ... ok [INFO] [stdout] test tests::test_canonical_tool_call_no_call_id ... ok [INFO] [stdout] test tests::test_canonical_tool_call_serde_roundtrip ... ok [INFO] [stdout] test tests::test_canonical_tool_call_validate_name_too_long ... ok [INFO] [stdout] test tests::test_canonical_tool_response_error ... ok [INFO] [stdout] test tests::test_auth_level_satisfies ... ok [INFO] [stdout] test tests::test_audit_query_params_valid_timestamps_ok ... ok [INFO] [stdout] test tests::test_canonical_tool_response_serde_roundtrip ... ok [INFO] [stdout] test tests::test_canonical_tool_schema_validate_description_too_long ... ok [INFO] [stdout] test tests::test_capability_token_debug_redacts_signature ... ok [INFO] [stdout] test tests::test_canonical_tool_schema_no_output_schema ... ok [INFO] [stdout] test tests::test_capability_token_validate_structure_expires_equals_issued_rejected ... ok [INFO] [stdout] test tests::test_capability_token_validate_structure_expires_before_issued_rejected ... ok [INFO] [stdout] test tests::test_capability_token_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_circuit_state_display ... ok [INFO] [stdout] test tests::test_circuit_stats_serialization ... ok [INFO] [stdout] test tests::test_circuit_stats_default ... ok [INFO] [stdout] test tests::test_context_with_agent_identity_is_meaningful ... ok [INFO] [stdout] test tests::test_context_empty_is_not_meaningful ... ok [INFO] [stdout] test tests::test_control_coverage_matrix_validate_dangerous_highlight ... ok [INFO] [stdout] test tests::test_context_with_empty_agent_identity_is_not_meaningful ... ok [INFO] [stdout] test tests::test_circuit_state_serialization ... ok [INFO] [stdout] test tests::test_canonical_tool_schema_serde_roundtrip ... ok [INFO] [stdout] test tests::test_auth_level_display ... ok [INFO] [stdout] test tests::test_context_call_chain_is_meaningful ... ok [INFO] [stdout] test tests::test_canonical_tool_schema_validate_name_too_long ... ok [INFO] [stdout] test tests::test_capability_token_validate_structure_temporal_ordering_ok ... ok [INFO] [stdout] test tests::test_capability_grant_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_control_character_error_display ... ok [INFO] [stdout] test tests::test_context_timestamp_only_is_meaningful ... ok [INFO] [stdout] test tests::test_control_coverage_matrix_validate_nan_coverage ... ok [INFO] [stdout] test tests::test_data_governance_record_optional_fields ... ok [INFO] [stdout] test tests::test_deployment_info_redacted_anonymous_mode ... ok [INFO] [stdout] test tests::test_discovered_tool_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_discovered_tool_relevance_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_discovered_tool_serde_roundtrip ... ok [INFO] [stdout] test tests::test_discovery_event_removed_roundtrip ... ok [INFO] [stdout] test tests::test_control_coverage_matrix_validate_ok ... ok [INFO] [stdout] test tests::test_discovery_event_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_data_classification_display_and_serde ... ok [INFO] [stdout] test tests::test_data_governance_record_serde_roundtrip ... ok [INFO] [stdout] test tests::test_discovery_event_added_roundtrip ... ok [INFO] [stdout] test tests::test_discovery_event_updated_roundtrip ... ok [INFO] [stdout] test tests::test_discovery_event_validate_added_delegates_to_endpoint ... ok [INFO] [stdout] test tests::test_discovered_tool_relevance_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_discovery_event_validate_removed_too_long_id ... ok [INFO] [stdout] test tests::test_discovery_event_validate_updated_delegates_to_endpoint ... ok [INFO] [stdout] test tests::test_discovery_event_validate_removed_valid ... ok [INFO] [stdout] test tests::test_enforcement_mode_defaults_to_monitor ... ok [INFO] [stdout] test tests::test_discovery_result_serde_roundtrip ... ok [INFO] [stdout] test tests::test_evaluation_context_build_validated_ok ... ok [INFO] [stdout] test tests::test_evaluation_context_build_validated_rejects_invalid ... ok [INFO] [stdout] test tests::test_evaluation_context_builder_call_counts ... ok [INFO] [stdout] test tests::test_evaluation_context_builder_has_meaningful_fields ... ok [INFO] [stdout] test tests::test_evaluation_context_builder_previous_actions ... ok [INFO] [stdout] test tests::test_discovered_tool_relevance_score_range_accepts_valid ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_control_char_agent_id ... ok [INFO] [stdout] test tests::test_discovery_event_validate_removed_control_chars ... ok [INFO] [stdout] test tests::test_discovery_result_empty_tools ... ok [INFO] [stdout] test tests::test_canonical_tool_schema_validate_ok_at_limits ... ok [INFO] [stdout] test tests::test_discovery_result_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_evaluation_context_builder ... ok [INFO] [stdout] test tests::test_evaluation_context_from_stateless ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_control_char_function ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_control_char_timestamp ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_control_char_tool ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_max_length_ok ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_oversized_agent_id ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_oversized_timestamp ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_second_entry_invalid ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_control_char_in_tenant_id ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_valid_entries ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_empty_agent_id_rejected ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_call_chain_unicode_format_char_timestamp ... ok [INFO] [stdout] test tests::test_deployment_info_roundtrip ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_empty_ok ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_control_char_in_agent_id ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_null_byte_in_tenant_id ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_ok ... ok [INFO] [stdout] test tests::test_evidence_confidence_serde ... ok [INFO] [stdout] test tests::test_evidence_confidence_display ... ok [INFO] [stdout] test tests::test_evidence_framework_display ... ok [INFO] [stdout] test tests::test_evidence_confidence_ordering ... ok [INFO] [stdout] test tests::test_evidence_framework_serde_roundtrip ... ok [INFO] [stdout] test tests::test_evidence_item_validate_dangerous_chars ... ok [INFO] [stdout] test tests::test_evidence_item_validate_ok ... ok [INFO] [stdout] test tests::test_evaluation_context_validate_empty_session_state_rejected ... ok [INFO] [stdout] test tests::test_evidence_pack_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_evidence_pack_validate_critical_gap_control_chars ... ok [INFO] [stdout] test tests::test_evidence_pack_validate_generated_at_control_chars ... ok [INFO] [stdout] test tests::test_evidence_pack_validate_recommendation_control_chars ... ok [INFO] [stdout] test tests::test_evidence_section_validate_coverage_nan ... ok [INFO] [stdout] test tests::test_evidence_pack_validate_period_start_control_chars ... ok [INFO] [stdout] test tests::test_evidence_section_validate_coverage_negative ... ok [INFO] [stdout] test tests::test_evidence_section_validate_description_control_chars ... ok [INFO] [stdout] test tests::test_explanation_verbosity_default ... ok [INFO] [stdout] test tests::test_evidence_item_validate_string_too_long ... ok [INFO] [stdout] test tests::test_evidence_pack_validate_too_many_gaps ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_empty_capability ... ok [INFO] [stdout] test tests::test_evidence_pack_serde_roundtrip ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_empty_id ... ok [INFO] [stdout] test tests::test_extension_descriptor_serde_roundtrip ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_empty_method ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_capability_control_chars ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_id_control_chars ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_empty_name ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_method_control_chars ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_method_too_long ... ok [INFO] [stdout] test tests::test_explanation_verbosity_serde_roundtrip ... ok [INFO] [stdout] test tests::test_fallback_negotiation_history_all_failed ... ok [INFO] [stdout] test tests::test_explanation_verbosity_display ... ok [INFO] [stdout] test tests::test_federation_anchor_info_validate_invalid_trust_level ... ok [INFO] [stdout] test tests::test_federation_anchor_info_validate_valid ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_name_too_long ... ok [INFO] [stdout] test tests::test_federation_anchor_status_validate_dangerous_chars_jwks_timestamp ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_valid ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_version_control_chars ... ok [INFO] [stdout] test tests::test_federation_anchor_status_validate_dangerous_chars_org_id ... ok [INFO] [stdout] test tests::test_federation_anchor_status_validate_invalid_trust_level ... ok [INFO] [stdout] test tests::test_evidence_pack_status_serde ... ok [INFO] [stdout] test tests::test_federation_status_serde_roundtrip ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_version_too_long ... ok [INFO] [stdout] test tests::test_extension_negotiation_result_serde ... ok [INFO] [stdout] test tests::test_federation_anchor_status_validate_oversized_display_name ... ok [INFO] [stdout] test tests::test_extension_resource_limits_defaults ... ok [INFO] [stdout] test tests::test_federation_status_validate_valid ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_default_trust_level ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_name_control_chars ... ok [INFO] [stdout] test tests::test_extension_descriptor_validate_method_unicode_format_char ... ok [INFO] [stdout] test tests::test_fallback_negotiation_history_serde_roundtrip ... ok [INFO] [stdout] test tests::test_fallback_negotiation_history_empty_attempts ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_validate_invalid_trust_level_fails ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_validate_empty_org_id_fails ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_validate_valid_succeeds ... ok [INFO] [stdout] test tests::test_federation_status_validate_too_many_anchors ... ok [INFO] [stdout] test tests::test_has_dangerous_chars_clean_strings ... ok [INFO] [stdout] test tests::test_has_dangerous_chars_unicode_format_chars ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_validate_jwks_uri_non_http_fails ... ok [INFO] [stdout] test tests::test_has_dangerous_chars_control_chars ... ok [INFO] [stdout] test tests::test_identity_mapping_validate_valid_succeeds ... ok [INFO] [stdout] test tests::test_identity_mapping_validate_empty_claim_fails ... ok [INFO] [stdout] test tests::test_ip_rules_accepts_known_fields ... ok [INFO] [stdout] test tests::test_ip_rules_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_leader_status_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_leader_status_follower_no_leader_roundtrip ... ok [INFO] [stdout] test tests::test_leader_status_follower_roundtrip ... ok [INFO] [stdout] test tests::test_leader_status_leader_roundtrip ... ok [INFO] [stdout] test tests::test_leader_status_unknown_roundtrip ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_accepts_boundary_values ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_accepts_valid ... ok [INFO] [stdout] test tests::test_mcp_capability_sub_capability_control_char_rejected ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_rejects_above_one_usage_ratio ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_rejects_nan_usage_ratio ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_rejects_negative_usage_ratio ... ok [INFO] [stdout] test tests::test_mcp_capability_sub_capability_zero_width_rejected ... ok [INFO] [stdout] test tests::test_memory_entry_sensitive_taint_allows_perfect_trust ... ok [INFO] [stdout] test tests::test_memory_entry_trust_score_range_accepts_valid ... ok [INFO] [stdout] test tests::test_memory_entry_trust_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_mcp_capability_with_version ... ok [INFO] [stdout] test tests::test_mcp_capability_has_sub ... ok [INFO] [stdout] test tests::test_mcp_capability_new ... ok [INFO] [stdout] test tests::test_memory_entry_new_default_trust_below_one ... ok [INFO] [stdout] test tests::test_memory_entry_trust_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_memory_entry_validate_clean_entry_with_perfect_trust_ok ... ok [INFO] [stdout] test tests::test_memory_entry_validate_finite_rejects_nan ... ok [INFO] [stdout] test tests::test_memory_entry_validate_tainted_with_low_trust_ok ... ok [INFO] [stdout] test tests::test_mcp_capability_serialization ... ok [INFO] [stdout] test tests::test_model_family_default_is_generic ... ok [INFO] [stdout] test tests::test_memory_entry_validate_finite_accepts_normal ... ok [INFO] [stdout] test tests::test_memory_entry_validate_tainted_with_perfect_trust_rejected ... ok [INFO] [stdout] test tests::test_model_family_hash_and_eq ... ok [INFO] [stdout] test tests::test_identity_mapping_validate_template_missing_placeholder_fails ... ok [INFO] [stdout] test tests::test_model_family_rename_all_lowercase ... ok [INFO] [stdout] test tests::test_memory_entry_validate_integrity_failed_with_perfect_trust_rejected ... ok [INFO] [stdout] test tests::test_leader_status_default_is_unknown ... ok [INFO] [stdout] test tests::test_memory_entry_validate_no_taints_with_perfect_trust_ok ... ok [INFO] [stdout] test tests::test_memory_entry_validate_nan_trust_rejected ... ok [INFO] [stdout] test tests::test_memory_entry_validate_quarantined_with_perfect_trust_rejected ... ok [INFO] [stdout] test tests::test_model_family_serde_roundtrip_all_variants ... ok [INFO] [stdout] test tests::test_network_rules_accepts_ip_rules ... ok [INFO] [stdout] test tests::test_network_rules_accepts_known_fields ... ok [INFO] [stdout] test tests::test_federation_trust_anchor_validate_empty_issuer_fails ... ok [INFO] [stdout] test tests::test_network_rules_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_serialization ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_malformed_expires_at ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_expires_before_issued ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_valid_timestamps ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_confidence_range_accepts_valid ... ok [INFO] [stdout] test tests::test_nhi_attestation_type_display ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_confidence_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_malformed_last_rotation ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_debug_redacts_public_key ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_malformed_issued_at ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_validate_expires_equal_issued ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_serialization ... ok [INFO] [stdout] test tests::test_nhi_attestation_type_serialization ... ok [INFO] [stdout] test tests::test_least_agency_report_validate_rejects_too_many_unused_permissions ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_debug_none_public_key ... ok [INFO] [stdout] test tests::test_nhi_agent_identity_default_status_is_probationary ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_validate_finite_rejects_infinity_in_map ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_validate_finite_rejects_nan ... ok [INFO] [stdout] test tests::test_new_still_works_without_validation ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_validate_finite_accepts_normal ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_confidence_range_rejects_negative ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_validate_malformed_created_at ... ok [INFO] [stdout] test tests::test_nhi_behavioral_check_anomaly_score_range_accepts_valid ... ok [INFO] [stdout] test tests::test_nhi_behavioral_check_anomaly_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_nhi_behavioral_baseline_validate_malformed_last_updated ... ok [INFO] [stdout] test tests::test_nhi_credential_rotation_serialization ... ok [INFO] [stdout] test tests::test_nhi_behavioral_recommendation_display ... ok [INFO] [stdout] test tests::test_nhi_delegation_chain_exceeds_max ... ok [INFO] [stdout] test tests::test_nhi_delegation_chain_validate_resolved_at_dangerous_chars ... ok [INFO] [stdout] test tests::test_nhi_delegation_chain_validate_resolved_at_too_long ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_empty_timestamps_skip_temporal_check ... ok [INFO] [stdout] test tests::test_nhi_delegation_chain_validate_resolved_at_valid ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_expires_equals_created_rejected ... ok [INFO] [stdout] test tests::test_nhi_delegation_chain_depth ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_rejects_bidi_override_in_from_agent ... ok [INFO] [stdout] test tests::empty_name_always_rejected ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_rejects_control_char_in_from_agent ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_self_delegation_case_insensitive ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_self_delegation_cyrillic_homoglyph ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_self_delegation_rejected ... ok [INFO] [stdout] test tests::test_nhi_behavioral_check_anomaly_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_temporal_ordering_ok ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_rejects_control_char_in_to_agent ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_expires_before_created_rejected ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_validate_reason_valid ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_validate_reason_too_long ... ok [INFO] [stdout] test tests::test_nhi_dpop_proof_debug_redacts_proof_and_ath ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_rejects_zero_width_space_in_to_agent ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_validate_reason_none_valid ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_validate_ok ... ok [INFO] [stdout] test tests::test_nhi_delegation_link_validate_reason_dangerous_chars ... ok [INFO] [stdout] test tests::test_nhi_dpop_proof_serialization ... ok [INFO] [stdout] test tests::test_nhi_dpop_verification_result_validate_nonce_too_long ... ok [INFO] [stdout] test tests::test_nhi_identity_status_default_is_probationary ... ok [INFO] [stdout] test tests::test_nhi_identity_status_serialization ... ok [INFO] [stdout] test tests::test_nhi_stats_default ... ok [INFO] [stdout] test tests::test_p1_6_decayed_trust_corrupt_end_timestamp_returns_zero ... ok [INFO] [stdout] test tests::test_p1_6_decayed_trust_corrupt_start_timestamp_returns_zero ... ok [INFO] [stdout] test tests::test_nhi_dpop_verification_result_validate_all_none ... ok [INFO] [stdout] test tests::test_nhi_dpop_verification_result_validate_error_format_chars ... ok [INFO] [stdout] test tests::test_nhi_identity_status_display ... ok [INFO] [stdout] test tests::test_originating_agent ... ok [INFO] [stdout] test tests::test_p1_6_decayed_trust_valid_timestamps_decays_normally ... ok [INFO] [stdout] test tests::test_nhi_dpop_verification_result_validate_thumbprint_too_long ... ok [INFO] [stdout] test tests::test_p1_6_parse_timestamp_rejects_day_zero ... ok [INFO] [stdout] test tests::test_p1_6_parse_timestamp_rejects_month_zero ... ok [INFO] [stdout] test tests::test_p1_6_parse_timestamp_rejects_year_before_epoch ... ok [INFO] [stdout] test tests::test_path_rules_accepts_known_fields ... ok [INFO] [stdout] test tests::test_path_rules_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_pedersen_commitment_debug_redacts_blinding_hint ... ok [INFO] [stdout] test tests::test_pedersen_commitment_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_pedersen_commitment_deserialize_with_blinding_hint ... ok [INFO] [stdout] test tests::test_p1_6_parse_timestamp_rejects_hour_25 ... ok [INFO] [stdout] test tests::test_p1_6_parse_timestamp_rejects_month_13 ... ok [INFO] [stdout] test tests::test_pedersen_commitment_serialize_omits_blinding_hint ... ok [INFO] [stdout] test tests::test_pedersen_commitment_validate_commitment_too_long ... ok [INFO] [stdout] test tests::test_pedersen_commitment_validate_ok ... ok [INFO] [stdout] test tests::test_policy_approval_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_pedersen_commitment_validate_blinding_hint_too_long ... ok [INFO] [stdout] test tests::test_policy_approval_serde_roundtrip ... ok [INFO] [stdout] test tests::test_policy_approval_validate_empty_approved_by ... ok [INFO] [stdout] test tests::test_policy_approval_validate_ok ... ok [INFO] [stdout] test tests::test_policy_serialization ... ok [INFO] [stdout] test tests::null_byte_always_rejected ... ok [INFO] [stdout] test tests::test_policy_type_conditional_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_policy_type_conditional_with_value ... ok [INFO] [stdout] test tests::test_policy_version_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_change_too_long ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_ok ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_change_dangerous_chars ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_policy_id_dangerous ... ok [INFO] [stdout] test tests::test_policy_approval_validate_dangerous_chars ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_policy_id_too_long ... ok [INFO] [stdout] test tests::test_policy_version_status_serde_roundtrip ... ok [INFO] [stdout] test tests::test_policy_version_diff_validate_too_many_changes ... ok [INFO] [stdout] test tests::test_policy_version_serde_roundtrip ... ok [INFO] [stdout] test tests::test_policy_version_validate_comment_too_long ... ok [INFO] [stdout] test tests::test_policy_version_validate_excessive_required_approvals ... ok [INFO] [stdout] test tests::test_policy_version_validate_ok ... ok [INFO] [stdout] test tests::test_posture_evidence_pack_validate_dangerous_framework ... ok [INFO] [stdout] test tests::test_policy_version_validate_too_many_approvals ... ok [INFO] [stdout] test tests::test_policy_version_validate_unicode_format_chars_in_policy_id ... ok [INFO] [stdout] test tests::test_principal_context_direct ... ok [INFO] [stdout] test tests::test_posture_gap_report_validate_dangerous_gap_description ... ok [INFO] [stdout] test tests::test_principal_context_is_delegated ... ok [INFO] [stdout] test tests::test_posture_gap_report_validate_rejects_nan ... ok [INFO] [stdout] test tests::test_principal_context_is_expired ... ok [INFO] [stdout] test tests::test_policy_version_validate_dangerous_chars_in_created_by ... ok [INFO] [stdout] test tests::test_policy_version_validate_version_id_too_long ... ok [INFO] [stdout] test tests::test_principal_context_serialization ... ok [INFO] [stdout] test tests::test_policy_version_validate_empty_version_id ... ok [INFO] [stdout] test tests::test_principal_type_default_is_agent ... ok [INFO] [stdout] test tests::test_principal_type_from_identity_claims ... ok [INFO] [stdout] test tests::test_principal_type_missing_claim_defaults ... ok [INFO] [stdout] test tests::test_processing_purpose_display_and_serde ... ok [INFO] [stdout] test tests::test_r115_001_capability_token_rejects_control_char_in_token_id ... ok [INFO] [stdout] test tests::test_r115_002_access_review_entry_rejects_control_char_in_agent_id ... ok [INFO] [stdout] test tests::test_r115_001_capability_token_valid_passes ... ok [INFO] [stdout] test tests::test_r115_002_access_review_entry_rejects_control_char_in_recommendation ... ok [INFO] [stdout] test tests::test_r115_002_access_review_entry_rejects_zwsp_in_agent_id ... ok [INFO] [stdout] test tests::test_r115_003_zk_batch_proof_rejects_control_char_in_batch_id ... ok [INFO] [stdout] test tests::test_r115_003_zk_batch_proof_rejects_control_char_in_created_at ... ok [INFO] [stdout] test tests::test_r115_003_zk_batch_proof_valid_passes ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_call_rejects_bidi_in_tool_name ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_call_rejects_control_char_in_tool_name ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_call_valid_passes ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_schema_rejects_control_char_in_name ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_schema_rejects_zwsp_in_name ... ok [INFO] [stdout] test tests::test_r115_004_canonical_tool_schema_valid_passes ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_none_instance_id_passes ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_rejects_bidi_in_mode ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_rejects_control_char_in_instance_id ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_rejects_control_char_in_mode ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_rejects_zwsp_in_instance_id ... ok [INFO] [stdout] test tests::test_r115_005_deployment_info_valid_passes ... ok [INFO] [stdout] test tests::test_r115_006_abac_entity_rejects_control_char_in_entity_type ... ok [INFO] [stdout] test tests::test_r115_006_abac_entity_valid_passes ... ok [INFO] [stdout] test tests::test_r115_006_abac_policy_rejects_bidi_in_description ... ok [INFO] [stdout] test tests::test_r115_006_abac_policy_rejects_control_char_in_id ... ok [INFO] [stdout] test tests::test_r115_001_capability_token_rejects_zwsp_in_issuer ... ok [INFO] [stdout] test tests::test_r115_001_capability_token_rejects_bidi_override_in_holder ... ok [INFO] [stdout] test tests::test_r115_003_zk_batch_proof_rejects_bom_in_batch_id ... ok [INFO] [stdout] test tests::test_r115_002_access_review_entry_valid_passes ... ok [INFO] [stdout] test tests::test_r115_006_abac_entity_rejects_zwsp_in_id ... ok [INFO] [stdout] test tests::test_r115_006_abac_policy_valid_passes ... ok [INFO] [stdout] test tests::test_r115_006_least_agency_report_rejects_bom_in_session_id ... ok [INFO] [stdout] test tests::test_r115_006_least_agency_report_rejects_control_char_in_agent_id ... ok [INFO] [stdout] test tests::test_r115_007_abac_entity_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_abac_entity_roundtrip_with_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_extension_descriptor_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_least_agency_report_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_tool_signature_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_memory_namespace_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_tool_signature_roundtrip_with_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_version_drift_alert_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r141_agent_identity_audience_entry_control_char ... ok [INFO] [stdout] test tests::test_r115_006_least_agency_report_valid_passes ... ok [INFO] [stdout] test tests::test_r115_007_permission_usage_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r115_007_tool_version_pin_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r141_agent_identity_issuer_control_char ... ok [INFO] [stdout] test tests::test_r141_agent_identity_audience_entry_format_char ... ok [INFO] [stdout] test tests::test_r141_agent_identity_issuer_oversized ... ok [INFO] [stdout] test tests::test_r141_agent_identity_subject_oversized ... ok [INFO] [stdout] test tests::test_r141_tool_attestation_control_char_in_attester ... ok [INFO] [stdout] test tests::test_r141_evaluation_context_timestamp_oversized ... ok [INFO] [stdout] test tests::test_r115_007_tool_attestation_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r141_agent_identity_audience_entry_oversized ... ok [INFO] [stdout] test tests::test_r141_tool_attestation_format_char_in_tool_hash ... ok [INFO] [stdout] test tests::test_r141_agent_identity_subject_format_char ... ok [INFO] [stdout] test tests::test_r141_evaluation_context_timestamp_valid ... ok [INFO] [stdout] test tests::test_r141_tool_signature_control_char_in_signature_id ... ok [INFO] [stdout] test tests::test_r141_tool_signature_format_char_in_spiffe_id ... ok [INFO] [stdout] test tests::test_r146_nhi_behavioral_baseline_validate_agent_id_control_chars ... ok [INFO] [stdout] test tests::test_r146_nhi_behavioral_baseline_validate_agent_id_too_long ... ok [INFO] [stdout] test tests::test_r146_nhi_behavioral_baseline_validate_empty_agent_id ... ok [INFO] [stdout] test tests::test_r146_principal_context_allowed_tools_format_chars ... ok [INFO] [stdout] test tests::test_r146_principal_context_allowed_tools_control_chars ... ok [INFO] [stdout] test tests::test_r146_signature_verification_validate_message_format_chars ... ok [INFO] [stdout] test tests::test_r146_signature_verification_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_r146_signature_verification_validate_message_too_long ... ok [INFO] [stdout] test tests::test_r146_signature_verification_validate_valid ... ok [INFO] [stdout] test tests::test_r146_version_drift_alert_validate_control_chars_in_detected_at ... ok [INFO] [stdout] test tests::test_r146_version_drift_alert_validate_empty_tool ... ok [INFO] [stdout] test tests::test_r146_version_drift_alert_validate_format_chars ... ok [INFO] [stdout] test tests::test_r146_version_drift_alert_validate_tool_too_long ... ok [INFO] [stdout] test tests::test_r146_version_drift_alert_validate_valid ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_accepts_max_length_entries ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_dangerous_char_in_session_ids ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_dangerous_char_in_functions_called ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_control_char_in_session_ids ... ok [INFO] [stdout] test tests::test_r141_evaluation_context_timestamp_control_char ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_dangerous_char_in_tools_accessed ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_dangerous_char_in_unused_permissions ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_oversized_functions_called_entry ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_oversized_session_ids_entry ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_oversized_tools_accessed_entry ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_rejects_oversized_unused_permissions_entry ... ok [INFO] [stdout] test tests::test_r159_001_access_review_entry_second_entry_bad_in_vec ... ok [INFO] [stdout] test tests::test_r159_002_access_review_entry_rejects_empty_agent_id ... ok [INFO] [stdout] test tests::test_r159_002_access_review_entry_accepts_max_length_agent_id ... ok [INFO] [stdout] test tests::test_r172_003_zk_scheduler_status_rejects_control_char_in_last_proof_at ... ok [INFO] [stdout] test tests::test_r172_002_zk_verify_result_rejects_bidi_in_batch_id ... ok [INFO] [stdout] test tests::test_r172_005_canonical_tool_response_rejects_control_char_in_call_id ... ok [INFO] [stdout] test tests::test_r172_zk_verify_result_valid_passes ... ok [INFO] [stdout] test tests::test_r172_005_canonical_tool_call_rejects_oversized_call_id ... ok [INFO] [stdout] test tests::test_r196_002_canonical_tool_schema_rejects_bidi_in_description ... ok [INFO] [stdout] test tests::test_r196_tool_signature_rejects_non_hex_public_key ... ok [INFO] [stdout] test tests::test_r196_tool_signature_rejects_non_hex_signature ... ok [INFO] [stdout] test tests::test_r203_002_task_state_transition_timestamp_control_char_rejected ... ok [INFO] [stdout] test tests::test_r196_tool_signature_accepts_valid_hex ... ok [INFO] [stdout] test tests::test_r203_002_task_state_transition_timestamp_format_char_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_created_at_control_char_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_created_at_format_char_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_created_at_invalid_iso8601_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_expires_at_control_char_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_expires_at_invalid_iso8601_rejected ... ok [INFO] [stdout] test tests::test_r203_002_tracked_task_valid_with_expires_at_passes ... ok [INFO] [stdout] test tests::test_r203_003_audit_query_params_tenant_id_at_max_len_ok ... ok [INFO] [stdout] test tests::test_r203_003_audit_query_params_tenant_id_exceeds_max_len_fails ... ok [INFO] [stdout] test tests::test_r203_003_max_tenant_id_len_constant_value ... ok [INFO] [stdout] test tests::test_r203_004_shadow_ai_report_validate_calls_agent_validate ... ok [INFO] [stdout] test tests::test_r203_004_shadow_ai_report_validate_ok_with_valid_agents ... ok [INFO] [stdout] test tests::test_r224_001_action_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_r224_001_action_roundtrip_still_works ... ok [INFO] [stdout] test tests::test_r224_002_capability_token_rejects_empty_parent_token_id ... ok [INFO] [stdout] test tests::test_r146_nhi_behavioral_baseline_validate_agent_id_dangerous_chars ... ok [INFO] [stdout] test tests::test_r224_002_capability_token_rejects_dangerous_parent_token_id ... ok [INFO] [stdout] test tests::test_r224_003_task_checkpoint_rejects_dangerous_public_key ... ok [INFO] [stdout] test tests::test_r224_003_task_checkpoint_rejects_dangerous_created_at ... ok [INFO] [stdout] test tests::test_r224_004_staging_report_accepts_divergent_equals_total ... ok [INFO] [stdout] test tests::test_r224_004_staging_report_rejects_divergent_exceeds_total ... ok [INFO] [stdout] test tests::test_r224_003_task_checkpoint_rejects_dangerous_state_hash ... ok [INFO] [stdout] test tests::test_r224_005_audit_query_result_rejects_entries_exceeding_total ... ok [INFO] [stdout] test tests::test_r224_005_audit_query_result_validate_ok ... ok [INFO] [stdout] test tests::test_r224_006_capability_token_rejects_dangerous_issuer_public_key ... ok [INFO] [stdout] test tests::test_r224_006_capability_token_rejects_dangerous_signature ... ok [INFO] [stdout] test tests::test_r159_002_access_review_entry_rejects_oversized_agent_id ... ok [INFO] [stdout] test tests::test_r224_007_policy_lifecycle_status_validate_ok ... ok [INFO] [stdout] test tests::test_r172_001_zk_verify_result_rejects_control_char_in_error ... ok [INFO] [stdout] test tests::test_r172_002_zk_verify_result_rejects_zwsp_in_verified_at ... ok [INFO] [stdout] test tests::test_r172_005_canonical_tool_call_rejects_control_char_in_call_id ... ok [INFO] [stdout] test tests::test_r196_002_canonical_tool_schema_rejects_control_in_description ... ok [INFO] [stdout] test tests::test_r42_types_1_resolved_ips_null_byte_first_entry ... ok [INFO] [stdout] test tests::test_r42_types_1_resolved_ips_null_byte_rejected ... ok [INFO] [stdout] test tests::test_r42_types_1_resolved_ips_oversized_rejected ... ok [INFO] [stdout] test tests::test_r42_types_1_resolved_ips_valid_entries_pass ... ok [INFO] [stdout] test tests::test_report_export_format_default ... ok [INFO] [stdout] test tests::test_r224_007_policy_lifecycle_status_rejects_staging_exceeds_tracked ... ok [INFO] [stdout] test tests::test_resolved_ips_clean_entries_pass ... ok [INFO] [stdout] test tests::test_resolved_ips_control_char_rejected ... ok [INFO] [stdout] test tests::test_resolved_ips_tab_char_rejected ... ok [INFO] [stdout] test tests::test_resolved_ips_unicode_format_char_rejected ... ok [INFO] [stdout] test tests::test_r224_003_task_checkpoint_rejects_dangerous_signature ... ok [INFO] [stdout] test tests::test_r224_005_audit_query_result_rejects_entries_exceeding_limit ... ok [INFO] [stdout] test tests::test_resolved_ips_bidi_override_rejected ... ok [INFO] [stdout] test tests::test_review_schedule_display ... ok [INFO] [stdout] test tests::test_review_schedule_serde_roundtrip ... ok [INFO] [stdout] test tests::test_r224_007_policy_lifecycle_status_rejects_excessive_total_versions ... ok [INFO] [stdout] test tests::test_risk_factor_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_risk_factor_validate_finite_rejects_nan_weight ... ok [INFO] [stdout] test tests::test_risk_factor_validate_finite_rejects_infinity_value ... ok [INFO] [stdout] test tests::test_risk_score_range_accepts_mid ... ok [INFO] [stdout] test tests::test_risk_score_range_accepts_one ... ok [INFO] [stdout] test tests::test_risk_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_risk_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_risk_score_rejects_unknown_fields ... ok [INFO] [stdout] test tests::test_risk_score_validate_finite_accepts_normal ... ok [INFO] [stdout] test tests::test_risk_score_validate_finite_rejects_infinity ... ok [INFO] [stdout] test tests::test_risk_score_range_accepts_zero ... ok [INFO] [stdout] test tests::test_sampling_stats_record_request_saturating_at_u32_max ... ok [INFO] [stdout] test tests::test_sampling_stats_new ... ok [INFO] [stdout] test tests::test_risk_score_defaults ... ok [INFO] [stdout] test tests::test_sampling_stats_reset_window ... ok [INFO] [stdout] test tests::test_sampling_stats_reset_window_multibyte_utf8_safe ... ok [INFO] [stdout] test tests::test_schema_record_is_stable ... ok [INFO] [stdout] test tests::test_sampling_stats_serialization ... ok [INFO] [stdout] test tests::test_risk_score_validate_finite_rejects_nan ... ok [INFO] [stdout] test tests::test_schema_record_push_version_enforces_max ... ok [INFO] [stdout] test tests::test_schema_record_push_version_multibyte_utf8_safe ... ok [INFO] [stdout] test tests::test_schema_record_serialization ... ok [INFO] [stdout] test tests::test_schema_record_new ... ok [INFO] [stdout] test tests::test_schema_record_push_version_under_limit ... ok [INFO] [stdout] test tests::test_schema_record_trust_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_schema_record_new_with_content ... ok [INFO] [stdout] test tests::test_schema_record_validate_finite_accepts_normal ... ok [INFO] [stdout] test tests::test_schema_record_trust_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_schema_record_validate_version_history_ok ... ok [INFO] [stdout] test tests::test_schema_record_validate_version_history_overflow ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_accepts_valid ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_dangerous_category_name ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_dangerous_tier ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_rejects_infinity ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_rejects_nan ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_rejects_negative ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_rejects_over_100 ... ok [INFO] [stdout] test tests::test_service_endpoint_empty_labels_skipped ... ok [INFO] [stdout] test tests::test_shadow_ai_report_total_risk_score_range_accepts_valid ... ok [INFO] [stdout] test tests::test_service_endpoint_roundtrip ... ok [INFO] [stdout] test tests::test_sdk_tier_ordering ... ok [INFO] [stdout] test tests::test_sampling_stats_record_request ... ok [INFO] [stdout] test tests::test_sdk_capabilities_serde_roundtrip ... ok [INFO] [stdout] test tests::test_secure_task_max_nonces_capped_on_deserialize ... ok [INFO] [stdout] test tests::test_shadow_ai_report_total_risk_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_signature_verification_serialization ... ok [INFO] [stdout] test tests::test_signature_algorithm_serialization ... ok [INFO] [stdout] test tests::test_ssrf_6to4_cgnat ... ok [INFO] [stdout] test tests::test_ssrf_6to4_loopback ... ok [INFO] [stdout] test tests::test_ssrf_ipv4_compatible_private ... ok [INFO] [stdout] test tests::test_signature_algorithm_display ... ok [INFO] [stdout] test tests::test_signature_verification_is_fully_verified ... ok [INFO] [stdout] test tests::test_ssrf_ipv4_multicast_blocked ... ok [INFO] [stdout] test tests::test_ssrf_ipv4_compatible_public_allowed ... ok [INFO] [stdout] test tests::test_ssrf_ipv4_mapped_still_works ... ok [INFO] [stdout] test tests::test_secure_task_record_nonce_respects_cap ... ok [INFO] [stdout] test tests::test_schema_record_large_schema_not_stored ... ok [INFO] [stdout] test tests::test_schema_record_trust_score_range_accepts_valid ... ok [INFO] [stdout] test tests::test_schema_record_validate_finite_rejects_nan ... ok [INFO] [stdout] test tests::test_schema_record_version_count ... ok [INFO] [stdout] test tests::test_security_posture_score_validate_dangerous_generated_at ... ok [INFO] [stdout] test tests::test_ssrf_ipv6_multicast_blocked ... ok [INFO] [stdout] test tests::test_signature_algorithm_default ... ok [INFO] [stdout] test tests::test_ssrf_nat64_local_use_private ... ok [INFO] [stdout] test tests::test_ssrf_nat64_local_use_public_allowed ... ok [INFO] [stdout] test tests::test_ssrf_6to4_private ... ok [INFO] [stdout] test tests::test_ssrf_nat64_cgnat ... ok [INFO] [stdout] test tests::test_ssrf_nat64_public_allowed ... ok [INFO] [stdout] test tests::test_ssrf_percent_encoded_localhost_rejected ... ok [INFO] [stdout] test tests::test_ssrf_percent_encoded_127_rejected ... ok [INFO] [stdout] test tests::test_ssrf_percent_encoded_metadata_ip_rejected ... ok [INFO] [stdout] test tests::test_ssrf_percent_encoded_private_ip_rejected ... ok [INFO] [stdout] test tests::test_ssrf_percent_encoded_public_ip_allowed ... ok [INFO] [stdout] test tests::test_ssrf_teredo_loopback ... ok [INFO] [stdout] test tests::test_ssrf_teredo_private ... ok [INFO] [stdout] test tests::test_ssrf_teredo_public_allowed ... ok [INFO] [stdout] test tests::test_ssrf_6to4_public_allowed ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_dangerous_function ... ok [INFO] [stdout] test tests::test_ssrf_nat64_loopback ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_active_verdict_too_long ... ok [INFO] [stdout] test tests::test_ssrf_nat64_private ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_function_too_long ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_dangerous_active_verdict ... ok [INFO] [stdout] test tests::test_ssrf_ipv4_compatible_loopback ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_empty_active_verdict ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_empty_staging_verdict ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_tool_too_long ... ok [INFO] [stdout] test tests::test_staging_report_validate_bad_format_staging_started_at ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_empty_timestamp ... ok [INFO] [stdout] test tests::test_staging_report_validate_empty_staging_started_at ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_empty_tool ... ok [INFO] [stdout] test tests::test_staging_report_validate_ok ... ok [INFO] [stdout] test tests::test_staging_report_validate_dangerous_staging_started_at ... ok [INFO] [stdout] test tests::test_staging_report_validate_policy_id_too_long ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_ok ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_bad_timestamp_format ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_dangerous_tool ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_staging_verdict_too_long ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_dangerous_timestamp ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_dangerous_staging_verdict ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_mixed_case_hex_rejected ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_non_hex_signature_rejected ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_valid_signature ... ok [INFO] [stdout] test tests::test_stateless_context_blob_debug_redacts_signature ... ok [INFO] [stdout] test tests::test_staging_comparison_entry_validate_empty_function ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_short_signature_rejected ... ok [INFO] [stdout] test tests::test_stateless_blob_expiry ... ok [INFO] [stdout] test tests::test_stateless_blob_request_context_trait ... ok [INFO] [stdout] test tests::test_staging_report_validate_invalid_divergence_entry ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_empty_signature_rejected ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_long_signature_rejected ... ok [INFO] [stdout] test tests::test_task_checkpoint_debug_redacts_signature ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_dangerous_chars_task_id ... ok [INFO] [stdout] test tests::test_stateless_blob_validate_lowercase_hex_ok ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_dangerous_chars_nonce ... ok [INFO] [stdout] test tests::test_stateless_blob_roundtrip ... ok [INFO] [stdout] test tests::test_task_status_validate_failed_ok ... ok [INFO] [stdout] test tests::test_task_status_validate_failed_oversized_reason ... ok [INFO] [stdout] test tests::test_task_status_validate_pending_ok ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_empty_resume_token ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_empty_task_id ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_ok ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_oversized_task_id ... ok [INFO] [stdout] test tests::test_task_status_display ... ok [INFO] [stdout] test tests::test_tool_attestation_is_initial ... ok [INFO] [stdout] test tests::test_task_status_validate_failed_dangerous_chars ... ok [INFO] [stdout] test tests::test_target_validation_error_display ... ok [INFO] [stdout] test tests::test_task_status_failed_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_tool_metadata_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_task_status_serialization ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_control_char_in_name ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_description_too_long ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_control_char_in_domain_tag ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_domain_tag_too_long ... ok [INFO] [stdout] test tests::test_tool_metadata_empty_domain_tags ... ok [INFO] [stdout] test tests::test_tool_metadata_default_sensitivity_is_high ... ok [INFO] [stdout] test tests::test_task_resume_request_validate_oversized_agent_id ... ok [INFO] [stdout] test tests::test_tool_metadata_serde_roundtrip ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_empty_tool_id ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_format_char_in_description ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_too_many_domain_tags ... ok [INFO] [stdout] test tests::test_tool_sensitivity_all_variants_roundtrip ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_ok_at_limits ... ok [INFO] [stdout] test tests::test_tool_sensitivity_default_is_high ... ok [INFO] [stdout] test tests::test_tool_metadata_validate_name_too_long ... ok [INFO] [stdout] test tests::test_tool_sensitivity_serde_rename ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_day_00_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_day_32_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_letters_in_digit_positions ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_lexicographic_iso8601 ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_hour_24_returns_expired ... ok [INFO] [stdout] test tests::test_tool_attestation_serialization ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_malformed_expires_at_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_malformed_now_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_malformed_timestamp_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_minute_60_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_month_00_returns_expired ... ok [INFO] [stdout] test tests::test_tool_version_pin_serialization ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_month_13_returns_expired ... ok [INFO] [stdout] test tests::test_tracked_task_serialization ... ok [INFO] [stdout] test tests::test_tracked_task_terminal_states ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_no_expiry_not_expired ... ok [INFO] [stdout] test tests::test_staging_report_validate_too_many_divergences ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_second_60_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_short_timestamp_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_valid_future_not_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_valid_past_expired ... ok [INFO] [stdout] test tests::test_tool_signature_is_expired_year_before_1970_returns_expired ... ok [INFO] [stdout] test tests::test_tool_signature_no_expiry_never_expires ... ok [INFO] [stdout] test tests::test_tool_sensitivity_default_is_high_fail_closed ... ok [INFO] [stdout] test tests::test_tool_signature_serialization_roundtrip ... ok [INFO] [stdout] test tests::test_tool_version_pin_exact_vs_constraint ... ok [INFO] [stdout] test tests::test_tracked_task_validate_rejects_bad_status_reason ... ok [INFO] [stdout] test tests::test_transport_protocol_ordering ... ok [INFO] [stdout] test tests::test_transport_attempt_serde_roundtrip_failure ... ok [INFO] [stdout] test tests::test_transport_endpoint_serde_roundtrip ... ok [INFO] [stdout] test tests::test_trust_level_from_u8 ... ok [INFO] [stdout] test tests::test_trust_level_display ... ok [INFO] [stdout] test tests::test_unregistered_agent_risk_score_range_rejects_negative ... ok [INFO] [stdout] test tests::test_upstream_backend_default_weight ... ok [INFO] [stdout] test tests::test_transport_attempt_zero_duration ... ok [INFO] [stdout] test tests::test_upstream_backend_serde_roundtrip ... ok [INFO] [stdout] test tests::test_validate_existing_action ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_allows_single_slash ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_consecutive_dots_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_control_char_escaped_in_error ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_invalid_chars_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_empty_rejected ... ok [INFO] [stdout] test tests::test_trust_level_ordering ... ok [INFO] [stdout] test tests::test_validate_accepts_max_targets ... ok [INFO] [stdout] test tests::test_transport_attempt_serde_roundtrip_success ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_leading_dot_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_leading_slash_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_max_length_accepted ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_rejects_consecutive_slashes ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_trailing_dot_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_too_long_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_trailing_slash_rejected ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_valid_dotted_namespace ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_valid_simple ... ok [INFO] [stdout] test tests::test_validate_mcp_tool_name_valid_slashed_namespace ... ok [INFO] [stdout] test tests::test_validate_null_byte_second_target ... ok [INFO] [stdout] test tests::test_unregistered_agent_risk_score_range_rejects_above_one ... ok [INFO] [stdout] test tests::test_validate_rejects_too_long_target_path ... ok [INFO] [stdout] test tests::test_validate_rejects_too_many_resolved_ips_r39_eng_4 ... ok [INFO] [stdout] test tests::test_validate_rejects_null_byte_in_target_path ... ok [INFO] [stdout] test tests::test_validation_error_display ... ok [INFO] [stdout] test tests::test_validate_rejects_too_many_targets ... ok [INFO] [stdout] test tests::test_validate_resolved_ips_combined_with_paths_domains_r39_eng_4 ... ok [INFO] [stdout] test tests::test_validated_accepts_max_length_tool ... ok [INFO] [stdout] test tests::test_validate_resolved_ips_at_boundary_r39_eng_4 ... ok [INFO] [stdout] test tests::test_validated_accepts_valid_input ... ok [INFO] [stdout] test tests::test_validated_rejects_control_chars_with_correct_variant ... ok [INFO] [stdout] test tests::test_verdict_all_variants ... ok [INFO] [stdout] test tests::test_verdict_deny_unknown_fields ... ok [INFO] [stdout] test tests::test_verdict_explanation_full_with_failed_constraints ... ok [INFO] [stdout] test tests::test_verdict_explanation_summary ... ok [INFO] [stdout] test tests::test_verdict_filter_serde_roundtrip_deny ... ok [INFO] [stdout] test tests::test_verdict_filter_serde_roundtrip_require_approval ... ok [INFO] [stdout] test tests::test_validated_rejects_empty_function ... ok [INFO] [stdout] test tests::test_validated_rejects_empty_tool ... ok [INFO] [stdout] test tests::test_verdict_filter_serde_roundtrip_allow ... ok [INFO] [stdout] test tests::test_validated_rejects_null_bytes_in_function ... ok [INFO] [stdout] test tests::test_validated_rejects_null_bytes_in_tool ... ok [INFO] [stdout] test tests::test_validate_rejects_null_byte_in_target_domain ... ok [INFO] [stdout] test tests::test_validate_accepts_max_length_target_path ... ok [INFO] [stdout] test tests::test_version_drift_alert_hash_mismatch ... ok [INFO] [stdout] test tests::test_verdict_explanation_serde_roundtrip ... ok [INFO] [stdout] test tests::test_version_drift_alert_serialization ... ok [INFO] [stdout] test tests::test_validated_rejects_too_long_tool ... ok [INFO] [stdout] test tests::test_version_drift_alert_version_mismatch ... ok [INFO] [stdout] test threat::tests::test_auth_level_from_u8_unknown_values_fail_closed ... ok [INFO] [stdout] test threat::tests::test_auth_level_satisfies_lower_fails_higher ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_at_max_sub_capabilities_ok ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_name_control_chars_rejected ... ok [INFO] [stdout] test threat::tests::test_auth_level_satisfies_same_level_ok ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_name_too_long_rejected ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_valid_ok ... ok [INFO] [stdout] test threat::tests::test_principal_context_validate_empty_principal_rejected ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_sub_capabilities_count_rejected ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_sub_capability_too_long_rejected ... ok [INFO] [stdout] test threat::tests::test_schema_record_validate_empty_tool_name_rejected ... ok [INFO] [stdout] test threat::tests::test_schema_record_validate_trust_score_nan_rejected ... ok [INFO] [stdout] test threat::tests::test_schema_record_validate_valid_ok ... ok [INFO] [stdout] test threat::tests::test_schema_record_validate_trust_score_out_of_range_rejected ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_century_leap_years ... ok [INFO] [stdout] test threat::tests::test_schema_record_validate_version_history_overflow_rejected ... ok [INFO] [stdout] test threat::tests::test_principal_context_validate_valid_direct_ok ... ok [INFO] [stdout] test threat::tests::test_auth_level_satisfies_higher_meets_lower ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_empty_name_rejected ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_epoch_accuracy ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_accepts_feb_29_leap ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_monotonic ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_version_too_long_rejected ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_allows_leap_second ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_validate_sub_capability_control_chars_rejected ... ok [INFO] [stdout] test threat::tests::test_auth_level_from_u8_all_valid_values ... ok [INFO] [stdout] test threat::tests::test_mcp_capability_has_sub ... ok [INFO] [stdout] test threat::tests::test_auth_level_satisfies_none_satisfies_none ... ok [INFO] [stdout] test threat::tests::test_principal_context_validate_expires_zero_rejected ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_monotonic_all_months ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_day_31_in_30day_months ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_day_zero ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_feb_29_non_leap ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_feb_31 ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_month_zero ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_second_61 ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_valid_timestamp ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_valid_without_z ... ok [INFO] [stdout] test unicode::tests::test_already_ascii_unchanged ... ok [INFO] [stdout] test unicode::tests::test_curly_quotes ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_year_9999_no_overflow ... ok [INFO] [stdout] test unicode::tests::test_cyrillic_uppercase_comprehensive ... ok [INFO] [stdout] test unicode::tests::test_cyrillic_a_to_latin_a ... ok [INFO] [stdout] test unicode::tests::test_cyrillic_lowercase_comprehensive ... ok [INFO] [stdout] test unicode::tests::test_email_style_identity_spoofing ... ok [INFO] [stdout] test unicode::tests::test_cyrillic_spoofed_admin ... ok [INFO] [stdout] test unicode::tests::test_empty_string ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_too_short ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_case_folding ... ok [INFO] [stdout] test unicode::tests::test_fully_spoofed_tool_name ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_cyrillic_with_case ... ok [INFO] [stdout] test unicode::tests::test_cyrillic_spoofed_password ... ok [INFO] [stdout] test unicode::tests::test_fullwidth_latin ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_empty_string ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_mixed_homoglyphs_case ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_pure_ascii ... ok [INFO] [stdout] test unicode::tests::test_greek_confusables ... ok [INFO] [stdout] test unicode::tests::test_greek_spoofed_admin ... ok [INFO] [stdout] test unicode::tests::test_self_approval_bypass_prevented ... ok [INFO] [stdout] test unicode::tests::test_normalize_identity_reflexive ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_hour_25 ... ok [INFO] [stdout] test unicode::tests::test_various_dashes ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_month_13 ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_year_overflow ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_decodes_alphanumeric ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_decodes_special_unreserved ... ok [INFO] [stdout] test time_util::tests::test_parse_iso8601_secs_rejects_year_before_epoch ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_incomplete_sequences ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_keeps_reserved_encoded ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_mixed ... ok [INFO] [stdout] test uri_util::tests::test_decode_unreserved_normalizes_hex_case ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_decodes_unreserved_in_path ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_lowercase_scheme_authority ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_keeps_reserved_in_path ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_strips_trailing_slash ... ok [INFO] [stdout] test verification::tests::test_attestation_without_did ... ok [INFO] [stdout] test verification::tests::test_r215_008_did_validation_dangerous_chars ... ok [INFO] [stdout] test verification::tests::test_r215_008_did_validation_too_long ... ok [INFO] [stdout] test verification::tests::test_r215_009_policy_hash_empty ... ok [INFO] [stdout] test verification::tests::test_accountability_attestation_serde ... ok [INFO] [stdout] test verification::tests::test_r215_008_did_validation_valid ... ok [INFO] [stdout] test verification::tests::test_r215_009_policy_hash_not_hex ... ok [INFO] [stdout] test verification::tests::test_r215_009_policy_hash_odd_length ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_no_path ... ok [INFO] [stdout] test verification::tests::test_r215_009_public_key_not_hex ... ok [INFO] [stdout] test verification::tests::test_r215_009_signature_not_hex ... ok [INFO] [stdout] test verification::tests::test_attestation_verification_result_is_valid ... ok [INFO] [stdout] test uri_util::tests::test_normalize_htu_preserves_path_case ... ok [INFO] [stdout] test verification::tests::test_verification_tier_default ... ok [INFO] [stdout] test verification::tests::test_verification_tier_display ... ok [INFO] [stdout] test verification::tests::test_verification_tier_from_level ... ok [INFO] [stdout] test verification::tests::test_verification_tier_from_name ... ok [INFO] [stdout] test verification::tests::test_r215_009_valid_hex_fields ... ok [INFO] [stdout] test verification::tests::test_verification_tier_ordering ... ok [INFO] [stdout] test verification::tests::test_verification_tier_serde_roundtrip ... ok [INFO] [stdout] test verified_transport_context::tests::test_project_agent_identity_from_trusted_transport_preserves_identity ... ok [INFO] [stdout] test verified_transport_context::tests::test_project_agent_identity_from_untrusted_transport_strips_identity ... ok [INFO] [stdout] test verified_transport_context::tests::test_project_capability_token_from_trusted_transport_preserves_token ... ok [INFO] [stdout] test verification::tests::test_verification_tier_level ... ok [INFO] [stdout] test verification::tests::test_verification_tier_meets_minimum ... ok [INFO] [stdout] test verified_transport_context::tests::test_trusted_transport_preserves_agent_identity_only_when_present ... ok [INFO] [stdout] test verified_transport_context::tests::test_trusted_transport_preserves_capability_token_only_when_present ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_validate_blinding_hint_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_validate_blinding_hint_too_long_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_validate_commitment_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_validate_commitment_too_long_rejected ... ok [INFO] [stdout] test verified_transport_context::tests::test_project_capability_token_from_untrusted_transport_strips_token ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_debug_redacts_blinding_hint ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_entry_count_mismatch_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_entry_count_too_large_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_entry_range_inverted_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_merkle_root_too_long_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_proof_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_proof_too_long_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_pedersen_commitment_validate_valid_ok ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_batch_id_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_hash_fields_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_batch_proof_validate_valid_ok ... ok [INFO] [stdout] test zk_audit::tests::test_zk_scheduler_status_validate_timestamp_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_verify_result_validate_error_control_chars_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_verify_result_validate_error_too_long_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_verify_result_validate_valid_ok ... ok [INFO] [stdout] test zk_audit::tests::test_zk_scheduler_status_validate_timestamp_too_long_rejected ... ok [INFO] [stdout] test zk_audit::tests::test_zk_scheduler_status_validate_valid_ok ... ok [INFO] [stdout] test tests::valid_names_roundtrip_serde ... ok [INFO] [stdout] test tests::validated_ok_iff_validate_ok ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1097 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s [INFO] [stdout] [INFO] [stderr] Doc-tests vellaveto_types [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test src/core.rs - core::sanitize_for_log (line 83) ... ok [INFO] [stdout] test src/core.rs - core::json_has_dangerous_chars (line 102) ... ok [INFO] [stdout] test src/identity.rs - identity::EvaluationContext::builder (line 353) ... ok [INFO] [stdout] test src/unicode.rs - unicode::normalize_homoglyphs (line 38) ... ok [INFO] [stdout] test src/unicode.rs - unicode::normalize_identity (line 211) ... ok [INFO] [stdout] test src/did_plc.rs - did_plc::DidPlc (line 29) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8e96cfdcd2b96eb76025ca777175daea74658685a4f54b8742b1fef4f129cef5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e96cfdcd2b96eb76025ca777175daea74658685a4f54b8742b1fef4f129cef5", kill_on_drop: false }` [INFO] [stdout] 8e96cfdcd2b96eb76025ca777175daea74658685a4f54b8742b1fef4f129cef5