PASS conformance\fixtures\valid\action.json
PASS conformance\fixtures\valid\approval.json
PASS conformance\fixtures\valid\data-flow.json
PASS conformance\fixtures\valid\evidence.json
PASS conformance\fixtures\valid\policy-decision.json
PASS conformance\fixtures\valid\usage.json
PASS conformance\fixtures\invalid\action-without-digest.json
PASS conformance\fixtures\invalid\aggregate-cost-without-rollup.json
PASS conformance\fixtures\invalid\model-call-with-rollup.json
PASS conformance\fixtures\invalid\numeric-timestamp.json
PASS conformance\fixtures\invalid\raw-content.json
PASS conformance\fixtures\invalid\usage-without-measurement.json
PASS conformance\fixtures\invalid\zero-trace-id.json
PASS contract=0.1.0-alpha.2 python=0.1.0a2 npm_name=@agentrust-io/telemetry npm=0.1.0-alpha.2
PASS OTel GenAI matrix covers 16 span attributes, 8 metrics, and 6 event families
PASS TypeScript schemas match normative bytes

STDERR
test_cedar_preserves_final_decision_and_reports_skipped_errors (test_adapters.AdapterTests.test_cedar_preserves_final_decision_and_reports_skipped_errors) ... ok
test_cedar_rejects_error_messages_as_codes (test_adapters.AdapterTests.test_cedar_rejects_error_messages_as_codes) ... ok
test_cedar_rejects_string_as_identifier_collection (test_adapters.AdapterTests.test_cedar_rejects_string_as_identifier_collection) ... ok
test_factory_builds_and_validates_any_supported_family (test_adapters.AdapterTests.test_factory_builds_and_validates_any_supported_family) ... ok
test_factory_matches_cross_language_golden_event (test_adapters.AdapterTests.test_factory_matches_cross_language_golden_event) ... ok
test_factory_prevents_envelope_override (test_adapters.AdapterTests.test_factory_prevents_envelope_override) ... ok
test_factory_serializes_nanoseconds_without_precision_loss (test_adapters.AdapterTests.test_factory_serializes_nanoseconds_without_precision_loss) ... ok
test_opa_boolean_log_maps_without_copying_input_or_result (test_adapters.AdapterTests.test_opa_boolean_log_maps_without_copying_input_or_result) ... ok
test_opa_complex_result_requires_explicit_mapper (test_adapters.AdapterTests.test_opa_complex_result_requires_explicit_mapper) ... ok
test_opa_rejects_malformed_source_collections (test_adapters.AdapterTests.test_opa_rejects_malformed_source_collections) ... ok
test_policy_event_maps_challenge_and_excludes_free_form_content (test_agt_adapter.AgtAdapterTests.test_policy_event_maps_challenge_and_excludes_free_form_content) ... ok
test_policy_mapper_rejects_ambiguous_decision_and_reason_message (test_agt_adapter.AgtAdapterTests.test_policy_mapper_rejects_ambiguous_decision_and_reason_message) ... ok
test_sink_prevalidates_whole_batch_before_emission (test_agt_adapter.AgtAdapterTests.test_sink_prevalidates_whole_batch_before_emission) ... ok
test_sink_uses_source_result_sentinels_and_reports_projection_failure (test_agt_adapter.AgtAdapterTests.test_sink_uses_source_result_sentinels_and_reports_projection_failure) ... ok
test_bindings_reject_fields_that_are_absent_on_both_records (test_agt_approval.AgtApprovalAdapterTests.test_bindings_reject_fields_that_are_absent_on_both_records) ... ok
test_protocol_chain_preserves_policy_request_and_resolution_links (test_agt_approval.AgtApprovalAdapterTests.test_protocol_chain_preserves_policy_request_and_resolution_links) ... ok
test_request_rejects_wrong_policy_action_and_chain (test_agt_approval.AgtApprovalAdapterTests.test_request_rejects_wrong_policy_action_and_chain) ... ok
test_resolution_rejects_pre_request_time_and_malformed_chain_digest (test_agt_approval.AgtApprovalAdapterTests.test_resolution_rejects_pre_request_time_and_malformed_chain_digest) ... ok
test_resolution_rejects_wrong_request_and_wrong_action (test_agt_approval.AgtApprovalAdapterTests.test_resolution_rejects_wrong_request_and_wrong_action) ... ok
test_terminal_outcomes_map_without_treating_votes_as_resolutions (test_agt_approval.AgtApprovalAdapterTests.test_terminal_outcomes_map_without_treating_votes_as_resolutions) ... ok
test_action_audit_requires_full_action_digest_and_computes_duration (test_agt_audit.AgtAuditAdapterTests.test_action_audit_requires_full_action_digest_and_computes_duration) ... ok
test_action_rejects_missing_or_reversed_timing (test_agt_audit.AgtAuditAdapterTests.test_action_rejects_missing_or_reversed_timing) ... ok
test_blocked_action_is_denied_even_if_source_outcome_is_success (test_agt_audit.AgtAuditAdapterTests.test_blocked_action_is_denied_even_if_source_outcome_is_success) ... ok
test_policy_audit_maps_without_free_form_data_or_resource (test_agt_audit.AgtAuditAdapterTests.test_policy_audit_maps_without_free_form_data_or_resource) ... ok
test_action_payload_field_is_rejected_by_schema_and_privacy_gate (test_conformance.ConformanceTests.test_action_payload_field_is_rejected_by_schema_and_privacy_gate) ... ok
test_all_schemas_are_valid_draft_2020_12 (test_conformance.ConformanceTests.test_all_schemas_are_valid_draft_2020_12) ... ok
test_committed_suite_has_expected_verdicts (test_conformance.ConformanceTests.test_committed_suite_has_expected_verdicts) ... ok
test_nested_prohibited_key_is_rejected_independently (test_conformance.ConformanceTests.test_nested_prohibited_key_is_rejected_independently) ... ok
test_unknown_event_type_is_rejected (test_conformance.ConformanceTests.test_unknown_event_type_is_rejected) ... ok
test_uppercase_trace_id_is_rejected (test_conformance.ConformanceTests.test_uppercase_trace_id_is_rejected) ... ok
test_agt_decision_maps_tier_and_omits_categories_owner_geography_reason (test_data_flow.DataFlowTests.test_agt_decision_maps_tier_and_omits_categories_owner_geography_reason) ... ok
test_classifier_cannot_return_arbitrary_metadata (test_data_flow.DataFlowTests.test_classifier_cannot_return_arbitrary_metadata) ... ok
test_classifier_sees_content_but_event_contains_only_closed_metadata (test_data_flow.DataFlowTests.test_classifier_sees_content_but_event_contains_only_closed_metadata) ... ok
test_metadata_identifiers_reject_prose_paths_and_query_values (test_data_flow.DataFlowTests.test_metadata_identifiers_reject_prose_paths_and_query_values) ... ok
test_callback_and_returned_entry_cannot_mutate_retained_evidence (test_evidence.EvidenceTests.test_callback_and_returned_entry_cannot_mutate_retained_evidence) ... ok
test_chain_is_ordered_and_has_stable_golden_digest (test_evidence.EvidenceTests.test_chain_is_ordered_and_has_stable_golden_digest) ... ok
test_client_does_not_project_when_evidence_fails (test_evidence.EvidenceTests.test_client_does_not_project_when_evidence_fails) ... ok
test_client_isolates_operational_event_from_evidence_sink (test_evidence.EvidenceTests.test_client_isolates_operational_event_from_evidence_sink) ... ok
test_client_reports_evidence_persistence (test_evidence.EvidenceTests.test_client_reports_evidence_persistence) ... ok
test_context_mismatch_never_enters_evidence (test_evidence.EvidenceTests.test_context_mismatch_never_enters_evidence) ... ok
test_durable_callback_acknowledges_before_local_acceptance (test_evidence.EvidenceTests.test_durable_callback_acknowledges_before_local_acceptance) ... ok
test_failed_durable_ack_is_fail_closed_and_retryable (test_evidence.EvidenceTests.test_failed_durable_ack_is_fail_closed_and_retryable) ... ok
test_non_finite_number_cannot_enter_digest_chain (test_evidence.EvidenceTests.test_non_finite_number_cannot_enter_digest_chain) ... ok
test_rejects_cross_run_duplicate_overflow_and_append_after_seal (test_evidence.EvidenceTests.test_rejects_cross_run_duplicate_overflow_and_append_after_seal) ... ok
test_snapshot_is_defensive_and_unsealed_never_claims_complete (test_evidence.EvidenceTests.test_snapshot_is_defensive_and_unsealed_never_claims_complete) ... ok
test_action_metrics_exclude_action_and_agent_identifiers (test_otel_projectors.OTelProjectorTests.test_action_metrics_exclude_action_and_agent_identifiers) ... ok
test_classification_allowlist_is_bounded (test_otel_projectors.OTelProjectorTests.test_classification_allowlist_is_bounded) ... ok
test_classification_metric_is_allowlisted_or_collapsed (test_otel_projectors.OTelProjectorTests.test_classification_metric_is_allowlisted_or_collapsed) ... ok
test_metric_failure_is_reported_independently (test_otel_projectors.OTelProjectorTests.test_metric_failure_is_reported_independently) ... ok
test_real_metrics_record_usage_without_high_cardinality_ids (test_otel_projectors.OTelProjectorTests.test_real_metrics_record_usage_without_high_cardinality_ids) ... ok
test_real_otel_log_preserves_event_and_active_trace_context (test_otel_projectors.OTelProjectorTests.test_real_otel_log_preserves_event_and_active_trace_context) ... ok
test_async_handoff_creates_link_without_forcing_parentage (test_propagation.PropagationTests.test_async_handoff_creates_link_without_forcing_parentage) ... ok
test_header_lookup_is_case_insensitive (test_propagation.PropagationTests.test_header_lookup_is_case_insensitive) ... ok
test_injection_rejects_header_injection (test_propagation.PropagationTests.test_injection_rejects_header_injection) ... ok
test_link_requires_valid_w3c_context (test_propagation.PropagationTests.test_link_requires_valid_w3c_context) ... ok
test_sync_handoff_preserves_trace_and_agent_parent (test_propagation.PropagationTests.test_sync_handoff_preserves_trace_and_agent_parent) ... ok
test_complete_governed_workflow (test_reference_scenario.ReferenceScenarioTests.test_complete_governed_workflow) ... ok
test_contract_version_rejects_unsupported_spellings (test_repository_gates.RepositoryGateTests.test_contract_version_rejects_unsupported_spellings) ... ok
test_contract_versions_map_to_ecosystem_spellings (test_repository_gates.RepositoryGateTests.test_contract_versions_map_to_ecosystem_spellings) ... ok
test_declared_versions_are_consistent (test_repository_gates.RepositoryGateTests.test_declared_versions_are_consistent) ... ok
test_issue_templates_are_valid_yaml_when_parser_available (test_repository_gates.RepositoryGateTests.test_issue_templates_are_valid_yaml_when_parser_available) ... ok
test_npm_dist_tag_matches_the_declared_contract (test_repository_gates.RepositoryGateTests.test_npm_dist_tag_matches_the_declared_contract) ... ok
test_npm_dist_tag_never_moves_latest_for_a_prerelease (test_repository_gates.RepositoryGateTests.test_npm_dist_tag_never_moves_latest_for_a_prerelease) ... ok
test_npm_dist_tag_rejects_an_unsupported_version (test_repository_gates.RepositoryGateTests.test_npm_dist_tag_rejects_an_unsupported_version) ... ok
test_otel_matrix_gate_detects_attribute_metric_and_family_drift (test_repository_gates.RepositoryGateTests.test_otel_matrix_gate_detects_attribute_metric_and_family_drift) ... ok
test_otel_matrix_matches_shipped_projection (test_repository_gates.RepositoryGateTests.test_otel_matrix_matches_shipped_projection) ... ok
test_release_tag_must_match_contract (test_repository_gates.RepositoryGateTests.test_release_tag_must_match_contract) ... ok
test_schema_gate_detects_changed_bytes (test_repository_gates.RepositoryGateTests.test_schema_gate_detects_changed_bytes) ... ok
test_schema_gate_detects_missing_and_extra_files (test_repository_gates.RepositoryGateTests.test_schema_gate_detects_missing_and_extra_files) ... ok
test_source_manifest_includes_otel_matrix (test_repository_gates.RepositoryGateTests.test_source_manifest_includes_otel_matrix) ... ok
test_source_manifest_includes_release_policy (test_repository_gates.RepositoryGateTests.test_source_manifest_includes_release_policy) ... ok
test_typescript_schemas_match_normative_bytes (test_repository_gates.RepositoryGateTests.test_typescript_schemas_match_normative_bytes) ... ok
test_workflows_are_valid_yaml_when_parser_available (test_repository_gates.RepositoryGateTests.test_workflows_are_valid_yaml_when_parser_available) ... ok
test_bundled_schemas_match_normative_schemas (test_sdk.SdkTests.test_bundled_schemas_match_normative_schemas) ... ok
test_context_mismatch_rejects_before_projection (test_sdk.SdkTests.test_context_mismatch_rejects_before_projection) ... ok
test_emits_correlated_span_event_and_log (test_sdk.SdkTests.test_emits_correlated_span_event_and_log) ... ok
test_explicit_attribute_allowlist_is_narrow (test_sdk.SdkTests.test_explicit_attribute_allowlist_is_narrow) ... ok
test_extension_attributes_are_deny_by_default (test_sdk.SdkTests.test_extension_attributes_are_deny_by_default) ... ok
test_log_body_is_a_deep_copy (test_sdk.SdkTests.test_log_body_is_a_deep_copy) ... ok
test_no_span_still_emits_run_correlated_log (test_sdk.SdkTests.test_no_span_still_emits_run_correlated_log) ... ok
test_privacy_violation_rejects_before_projection (test_sdk.SdkTests.test_privacy_violation_rejects_before_projection) ... ok
test_projection_failures_are_reported_independently (test_sdk.SdkTests.test_projection_failures_are_reported_independently) ... ok
test_real_otel_span_receives_event (test_sdk.SdkTests.test_real_otel_span_receives_event) ... ok
test_action_events_create_truthful_tool_transcript (test_trace_adapter.TraceAdapterTests.test_action_events_create_truthful_tool_transcript) ... ok
test_finalizes_signs_and_validates_official_trace_record (test_trace_adapter.TraceAdapterTests.test_finalizes_signs_and_validates_official_trace_record) ... ok
test_linked_terminal_approval_resolves_policy_challenge (test_trace_adapter.TraceAdapterTests.test_linked_terminal_approval_resolves_policy_challenge) ... ok
test_refuses_conflicting_policy_bundles (test_trace_adapter.TraceAdapterTests.test_refuses_conflicting_policy_bundles) ... ok
test_refuses_missing_signer (test_trace_adapter.TraceAdapterTests.test_refuses_missing_signer) ... ok
test_refuses_policy_digest_algorithm_trace_cannot_represent (test_trace_adapter.TraceAdapterTests.test_refuses_policy_digest_algorithm_trace_cannot_represent) ... ok
test_refuses_unranked_classification (test_trace_adapter.TraceAdapterTests.test_refuses_unranked_classification) ... ok
test_refuses_unsealed_or_incomplete_evidence (test_trace_adapter.TraceAdapterTests.test_refuses_unsealed_or_incomplete_evidence) ... ok
test_unbound_or_expired_approval_cannot_resolve_policy_challenge (test_trace_adapter.TraceAdapterTests.test_unbound_or_expired_approval_cannot_resolve_policy_challenge) ... ok
test_a_failure_inside_official_signing_is_reported_as_one (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_failure_inside_official_signing_is_reported_as_one)
A key that satisfies the shape check and then fails when used. ... ok
test_a_policy_decision_without_a_bundle_digest_is_refused (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_policy_decision_without_a_bundle_digest_is_refused) ... ok
test_a_repeated_classification_cannot_rank_anything (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_repeated_classification_cannot_rank_anything) ... ok
test_a_run_with_no_data_flow_has_nothing_to_classify (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_run_with_no_data_flow_has_nothing_to_classify) ... ok
test_a_run_with_no_policy_decision_has_no_policy_to_bind (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_run_with_no_policy_decision_has_no_policy_to_bind) ... ok
test_a_taxonomy_the_configuration_does_not_name_is_refused (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_a_taxonomy_the_configuration_does_not_name_is_refused) ... ok
test_an_empty_run_carries_no_chained_evidence (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_an_empty_run_carries_no_chained_evidence) ... ok
test_every_required_configuration_field_is_named_when_absent (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_every_required_configuration_field_is_named_when_absent) ... ok
test_the_optional_dependency_is_named_when_it_is_absent (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_the_optional_dependency_is_named_when_it_is_absent) ... ok
test_two_decisions_disagreeing_on_enforcement_cannot_produce_one_mode (test_trace_adapter_refusals.TraceAdapterRefusalTests.test_two_decisions_disagreeing_on_enforcement_cannot_produce_one_mode) ... ok
test_accumulator_rejects_non_finite_external_cost (test_usage.UsageTests.test_accumulator_rejects_non_finite_external_cost) ... ok
test_bool_is_not_accepted_as_token_integer (test_usage.UsageTests.test_bool_is_not_accepted_as_token_integer) ... ok
test_cost_requires_finite_amount_and_explicit_provenance (test_usage.UsageTests.test_cost_requires_finite_amount_and_explicit_provenance) ... ok
test_reused_event_id_with_changed_data_is_rejected (test_usage.UsageTests.test_reused_event_id_with_changed_data_is_rejected) ... ok
test_rollup_deduplicates_and_reports_partial_coverage (test_usage.UsageTests.test_rollup_deduplicates_and_reports_partial_coverage) ... ok
test_rollup_rejects_non_leaf_and_mixed_currency (test_usage.UsageTests.test_rollup_rejects_non_leaf_and_mixed_currency) ... ok
test_rollups_match_shared_cross_language_vector (test_usage.UsageTests.test_rollups_match_shared_cross_language_vector) ... ok
test_schema_rejects_aggregate_cost_without_run_rollup (test_usage.UsageTests.test_schema_rejects_aggregate_cost_without_run_rollup) ... ok
test_unknown_price_is_absent_not_zero (test_usage.UsageTests.test_unknown_price_is_absent_not_zero) ... ok

----------------------------------------------------------------------
Ran 111 tests in 2.793s

OK
