[INFO] fetching crate taudit-core 3.0.0...
[INFO] testing taudit-core-3.0.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate taudit-core 3.0.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate taudit-core 3.0.0
[INFO] finished tweaking crates.io crate taudit-core 3.0.0
[INFO] tweaked toml for crates.io crate taudit-core 3.0.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate taudit-core 3.0.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate taudit-core 3.0.0 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded taudit-api v0.4.0
[INFO] [stderr]   Downloaded web-sys v0.3.97
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ddcae9ce447baecf32bfecb487a78386540a945d14976d121ed8aaf121917538
[INFO] running `Command { std: "docker" "start" "-a" "ddcae9ce447baecf32bfecb487a78386540a945d14976d121ed8aaf121917538", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ddcae9ce447baecf32bfecb487a78386540a945d14976d121ed8aaf121917538", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddcae9ce447baecf32bfecb487a78386540a945d14976d121ed8aaf121917538", kill_on_drop: false }`
[INFO] [stdout] ddcae9ce447baecf32bfecb487a78386540a945d14976d121ed8aaf121917538
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70bfccd36a1b9dc656b1390c1c267afaad15fc8997672fba89c96596760cc0d5
[INFO] running `Command { std: "docker" "start" "-a" "70bfccd36a1b9dc656b1390c1c267afaad15fc8997672fba89c96596760cc0d5", kill_on_drop: false }`
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling taudit-api v0.4.0
[INFO] [stderr]    Compiling taudit-core v3.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.84s
[INFO] running `Command { std: "docker" "inspect" "70bfccd36a1b9dc656b1390c1c267afaad15fc8997672fba89c96596760cc0d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70bfccd36a1b9dc656b1390c1c267afaad15fc8997672fba89c96596760cc0d5", kill_on_drop: false }`
[INFO] [stdout] 70bfccd36a1b9dc656b1390c1c267afaad15fc8997672fba89c96596760cc0d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ab00a55c56610ad22ab419fc123e21f1a3cdca477f6367f9a6201bfb845a41f
[INFO] running `Command { std: "docker" "start" "-a" "1ab00a55c56610ad22ab419fc123e21f1a3cdca477f6367f9a6201bfb845a41f", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling taudit-api v0.4.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling taudit-core v3.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.31s
[INFO] running `Command { std: "docker" "inspect" "1ab00a55c56610ad22ab419fc123e21f1a3cdca477f6367f9a6201bfb845a41f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ab00a55c56610ad22ab419fc123e21f1a3cdca477f6367f9a6201bfb845a41f", kill_on_drop: false }`
[INFO] [stdout] 1ab00a55c56610ad22ab419fc123e21f1a3cdca477f6367f9a6201bfb845a41f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 778a9372019ddb0bd88ddefc70aa6f5181f6616b2b81e1ffece9ac0e06af0583
[INFO] running `Command { std: "docker" "start" "-a" "778a9372019ddb0bd88ddefc70aa6f5181f6616b2b81e1ffece9ac0e06af0583", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/taudit_core-d957b495aa6742cb)
[INFO] [stdout] 
[INFO] [stdout] running 415 tests
[INFO] [stdout] test baselines::tests::accept_critical_with_expiry_beyond_90d_is_rejected ... ok
[INFO] [stdout] test baselines::tests::accept_rejects_short_reason ... ok
[INFO] [stdout] test baselines::tests::baselines_dir_and_filename_layout ... ok
[INFO] [stdout] test baselines::tests::critical_preexisting_from_init_is_suppressed ... ok
[INFO] [stdout] test baselines::tests::critical_preexisting_without_waiver_blocks_exit_zero ... ok
[INFO] [stdout] test baselines::tests::accept_critical_without_expires_is_rejected ... ok
[INFO] [stdout] test baselines::tests::baseline_fingerprint_matches_sarif_fingerprint ... ok
[INFO] [stdout] test baselines::tests::diff_classifies_new_fixed_preexisting ... ok
[INFO] [stdout] test baselines::tests::baseline_save_is_atomic_under_signalled_interruption ... ok
[INFO] [stdout] test baselines::tests::expired_critical_waiver_no_longer_protects ... ok
[INFO] [stdout] test baselines::tests::identity_material_hash_changes_when_template_delegation_changes ... ok
[INFO] [stdout] test baselines::tests::legacy_baseline_without_identity_material_remains_compatible ... ok
[INFO] [stdout] test baselines::tests::pipeline_hash_crlf_equals_lf ... ok
[INFO] [stdout] test baselines::tests::pipeline_hash_is_deterministic_and_prefixed ... ok
[INFO] [stdout] test baselines::tests::critical_with_explicit_waiver_does_not_block ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_does_not_fire_when_predicates_miss ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_fires_on_matching_path ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_accepts_kebab_case ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_rejects_leading_digit ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_rejects_brackets ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_rejects_64_chars_plus_one ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_rejects_whitespace ... ok
[INFO] [stdout] test custom_rules::tests::graph_metadata_missing_key_does_not_match_no_crash ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_rejects_empty ... ok
[INFO] [stdout] test baselines::tests::identity_material_hash_is_stable_across_nodeid_shifts ... ok
[INFO] [stdout] test custom_rules::tests::graph_metadata_in_matches_any_of_listed_values ... ok
[INFO] [stdout] test custom_rules::tests::graph_metadata_negation_excludes_unwanted_trigger ... ok
[INFO] [stdout] test custom_rules::tests::in_memory_custom_rule_emits_custom_source_with_empty_path ... ok
[INFO] [stdout] test baselines::tests::baseline_save_cleans_up_temp_on_rename_failure ... ok
[INFO] [stdout] test baselines::tests::load_returns_none_when_absent ... ok
[INFO] [stdout] test custom_rules::tests::graph_metadata_equals_matches_when_value_present ... ok
[INFO] [stdout] test baselines::tests::identity_material_hash_changes_when_dependency_metadata_changes ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_loads_multi_doc_files ... ok
[INFO] [stdout] test baselines::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_follows_in_tree_symlink_with_warning ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_refuses_out_of_tree_symlink_by_default ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_follows_out_of_tree_symlink_with_override ... ok
[INFO] [stdout] test custom_rules::tests::loaded_rule_threads_source_file_into_findings ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_dedupes_in_tree_symlink ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_reads_yml_and_yaml ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_reports_yaml_errors_with_path ... ok
[INFO] [stdout] test custom_rules::tests::metadata_not_equals_excludes_specific_value ... ok
[INFO] [stdout] test custom_rules::tests::negation_on_node_type_list_matches_other_kinds ... ok
[INFO] [stdout] test custom_rules::tests::multi_doc_with_empty_leading_document_is_skipped ... ok
[INFO] [stdout] test custom_rules::tests::node_type_accepts_list_form ... ok
[INFO] [stdout] test custom_rules::tests::multi_doc_yaml_loads_each_document_as_separate_rule ... ok
[INFO] [stdout] test baselines::tests::accept_critical_with_valid_expiry_succeeds ... ok
[INFO] [stdout] test custom_rules::tests::node_type_accepts_single_value_back_compat ... ok
[INFO] [stdout] test custom_rules::tests::nested_not_collapses_to_inner_condition ... ok
[INFO] [stdout] test custom_rules::tests::reserved_categories_still_serialize_when_constructed_in_rust ... ok
[INFO] [stdout] test custom_rules::tests::rules_without_graph_metadata_remain_backward_compatible ... ok
[INFO] [stdout] test custom_rules::tests::metadata_contains_does_substring_match ... ok
[INFO] [stdout] test custom_rules::tests::single_doc_yaml_still_loads_identically ... ok
[INFO] [stdout] test custom_rules::tests::standalone_ignores_source_sink_path_fields ... ok
[INFO] [stdout] test custom_rules::tests::metadata_in_matches_any_of_allowed_values ... ok
[INFO] [stdout] test custom_rules::tests::metadata_predicate_must_match_all_keys ... ok
[INFO] [stdout] test custom_rules::tests::negation_on_trust_zone_inverts_match ... ok
[INFO] [stdout] test custom_rules::tests::reserved_categories_rejected_by_custom_rule_loader ... ok
[INFO] [stdout] test custom_rules::tests::sink_node_type_image_matches_image_path_endpoint ... ok
[INFO] [stdout] test custom_rules::tests::unknown_metadata_operator_is_rejected ... ok
[INFO] [stdout] test custom_rules::tests::standalone_still_honors_graph_metadata_gate ... ok
[INFO] [stdout] test custom_rules::tests::yaml_round_trip_loads_full_rule ... ok
[INFO] [stdout] test custom_rules::tests::load_rules_dir_walks_subdirectories ... ok
[INFO] [stdout] test custom_rules::tests::standalone_matches_every_floating_image_in_graph ... ok
[INFO] [stdout] test custom_rules::tests::standalone_supports_in_operator ... ok
[INFO] [stdout] test custom_rules::tests::metadata_negation_matches_absent_or_other_value ... ok
[INFO] [stdout] test finding::fingerprint_tests::extract_custom_rule_id_rejects_emphasis_phrases ... ok
[INFO] [stdout] test finding::fingerprint_tests::different_files_produce_different_fingerprints ... ok
[INFO] [stdout] test finding::fingerprint_tests::custom_rule_id_in_message_is_used ... ok
[INFO] [stdout] test finding::fingerprint_tests::different_rules_produce_different_fingerprints ... ok
[INFO] [stdout] test exploit_path::tests::firebase_exploit_path_dot_shows_red_authority_path ... ok
[INFO] [stdout] test finding::fingerprint_tests::every_category_returns_non_unknown_rule_id ... ok
[INFO] [stdout] test finding::fingerprint_tests::empty_node_list_still_produces_fingerprint ... ok
[INFO] [stdout] test finding::fingerprint_tests::finding_group_id_is_deterministic_uuid_v5 ... ok
[INFO] [stdout] test finding::fingerprint_tests::fingerprint_anchor_distinguishes_otherwise_identical_findings ... ok
[INFO] [stdout] test finding::fingerprint_tests::fingerprint_is_32_hex_chars ... ok
[INFO] [stdout] test finding::fingerprint_tests::fingerprint_is_stable_across_path_separator_styles ... ok
[INFO] [stdout] test finding::fingerprint_tests::fingerprint_is_stable_across_repeat_calls ... ok
[INFO] [stdout] test finding::fingerprint_tests::golden_authority_propagation_fingerprint ... ok
[INFO] [stdout] test finding::fingerprint_tests::golden_floating_image_fingerprint ... ok
[INFO] [stdout] test finding::fingerprint_tests::golden_template_extends_unpinned_branch_fingerprint ... ok
[INFO] [stdout] test finding::fingerprint_tests::root_authority_segment_is_always_present_even_when_empty ... ok
[INFO] [stdout] test finding::fingerprint_tests::with_compensating_control_downgrades_and_records_original ... ok
[INFO] [stdout] test finding::fingerprint_tests::with_time_to_fix_attaches_effort ... ok
[INFO] [stdout] test finding::source_tests::custom_serializes_with_path_payload ... ok
[INFO] [stdout] test graph::tests::build_simple_graph ... ok
[INFO] [stdout] test finding::source_tests::finding_round_trip_preserves_custom_source_with_path ... ok
[INFO] [stdout] test finding::source_tests::missing_source_field_deserializes_as_built_in ... ok
[INFO] [stdout] test finding::fingerprint_tests::out_of_range_nodeid_does_not_collide ... ok
[INFO] [stdout] test finding::fingerprint_tests::per_hop_findings_against_same_authority_are_distinct ... ok
[INFO] [stdout] test finding::fingerprint_tests::same_secret_same_sink_remains_stable_across_calls ... ok
[INFO] [stdout] test finding::source_tests::built_in_serializes_as_string ... ok
[INFO] [stdout] test graph::tests::identity_scope_from_permissions ... ok
[INFO] [stdout] test graph::tests::is_docker_digest_pinned_accepts_full_64_lowercase ... ok
[INFO] [stdout] test finding::source_tests::finding_round_trip_preserves_built_in_source ... ok
[INFO] [stdout] test finding::fingerprint_tests::node_order_is_significant ... ok
[INFO] [stdout] test finding::fingerprint_tests::message_changes_do_not_affect_fingerprint ... ok
[INFO] [stdout] test graph::tests::is_docker_digest_pinned_rejects_truncated ... ok
[INFO] [stdout] test baselines::tests::init_captures_current_findings ... ok
[INFO] [stdout] test custom_rules::tests::custom_rule_id_validation_accepts_snake_case ... ok
[INFO] [stdout] test finding::fingerprint_tests::suppression_key_survives_unrelated_step_insertion ... ok
[INFO] [stdout] test graph::tests::is_docker_digest_pinned_rejects_uppercase ... ok
[INFO] [stdout] test graph::tests::is_pin_semantically_valid_accepts_real_docker_digest ... ok
[INFO] [stdout] test graph::tests::is_pin_semantically_valid_accepts_real_looking_sha ... ok
[INFO] [stdout] test graph::tests::is_pin_semantically_valid_rejects_all_zero_docker_digest ... ok
[INFO] [stdout] test graph::tests::is_pin_semantically_valid_rejects_all_zero_sha ... ok
[INFO] [stdout] test graph::tests::is_pin_semantically_valid_rejects_unpinned ... ok
[INFO] [stdout] test graph::tests::completeness_default_is_complete ... ok
[INFO] [stdout] test graph::tests::is_sha_pinned_accepts_lowercase_40_hex ... ok
[INFO] [stdout] test graph::tests::is_sha_pinned_rejects_short_or_non_hex ... ok
[INFO] [stdout] test graph::tests::is_sha_pinned_structural_accepts_all_zero ... ok
[INFO] [stdout] test graph::tests::mark_partial_records_reason ... ok
[INFO] [stdout] test baselines::tests::unsupported_schema_version_rejected ... ok
[INFO] [stdout] test graph::tests::stamp_edge_authority_summaries_on_has_access_to_identity ... ok
[INFO] [stdout] test graph::tests::trust_zone_ordering ... ok
[INFO] [stdout] test ignore::tests::category_only_rule_matches_all_files ... ok
[INFO] [stdout] test ignore::tests::empty_config_passes_everything ... ok
[INFO] [stdout] test finding::fingerprint_tests::r2_attack2_two_files_same_secret_name_distinct_fingerprints ... ok
[INFO] [stdout] test ignore::tests::glob_exact_match ... ok
[INFO] [stdout] test ignore::tests::glob_star_middle ... ok
[INFO] [stdout] test ignore::tests::glob_star_prefix ... ok
[INFO] [stdout] test ignore::tests::glob_star_suffix ... ok
[INFO] [stdout] test ignore::tests::glob_wildcard_all ... ok
[INFO] [stdout] test ignore::tests::multiple_rules_compose ... ok
[INFO] [stdout] test ignore::tests::path_glob_filters_to_specific_file ... ok
[INFO] [stdout] test ignore::tests::path_glob_with_wildcard ... ok
[INFO] [stdout] test ignore::tests::unmatched_findings_pass_through ... ok
[INFO] [stdout] test map::tests::dot_job_collapse_emits_cluster_per_job_and_merges_step_edges ... ok
[INFO] [stdout] test map::tests::dot_output_contains_expected_node_and_edge ... ok
[INFO] [stdout] test map::tests::job_filter_produces_subset_of_full_map ... ok
[INFO] [stdout] test map::tests::job_names_lists_distinct_jobs_sorted ... ok
[INFO] [stdout] test map::tests::map_renders_table ... ok
[INFO] [stdout] test map::tests::map_shows_step_access ... ok
[INFO] [stdout] test map::tests::mermaid_escapes_injection_like_node_names ... ok
[INFO] [stdout] test map::tests::mermaid_job_filter_matches_dot_subset ... ok
[INFO] [stdout] test map::tests::mermaid_output_contains_expected_node_and_edge ... ok
[INFO] [stdout] test map::tests::mermaid_partial_graph_leads_with_completeness_comment ... ok
[INFO] [stdout] test map::tests::rich_dot_and_mermaid_include_zone_and_optional_metadata ... ok
[INFO] [stdout] test propagation::tests::detects_secret_propagation_across_trust_boundary ... ok
[INFO] [stdout] test propagation::tests::identity_is_authority_source ... ok
[INFO] [stdout] test propagation::tests::no_finding_when_same_trust_zone ... ok
[INFO] [stdout] test propagation::tests::respects_max_hops ... ok
[INFO] [stdout] test propagation::tests::small_graph_below_threshold_passes_check ... ok
[INFO] [stdout] test rules::tests::addspn_with_inline_script_escalates_message_on_token_laundering ... ok
[INFO] [stdout] test rules::tests::addspn_with_inline_script_fires_with_basic_body ... ok
[INFO] [stdout] test rules::tests::addspn_without_inline_script_does_not_fire ... ok
[INFO] [stdout] test rules::tests::artifact_crossing_firstparty_producer_untrusted_consumer_silent ... ok
[INFO] [stdout] test rules::tests::artifact_crossing_no_authority_still_fires ... ok
[INFO] [stdout] test rules::tests::artifact_crossing_same_job_does_not_fire ... ok
[INFO] [stdout] test rules::tests::artifact_crossing_untrusted_producer_firstparty_consumer_fires ... ok
[INFO] [stdout] test rules::tests::attacker_influenced_container_with_secret_env_fires ... ok
[INFO] [stdout] test rules::tests::authority_cycle_3node_cycle_includes_all_members ... ok
[INFO] [stdout] test rules::tests::authority_cycle_detected ... ok
[INFO] [stdout] test rules::tests::authority_cycle_no_fire_for_acyclic_graph ... ok
[INFO] [stdout] test rules::tests::authority_propagation_clusters_one_secret_to_three_sinks ... ok
[INFO] [stdout] test rules::tests::authority_propagation_does_not_cluster_separate_secrets ... ok
[INFO] [stdout] test rules::tests::bash_export_of_pipeline_secret_flagged ... ok
[INFO] [stdout] test rules::tests::bash_process_substitution_curl_main_is_flagged ... ok
[INFO] [stdout] test rules::tests::bash_redirect_of_secret_to_tfvars_flagged ... ok
[INFO] [stdout] test rules::tests::body_interpolates_var_does_not_match_prefix ... ok
[INFO] [stdout] test rules::tests::broad_identity_scope_flagged_as_high ... ok
[INFO] [stdout] test rules::tests::cert_thumbprint_still_fires ... ok
[INFO] [stdout] test rules::tests::checkout_self_pr_exposure_fires_on_pr_trigger ... ok
[INFO] [stdout] test rules::tests::checkout_self_pr_exposure_no_fire_without_pr_trigger ... ok
[INFO] [stdout] test rules::tests::co_fire_on_solarwinds_pattern ... ok
[INFO] [stdout] test rules::tests::comma_separated_trigger_with_pull_request_target_flagged ... ok
[INFO] [stdout] test rules::tests::complete_graph_keeps_critical_findings ... ok
[INFO] [stdout] test rules::tests::constrained_identity_scope_not_flagged ... ok
[INFO] [stdout] test rules::tests::convertfrom_securestring_asplaintext_flagged ... ok
[INFO] [stdout] test rules::tests::cross_workflow_authority_chain_detected ... ok
[INFO] [stdout] test rules::tests::cross_workflow_authority_chain_no_fire_if_local_delegation ... ok
[INFO] [stdout] test rules::tests::cross_workflow_authority_chain_third_party_is_high ... ok
[INFO] [stdout] test rules::tests::curl_without_pipe_to_shell_not_flagged ... ok
[INFO] [stdout] test rules::tests::docker_socket_reference_is_flagged ... ok
[INFO] [stdout] test rules::tests::division_slash_homoglyph_flagged ... ok
[INFO] [stdout] test rules::tests::duplicate_unpinned_actions_deduplicated ... ok
[INFO] [stdout] test rules::tests::env_gate_write_of_non_secret_value_does_not_fire ... ok
[INFO] [stdout] test rules::tests::echoing_secret_to_stdout_not_flagged_by_materialisation_rule ... ok
[INFO] [stdout] test rules::tests::downgrade_one_step_table ... ok
[INFO] [stdout] test rules::tests::dynamic_loader_before_credential_helper_fires ... ok
[INFO] [stdout] test rules::tests::env_approval_gate_reduces_propagation_severity ... ok
[INFO] [stdout] test rules::tests::env_config_redirect_before_authority_fires ... ok
[INFO] [stdout] test rules::tests::floating_deno_run_main_is_flagged ... ok
[INFO] [stdout] test rules::tests::cyrillic_a_homoglyph_flagged ... ok
[INFO] [stdout] test rules::tests::exploit_rule_artifact_to_build_scan_publish_fires ... ok
[INFO] [stdout] test rules::tests::env_gate_writer_then_first_party_reader_does_not_fire ... ok
[INFO] [stdout] test rules::tests::env_gate_writer_then_untrusted_reader_fires ... ok
[INFO] [stdout] test rules::tests::explicit_secret_remains_critical_despite_implicit_token ... ok
[INFO] [stdout] test rules::tests::exploit_rule_artifact_metadata_to_privileged_api_fires ... ok
[INFO] [stdout] test rules::tests::exploit_rule_artifact_report_to_pr_comment_fires ... ok
[INFO] [stdout] test rules::tests::floating_curl_pipe_bash_master_is_flagged ... ok
[INFO] [stdout] test rules::tests::exploit_rule_floating_remote_script_before_publish_fires ... ok
[INFO] [stdout] test rules::tests::docker_setup_qemu_flags_prior_path_plus_private_image_context ... ok
[INFO] [stdout] test rules::tests::floating_image_digest_pinned_container_not_flagged ... ok
[INFO] [stdout] test rules::tests::floating_image_ignores_action_images ... ok
[INFO] [stdout] test rules::tests::floating_image_unpinned_container_flagged ... ok
[INFO] [stdout] test rules::tests::gha_action_boundary_create_pr_accepts_write_scoped_github_token ... ok
[INFO] [stdout] test rules::tests::gha_ecr_mask_password_false_flags_secret_output ... ok
[INFO] [stdout] test rules::tests::gha_action_boundary_profiles_require_path_and_authority ... ok
[INFO] [stdout] test rules::tests::gha_action_boundary_profiles_fire_for_specific_authority ... ok
[INFO] [stdout] test rules::tests::gha_toolcache_action_does_not_fire_helper_path_rules ... ok
[INFO] [stdout] test rules::tests::gitlab_deploy_no_protected_only_skips_dev_environment ... ok
[INFO] [stdout] test rules::tests::github_author_email_does_not_fire ... ok
[INFO] [stdout] test rules::tests::gha_setup_gcloud_requires_skip_install_for_path_rule ... ok
[INFO] [stdout] test rules::tests::gha_action_boundary_profiles_do_not_emit_generic_path_warning ... ok
[INFO] [stdout] test rules::tests::gha_tool_installer_then_shell_dedupes_duplicate_installers_per_shell_sink ... ok
[INFO] [stdout] test rules::tests::exploit_rule_token_remote_url_trace_exposure_fires ... ok
[INFO] [stdout] test rules::tests::gha_helper_path_sensitive_stdin_fires_for_docker_login ... ok
[INFO] [stdout] test rules::tests::gha_post_cleanup_fires_when_later_step_writes_github_env ... ok
[INFO] [stdout] test rules::tests::gitlab_deploy_no_protected_only_skips_when_marker_present ... ok
[INFO] [stdout] test rules::tests::homoglyph_rule_skips_non_gha_platform ... ok
[INFO] [stdout] test rules::tests::implicit_identity_downgrades_to_info ... ok
[INFO] [stdout] test rules::tests::inconsistent_fork_check_skips_non_pr_trigger ... ok
[INFO] [stdout] test rules::tests::keyvault_securestring_handling_not_flagged ... ok
[INFO] [stdout] test rules::tests::inconsistent_fork_check_skips_when_no_job_guarded ... ok
[INFO] [stdout] test rules::tests::inline_script_without_addspn_does_not_fire ... ok
[INFO] [stdout] test rules::tests::inconsistent_fork_check_skips_when_all_jobs_guarded ... ok
[INFO] [stdout] test rules::tests::ll_secret_without_oidc_skips_unrecognised_secret_names ... ok
[INFO] [stdout] test rules::tests::ll_secret_without_oidc_skips_when_oidc_identity_present ... ok
[INFO] [stdout] test rules::tests::long_lived_credential_detected ... ok
[INFO] [stdout] test rules::tests::looks_like_prod_connection_matches_real_world_names ... ok
[INFO] [stdout] test rules::tests::mac_cargo_build_rs_pr_with_token_fires ... ok
[INFO] [stdout] test rules::tests::mac_crossrepo_secrets_inherit_callee_fires ... ok
[INFO] [stdout] test rules::tests::mac_crossrepo_workflow_call_floating_ref_fires ... ok
[INFO] [stdout] test rules::tests::mac_makefile_with_pr_trigger_and_secrets_fires ... ok
[INFO] [stdout] test rules::tests::gha_helper_path_sensitive_argv_fires_for_azure_login ... ok
[INFO] [stdout] test rules::tests::mac_npm_lifecycle_pr_ignore_scripts_suppresses ... ok
[INFO] [stdout] test rules::tests::is_feature_class_branch_classification ... ok
[INFO] [stdout] test rules::tests::issue_comment_with_floating_action_flagged ... ok
[INFO] [stdout] test rules::tests::installer_then_shell_helper_authority_flags_downstream_shell_use ... ok
[INFO] [stdout] test rules::tests::keyvault_asplaintext_flagged ... ok
[INFO] [stdout] test rules::tests::mac_npm_lifecycle_pr_with_token_fires ... ok
[INFO] [stdout] test rules::tests::keyvault_secretvaluetext_legacy_pattern_flagged ... ok
[INFO] [stdout] test rules::tests::keyvaultname_does_not_fire ... ok
[INFO] [stdout] test rules::tests::known_compromised_action_ref_is_flagged ... ok
[INFO] [stdout] test rules::tests::later_secret_materialized_after_path_mutation_fires_once_for_helper_edge ... ok
[INFO] [stdout] test rules::tests::ll_secret_without_oidc_emits_for_aws_secret_with_no_oidc_in_graph ... ok
[INFO] [stdout] test rules::tests::inconsistent_fork_check_fires_when_one_job_guarded_one_unguarded ... ok
[INFO] [stdout] test rules::tests::gitlab_deploy_no_protected_only_fires_on_prod_env_without_marker ... ok
[INFO] [stdout] test rules::tests::mac_recursive_submodules_with_authority_fires ... ok
[INFO] [stdout] test rules::tests::mac_python_build_with_credentials_fires ... ok
[INFO] [stdout] test rules::tests::no_workflow_perms_does_not_fire_on_empty_graph ... ok
[INFO] [stdout] test rules::tests::no_workflow_perms_does_not_fire_when_a_job_declares_permissions ... ok
[INFO] [stdout] test rules::tests::node_options_startup_injection_before_node_authority_fires ... ok
[INFO] [stdout] test rules::tests::oidc_identity_to_pinned_third_party_is_critical ... ok
[INFO] [stdout] test rules::tests::node_options_memory_tuning_does_not_fire ... ok
[INFO] [stdout] test rules::tests::oidc_identity_in_untrusted_context_flags_pr_context ... ok
[INFO] [stdout] test rules::tests::no_workflow_perms_does_not_fire_on_ado_or_gitlab ... ok
[INFO] [stdout] test rules::tests::no_workflow_perms_fires_on_gha_when_marker_present_and_no_token_identity ... ok
[INFO] [stdout] test rules::tests::major_version_action_ref_gets_specific_rule_id ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_skips_non_string_params ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_skips_step_without_script_body ... ok
[INFO] [stdout] test rules::tests::gha_helper_path_sensitive_env_fires_for_npm_publish ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_fires_on_free_form_string_in_inline_script ... ok
[INFO] [stdout] test rules::tests::persisted_credential_rule_fires_on_persists_to_edge ... ok
[INFO] [stdout] test rules::tests::powershell_sas_assignments_extracts_var_names ... ok
[INFO] [stdout] test rules::tests::powershell_assignment_of_pipeline_secret_flagged ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_no_spaces_form_also_matches ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_default_type_is_treated_as_string ... ok
[INFO] [stdout] test rules::tests::partial_graph_preserves_critical_findings ... ok
[INFO] [stdout] test rules::tests::pinned_curl_url_with_tag_not_flagged ... ok
[INFO] [stdout] test rules::tests::pinned_action_not_flagged ... ok
[INFO] [stdout] test rules::tests::powershell_iex_remote_main_is_flagged ... ok
[INFO] [stdout] test propagation::tests::dense_graph_check_rejects_oversized_input ... ok
[INFO] [stdout] test rules::tests::parameter_interpolation_with_values_allowlist_does_not_fire ... ok
[INFO] [stdout] test rules::tests::pr_with_floating_docker_login_action_flagged ... ok
[INFO] [stdout] test rules::tests::pr_with_floating_login_to_gar_flagged ... ok
[INFO] [stdout] test rules::tests::privileged_container_run_is_flagged ... ok
[INFO] [stdout] test rules::tests::prod_deploy_no_env_gate_fires_on_ado_prod_sc_without_env_marker ... ok
[INFO] [stdout] test rules::tests::pr_with_unrelated_unpinned_action_not_flagged ... ok
[INFO] [stdout] test rules::tests::pr_with_sha_pinned_docker_login_not_flagged ... ok
[INFO] [stdout] test rules::tests::prod_deploy_no_env_gate_skips_dev_connection ... ok
[INFO] [stdout] test rules::tests::prod_deploy_no_env_gate_skips_when_env_marker_present ... ok
[INFO] [stdout] test rules::tests::powershell_outfile_of_secret_to_workspace_flagged ... ok
[INFO] [stdout] test rules::tests::pull_request_only_does_not_trigger_critical_compound_rule ... ok
[INFO] [stdout] test rules::tests::pull_request_target_with_floating_main_action_flagged_critical ... ok
[INFO] [stdout] test rules::tests::prod_deploy_no_env_gate_via_edge_to_prod_identity ... ok
[INFO] [stdout] test rules::tests::pure_ascii_action_ref_not_flagged ... ok
[INFO] [stdout] test rules::tests::propagation_to_untrusted_is_critical ... ok
[INFO] [stdout] test rules::tests::propagation_to_sha_pinned_is_high_not_critical ... ok
[INFO] [stdout] test rules::tests::reusable_call_image_input_with_secrets_inherit_fires ... ok
[INFO] [stdout] test rules::tests::pull_request_target_with_sha_pinned_action_not_flagged ... ok
[INFO] [stdout] test rules::tests::sas_in_cmdline_does_not_fire_when_sas_is_only_uploaded_to_blob ... ok
[INFO] [stdout] test rules::tests::runner_label_rule_skips_ordinary_matrix_os ... ok
[INFO] [stdout] test rules::tests::sas_in_cmdline_does_not_fire_without_sas_mint ... ok
[INFO] [stdout] test rules::tests::reusable_call_runner_input_with_secrets_inherit_fires ... ok
[INFO] [stdout] test rules::tests::run_all_rules_deduplicates_structurally_identical_findings ... ok
[INFO] [stdout] test rules::tests::rule_appears_in_run_all_rules ... ok
[INFO] [stdout] test rules::tests::sas_in_cmdline_fires_on_az_cli_generate_sas_with_arguments ... ok
[INFO] [stdout] test rules::tests::sas_in_cmdline_fires_on_minted_sas_interpolated_into_command_to_execute ... ok
[INFO] [stdout] test rules::tests::self_mutating_pipeline_first_party_no_authority_is_medium ... ok
[INFO] [stdout] test rules::tests::self_hosted_pool_pr_hijack_no_fire_without_pr_trigger ... ok
[INFO] [stdout] test rules::tests::self_mutating_pipeline_untrusted_is_critical ... ok
[INFO] [stdout] test rules::tests::self_hosted_pool_pr_hijack_fires_when_all_three_factors_present ... ok
[INFO] [stdout] test rules::tests::script_launders_spn_token_recognises_known_markers ... ok
[INFO] [stdout] test rules::tests::push_trigger_with_floating_login_action_not_flagged ... ok
[INFO] [stdout] test rules::tests::service_connection_scope_mismatch_fires_on_pr_broad_non_oidc ... ok
[INFO] [stdout] test rules::tests::secret_passed_as_command_argument_not_flagged ... ok
[INFO] [stdout] test rules::tests::self_mutating_pipeline_privileged_step_is_high ... ok
[INFO] [stdout] test rules::tests::service_connection_scope_mismatch_uses_cellos_remediation ... ok
[INFO] [stdout] test rules::tests::service_connection_scope_mismatch_no_fire_without_pr_trigger ... ok
[INFO] [stdout] test rules::tests::push_trigger_writing_to_env_not_flagged ... ok
[INFO] [stdout] test rules::tests::setup_go_cache_handoff_requires_explicit_cache_and_prior_path_mutation ... ok
[INFO] [stdout] test rules::tests::setup_node_cache_handoff_requires_cache_and_prior_path_mutation ... ok
[INFO] [stdout] test rules::tests::setup_python_cache_handoff_only_flags_helper_backed_cache_modes ... ok
[INFO] [stdout] test rules::tests::setvariable_issecret_false_skips_issecret_true ... ok
[INFO] [stdout] test rules::tests::setvariable_issecret_false_fires_on_explicit_false ... ok
[INFO] [stdout] test rules::tests::storage_account_key_still_fires ... ok
[INFO] [stdout] test rules::tests::suppression_checkout_pr_unchanged_when_job_has_privileged_step ... ok
[INFO] [stdout] test rules::tests::suppression_overpriv_identity_demoted_when_job_has_narrow_override ... ok
[INFO] [stdout] test rules::tests::suppression_trigger_context_unchanged_when_some_priv_steps_unguarded ... ok
[INFO] [stdout] test rules::tests::suppression_trigger_context_downgraded_when_all_priv_jobs_fork_checked ... ok
[INFO] [stdout] test rules::tests::tca_telemetry_event_text_to_external_sink_fires ... ok
[INFO] [stdout] test rules::tests::tca_attestation_subject_path_glob_with_pr_trigger_fires ... ok
[INFO] [stdout] test rules::tests::tca_attestation_config_driven_gate_fires ... ok
[INFO] [stdout] test rules::tests::tca_workflow_run_artifact_to_agent_to_git_push_fires ... ok
[INFO] [stdout] test rules::tests::tca_attestation_subject_digest_from_output_fires ... ok
[INFO] [stdout] test rules::tests::tca_workflow_run_artifact_to_blob_storage_fires ... ok
[INFO] [stdout] test rules::tests::tca_autonomous_agent_event_input_to_write_authority_fires ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_fires_on_explicit_branch_even_without_in_file_consumer ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_skips_sha_pinned ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_fires_on_missing_ref ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_fires_on_refs_heads_main ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_skips_unreferenced_repo_with_no_ref ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_skips_when_metadata_absent ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_cofires_with_parent_rule ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_fires_on_develop_branch ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_skips_refs_heads_with_sha ... ok
[INFO] [stdout] test rules::tests::setup_python_pip_install_flags_when_authority_in_scope ... ok
[INFO] [stdout] test rules::tests::setvariable_issecret_false_fires_when_flag_omitted ... ok
[INFO] [stdout] test rules::tests::setvariable_issecret_false_skips_non_sensitive_name ... ok
[INFO] [stdout] test rules::tests::step_without_script_body_not_flagged ... ok
[INFO] [stdout] test rules::tests::suppression_checkout_pr_downgraded_when_job_only_has_implicit_identity ... ok
[INFO] [stdout] test rules::tests::suppression_checkout_pr_downgraded_when_no_privileged_steps_in_job ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_handles_bare_branch_name ... ok
[INFO] [stdout] test rules::tests::template_extends_unpinned_branch_skips_tag_pinned ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_fires_on_refs_heads_feature ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_fires_on_solarwinds_corpus_pattern ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_skips_master_release_hotfix ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_skips_when_ref_absent ... ok
[INFO] [stdout] test rules::tests::terraform_auto_approve_against_non_prod_does_not_fire ... ok
[INFO] [stdout] test rules::tests::setup_node_cache_handoff_dedupes_repeated_steps_per_job ... ok
[INFO] [stdout] test rules::tests::tca_debug_flag_with_secret_env_fires_once_per_job ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_skips_when_only_phase_two_present ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_skips_when_setvariable_lacks_tf_capture_signal ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_skips_when_only_phase_one_present ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_skips_when_sink_in_different_job ... ok
[INFO] [stdout] test rules::tests::terraform_auto_approve_via_edge_to_service_connection_identity ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_fires_on_bare_feature_branch ... ok
[INFO] [stdout] test rules::tests::trigger_context_mismatch_fires_on_pull_request_target_with_secret ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_skips_main_branch ... ok
[INFO] [stdout] test rules::tests::terraform_auto_approve_with_env_gate_downgrades_to_medium ... ok
[INFO] [stdout] test rules::tests::unknown_identity_scope_flagged_as_medium ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_skips_when_sink_quotes_in_env_block ... ok
[INFO] [stdout] test rules::tests::template_repo_ref_is_feature_branch_skips_pinned_refs ... ok
[INFO] [stdout] test rules::tests::unpinned_action_does_not_flag_container_images ... ok
[INFO] [stdout] test rules::tests::terraform_apply_without_auto_approve_does_not_fire ... ok
[INFO] [stdout] test rules::tests::tf_output_setvariable_fires_on_literal_terraform_output_cli ... ok
[INFO] [stdout] test rules::tests::trigger_context_mismatch_fires_on_ado_pr_with_secret_as_high ... ok
[INFO] [stdout] test rules::tests::third_party_consumer_also_fires ... ok
[INFO] [stdout] test rules::tests::terraform_auto_approve_against_prod_connection_fires ... ok
[INFO] [stdout] test rules::tests::trigger_context_mismatch_no_fire_without_trigger_metadata ... ok
[INFO] [stdout] test rules::tests::unknown_graph_preserves_critical_findings ... ok
[INFO] [stdout] test rules::tests::uplift_without_attestation_no_fire_when_attests_present ... ok
[INFO] [stdout] test rules::tests::unpinned_action_same_repo_composite_is_info ... ok
[INFO] [stdout] test rules::tests::unpinned_action_well_known_first_party_is_medium ... ok
[INFO] [stdout] test rules::tests::unpinned_action_self_hosted_runner_label_not_flagged ... ok
[INFO] [stdout] test rules::tests::unpinned_third_party_action_flagged ... ok
[INFO] [stdout] test rules::tests::untrusted_step_with_secret_is_critical ... ok
[INFO] [stdout] test rules::tests::untrusted_with_cli_flag_exposed_secret_notes_log_exposure ... ok
[INFO] [stdout] test rules::tests::v3_template_extends_unpinned_branch_two_aliases_distinct_fingerprints ... ok
[INFO] [stdout] test rules::tests::unpinned_action_unknown_owner_is_high ... ok
[INFO] [stdout] test rules::tests::variable_group_in_pr_job_no_fire_without_pr_trigger ... ok
[INFO] [stdout] test rules::tests::v3_unpinned_include_two_components_distinct_fingerprints ... ok
[INFO] [stdout] test rules::tests::v3_sensitive_value_in_job_output_two_outputs_distinct_fingerprints ... ok
[INFO] [stdout] test rules::tests::variable_group_in_pr_job_no_fire_when_pr_none ... ok
[INFO] [stdout] test rules::tests::variable_group_in_pr_job_fires_on_pr_trigger_with_var_group ... ok
[INFO] [stdout] test rules::tests::uplift_without_attestation_fires_when_oidc_no_attests ... ok
[INFO] [stdout] test rules::tests::vm_remote_exec_fires_on_invoke_azvmruncommand_with_pipeline_secret ... ok
[INFO] [stdout] test rules::tests::workflow_run_gh_pr_view_to_github_env_flagged ... ok
[INFO] [stdout] test rules::tests::workflow_run_without_env_sink_not_flagged ... ok
[INFO] [stdout] test rules::tests::vm_remote_exec_does_not_fire_when_remote_exec_has_no_secret_or_sas ... ok
[INFO] [stdout] test rules::tests::workflow_run_multiline_capture_then_write_flagged ... ok
[INFO] [stdout] test rules::tests::vm_remote_exec_does_not_fire_without_remote_exec_call ... ok
[INFO] [stdout] test rules::tests::vm_remote_exec_fires_on_set_azvmextension_with_minted_sas ... ok
[INFO] [stdout] test rules::tests::variable_group_in_pr_job_uses_cellos_remediation ... ok
[INFO] [stdout] test rules::tests::vm_remote_exec_fires_on_az_cli_run_command ... ok
[INFO] [stdout] test rules::tests::workflow_shell_authority_concentration_normalizes_multiple_sinks_to_one_finding ... ok
[INFO] [stdout] test rules::tests::write_to_unrelated_path_not_flagged ... ok
[INFO] [stdout] test rules::tests::writer_in_different_job_does_not_fire ... ok
[INFO] [stdout] test rules::tests::workflow_shell_authority_concentration_covers_sentry_and_sonar_sinks ... ok
[INFO] [stdout] test summary::tests::summary_carries_gap_kinds_from_graph ... ok
[INFO] [stdout] test summary::tests::summary_empty_when_no_crossing ... ok
[INFO] [stdout] test rules::tests::writer_after_consumer_in_same_job_does_not_fire ... ok
[INFO] [stdout] test summary::tests::summary_omits_gap_kinds_when_complete ... ok
[INFO] [stdout] test suppressions::tests::critical_suppression_key_without_expiry_is_rejected ... ok
[INFO] [stdout] test suppressions::tests::critical_without_expiry_is_rejected_at_validation ... ok
[INFO] [stdout] test suppressions::tests::critical_with_expiry_passes_validation ... ok
[INFO] [stdout] test suppressions::tests::loader_returns_empty_when_file_missing ... ok
[INFO] [stdout] test suppressions::tests::expired_waiver_does_not_apply_and_emits_warning ... ok
[INFO] [stdout] test suppressions::tests::render_entry_yaml_round_trips ... ok
[INFO] [stdout] test summary::tests::summary_counts_crossing_paths ... ok
[INFO] [stdout] test suppressions::tests::discover_finds_root_then_dot_taudit ... ok
[INFO] [stdout] test suppressions::tests::loader_parses_canonical_yaml ... ok
[INFO] [stdout] test suppressions::tests::suppress_mode_sets_flag_and_does_not_change_severity ... ok
[INFO] [stdout] test suppressions::tests::downgrade_mode_drops_severity_one_tier_and_records_original ... ok
[INFO] [stdout] test suppressions::tests::status_active_for_recent_no_expiry ... ok
[INFO] [stdout] test suppressions::tests::status_expired_after_expiry_date ... ok
[INFO] [stdout] test suppressions::tests::status_stale_for_review_after_90_days_no_expiry ... ok
[INFO] [stdout] test suppressions::tests::unmatched_warning_hints_on_unexpected_fingerprint_length ... ok
[INFO] [stdout] test suppressions::tests::suppression_key_matches_when_fingerprint_changes ... ok
[INFO] [stdout] test rules::tests::uplift_without_attestation_no_fire_without_oidc ... ok
[INFO] [stdout] test suppressions::tests::status_expiring_soon_within_30_days ... ok
[INFO] [stdout] test suppressions::tests::unmatched_warning_reports_orphaned_suppression ... ok
[INFO] [stdout] test propagation::tests::force_scan_dense_overrides_the_gate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 415 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests taudit_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "778a9372019ddb0bd88ddefc70aa6f5181f6616b2b81e1ffece9ac0e06af0583", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "778a9372019ddb0bd88ddefc70aa6f5181f6616b2b81e1ffece9ac0e06af0583", kill_on_drop: false }`
[INFO] [stdout] 778a9372019ddb0bd88ddefc70aa6f5181f6616b2b81e1ffece9ac0e06af0583
