tests/sidecar/test_sidecar.py::TestAuth::test_auth_required
tests/sidecar/test_sidecar.py::TestAuth::test_invalid_token
tests/sidecar/test_sidecar.py::TestAuth::test_missing_bearer_prefix
tests/sidecar/test_sidecar.py::TestAuth::test_admin_required_for_sweep
tests/sidecar/test_sidecar.py::TestAuth::test_admin_required_for_replay
tests/sidecar/test_sidecar.py::TestAuth::test_admin_required_for_dead_lettered_hooks
tests/sidecar/test_sidecar.py::TestAuth::test_non_admin_can_use_regular_endpoints
tests/sidecar/test_sidecar.py::TestSoleSigner::test_signature_rejected
tests/sidecar/test_sidecar.py::TestSoleSigner::test_payload_canonical_hash_rejected
tests/sidecar/test_sidecar.py::TestRoundTrip::test_create_transition_read
tests/sidecar/test_sidecar.py::TestRoundTrip::test_get_work_item
tests/sidecar/test_sidecar.py::TestRoundTrip::test_query_work_items
tests/sidecar/test_sidecar.py::TestClaims::test_acquire_release_claim
tests/sidecar/test_sidecar.py::TestErrorMapping::test_work_item_not_found
tests/sidecar/test_sidecar.py::TestErrorMapping::test_workflow_not_registered
tests/sidecar/test_sidecar.py::TestIdempotency::test_idempotent_append_event
tests/sidecar/test_sidecar.py::TestActorRoles::test_register_role
tests/sidecar/test_sidecar.py::TestActorRoles::test_unauthorized_role
tests/sidecar/test_sidecar.py::TestActorRoles::test_list_roles
tests/sidecar/test_sidecar.py::TestApiDocs::test_docs_disabled_by_default
tests/sidecar/test_sidecar.py::TestApiDocs::test_docs_enabled_with_explicit_url
tests/sidecar/test_sidecar.py::TestNoValidatorOverHttp::test_no_register_validator_route
tests/sidecar/test_sidecar.py::TestHookQueue::test_claim_complete_round_trip
tests/sidecar/test_sidecar.py::TestHookQueue::test_hook_lease_expiry_requeues
tests/sidecar/test_sidecar.py::TestHookQueue::test_sweep_expired_hook_leases
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_trigger_requires_admin
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_list_batches_requires_admin
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_verify_batch_requires_admin
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_list_batches_empty
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_trigger_without_tsa_config
tests/sidecar/test_sidecar.py::TestTimestampRoutes::test_list_batches_with_status_filter
tests/sidecar/test_sidecar.py::TestLinkRoutes::test_create_and_remove_link
tests/sidecar/test_sidecar.py::TestUpdateNotBeforeRoute::test_update_not_before
tests/sidecar/test_sidecar.py::TestHeartbeatClaimRoute::test_heartbeat_claim
tests/sidecar/test_sidecar.py::TestWitnessRoutes::test_register_list_delete_witness
tests/sidecar/test_sidecar.py::TestWitnessRoutes::test_pause_resume_witness
tests/sidecar/test_sidecar.py::TestWitnessRoutes::test_list_witness_receipts
tests/sidecar/test_sidecar.py::TestWitnessRoutes::test_deliver_witness_receipts
tests/sidecar/test_sidecar.py::TestWitnessRoutes::test_witness_requires_admin
tests/sidecar/test_sidecar.py::TestRecurrenceRoutes::test_register_list_cancel_recurrence
tests/sidecar/test_sidecar.py::TestRecurrenceRoutes::test_fire_recurrence_requires_admin
tests/sidecar/test_sidecar.py::TestRecurrenceRoutes::test_update_recurrence_requires_admin
tests/sidecar/test_sidecar.py::TestBatchRoutes::test_create_work_items_batch
tests/sidecar/test_sidecar.py::TestBatchRoutes::test_create_work_items_batch_empty_rejected
tests/sidecar/test_sidecar.py::TestReadEventsSinceRoute::test_read_events_since
tests/sidecar/test_sidecar.py::TestComposeWorkflowRoute::test_compose_workflow
tests/sidecar/test_sidecar.py::TestComposeWorkflowRoute::test_compose_requires_admin
tests/sidecar/test_sidecar.py::TestErrorCodeCoverage::test_all_error_codes_have_status_mapping
tests/sidecar/test_sidecar.py::TestErrorCodeCoverage::test_status_map_values_are_valid_http_codes
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_token_with_allowed_workflows_claims_only_matching_hooks
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_scoped_token_complete_forbidden_for_unallowed_workflow
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_scoped_token_fail_forbidden_for_unallowed_workflow
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_unrestricted_token_can_access_all_workflow_hooks
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_token_file_parses_allowed_workflows
tests/sidecar/test_sidecar.py::TestHookWorkflowScoping::test_empty_allowed_workflows_rejected
tests/test_actor_id_and_token.py::TestActorIdValidation::test_create_work_item_rejects_overlong
tests/test_actor_id_and_token.py::TestActorIdValidation::test_register_actor_role_rejects_overlong
tests/test_actor_id_and_token.py::TestActorIdValidation::test_unregister_actor_role_rejects_overlong
tests/test_actor_id_and_token.py::TestTokenRegistryValidation::test_rejects_missing_tokens_key
tests/test_actor_id_and_token.py::TestTokenRegistryValidation::test_rejects_entry_missing_actor_id
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_roundtrip_all_fields
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_partial_fields
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_empty_dict
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_prompt_template_hash_roundtrip
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_prompt_template_hash_absent_from_dict
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_model_lineage_roundtrip
tests/test_actor_metadata_contract.py::TestActorMetadataDataclass::test_model_lineage_absent_from_dict_when_unset
tests/test_actor_metadata_contract.py::TestActorMetadataLintHelper::test_catches_event_missing_family
tests/test_actor_metadata_contract.py::TestActorMetadataLintHelper::test_catches_null_metadata
tests/test_anchoring.py::TestAnchorReceiptRoundTrip::test_to_dict_and_from_dict_round_trips
tests/test_anchoring.py::TestAnchorReceiptRoundTrip::test_round_trip_with_none_fields
tests/test_anchoring.py::TestFileAnchorProvider::test_submit_writes_log_line_and_returns_confirmed
tests/test_anchoring.py::TestFileAnchorProvider::test_verify_returns_confirmed_for_real_submission
tests/test_anchoring.py::TestFileAnchorProvider::test_verify_returns_failed_for_tampered_root
tests/test_anchoring.py::TestFileAnchorProvider::test_verify_returns_failed_when_log_missing
tests/test_anchoring.py::TestFileAnchorProvider::test_upgrade_is_noop
tests/test_anchoring.py::TestFileAnchorProvider::test_creates_directory_if_missing
tests/test_anchoring.py::TestRFC3161AnchorProvider::test_submit_returns_confirmed_with_token
tests/test_anchoring.py::TestRFC3161AnchorProvider::test_verify_passes_for_matching_root
tests/test_anchoring.py::TestRFC3161AnchorProvider::test_verify_fails_for_tampered_root
tests/test_anchoring.py::TestRFC3161AnchorProvider::test_verify_fails_when_receipt_bytes_none
tests/test_anchoring.py::TestRFC3161AnchorProvider::test_upgrade_is_noop
tests/test_anchoring.py::TestOpenTimestampsProvider::test_soft_import_raises_when_missing
tests/test_anchoring.py::TestOpenTimestampsProvider::test_submit_returns_pending_receipt
tests/test_anchoring.py::TestOpenTimestampsProvider::test_upgrade_returns_confirmed_when_calendar_confirms
tests/test_anchoring.py::TestOpenTimestampsProvider::test_upgrade_stays_pending_when_not_confirmed
tests/test_anchoring.py::TestOpenTimestampsProvider::test_verify_returns_confirmed_for_attested_proof
tests/test_anchoring.py::TestOpenTimestampsProvider::test_verify_returns_pending_for_partial_proof
tests/test_anchoring.py::TestOpenTimestampsProvider::test_verify_returns_failed_for_garbage_proof
tests/test_anchoring.py::TestOpenTimestampsProvider::test_verify_returns_failed_when_receipt_bytes_none
tests/test_anchoring.py::TestOpenTimestampsProvider::test_default_calendar_url_used
tests/test_anchoring.py::TestOpenTimestampsProvider::test_accepts_list_of_calendar_urls
tests/test_anchoring.py::TestAnchorReceiptsMigration::test_anchor_receipts_table_exists
tests/test_anchoring.py::TestAnchorReceiptsMigration::test_anchor_receipts_columns
tests/test_anchoring.py::TestAnchorReceiptsMigration::test_status_check_constraint
tests/test_anchoring.py::TestAnchorReceiptsMigration::test_retryable_status_accepted
tests/test_anchoring.py::TestAnchorReceiptsMigration::test_indexes_exist
tests/test_anchoring.py::TestAnchoringHashAgility::test_anchor_verifies_with_sha384_events
tests/test_anchoring.py::TestAnchoringHashAgility::test_anchor_verify_fails_if_sha384_hash_recomputed_as_sha256
tests/test_anchoring.py::TestAnchoringIntegration::test_trigger_anchoring_creates_confirmed_receipt
tests/test_anchoring.py::TestAnchoringIntegration::test_trigger_anchoring_returns_none_when_no_new_events
tests/test_anchoring.py::TestAnchoringIntegration::test_trigger_anchoring_advances_latest_confirmed_seq
tests/test_anchoring.py::TestAnchoringIntegration::test_upgrade_pending_anchors_noop_for_file
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_confirmed
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered_payload
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered_signature
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered_actor
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered_prev_global_hash
tests/test_anchoring.py::TestAnchoringIntegration::test_verify_anchor_receipt_failed_for_tampered_envelope
tests/test_anchoring.py::TestAnchoringIntegration::test_get_anchor_receipt_not_found_raises
tests/test_anchoring.py::TestAnchoringIntegration::test_list_anchor_receipts_filters_by_status
tests/test_anchoring.py::TestAnchoringIntegration::test_trigger_anchoring_without_provider_raises
tests/test_anchoring.py::TestAnchoringPayloadMutationIntegration::test_payload_only_mutation_not_detected_by_anchor
tests/test_anchoring.py::TestAnchoringPayloadMutationIntegration::test_payload_canonical_hash_mismatch_detected
tests/test_anchoring.py::TestTriggerAnchoringPendingReceiptIntegration::test_pending_receipt_exists_during_submit
tests/test_anchoring.py::TestTriggerAnchoringPendingReceiptIntegration::test_failed_submit_leaves_retryable_receipt
tests/test_anchoring.py::TestCreateAnchorReceiptConflictPersistence::test_returns_existing_row_on_conflict
tests/test_anchoring.py::TestCreateAnchorReceiptConflictPersistence::test_upgrades_retryable_to_confirmed
tests/test_anchoring.py::TestCreateAnchorReceiptConflictPersistence::test_does_not_downgrade_confirmed_to_retryable
tests/test_anchoring.py::TestAnchoringPersistenceHelpers::test_create_and_get_anchor_receipt
tests/test_anchoring.py::TestAnchoringPersistenceHelpers::test_update_anchor_receipt_fields
tests/test_anchoring.py::TestAnchoringPersistenceHelpers::test_update_anchor_receipt_rejects_unknown_fields
tests/test_anchoring.py::TestAnchoringPersistenceHelpers::test_list_anchor_receipts_with_filters
tests/test_anchoring.py::TestAnchoringPersistenceHelpers::test_latest_confirmed_seq_returns_zero_when_empty
tests/test_anchoring.py::TestMaintenanceAnchoring::test_maintenance_creates_anchor_receipt
tests/test_anchoring.py::TestMaintenanceAnchoring::test_maintenance_skips_anchoring_without_provider
tests/test_anchoring.py::TestAnchorCLI::test_anchor_submit_file_provider
tests/test_anchoring.py::TestAnchorCLI::test_anchor_status_lists_receipts
tests/test_anchoring.py::TestAnchorCLI::test_anchor_verify_confirmed_receipt
tests/test_anchoring.py::TestAnchorCLI::test_anchor_verify_unknown_receipt_exits_nonzero
tests/test_anchoring.py::TestTriggerAnchoringFailurePersistence::test_submit_failure_persists_retryable_receipt
tests/test_anchoring.py::TestTriggerAnchoringFailurePersistence::test_retry_failed_anchors_resucceeds
tests/test_anchoring.py::TestTriggerAnchoringFailurePersistence::test_retry_exceeds_max_failures_marks_failed
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_is_deterministic
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_changes_with_chain_head
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_changes_with_project
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_changes_with_seq
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_changes_with_envelope_version
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_changes_with_hash_algorithm
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_no_binding_collision
tests/test_anchoring.py::TestComputeContentAnchor::test_compute_content_anchor_no_binding_collision_digits
tests/test_anchoring.py::TestVerifyContentAnchor::test_verify_content_anchor_rejects_missing_binding_fields
tests/test_anchoring.py::TestVerifyContentAnchor::test_verify_content_anchor_rejects_missing_target_seq
tests/test_anchoring.py::TestVerifyContentAnchorChainIntegrity::test_valid_chain_passes
tests/test_anchoring.py::TestVerifyContentAnchorChainIntegrity::test_tampered_prev_global_event_hash_detected
tests/test_anchoring.py::TestVerifyContentAnchorChainIntegrity::test_genesis_single_event_passes
tests/test_anchoring.py::TestVerifyContentAnchorPayloadHash::test_payload_canonical_hash_mismatch_detected
tests/test_anchoring.py::TestVerifyContentAnchorPayloadHash::test_valid_payload_canonical_hash_passes
tests/test_api_surface.py::TestAC33PreSignedRejection::test_public_api_has_no_signature_params
tests/test_api_surface.py::TestAC34NoPostgresTypesLeak::test_event_no_pg_types
tests/test_api_surface.py::TestAC34NoPostgresTypesLeak::test_work_item_no_pg_types
tests/test_api_surface.py::TestAC34NoPostgresTypesLeak::test_claim_no_pg_types
tests/test_api_surface.py::TestAC34NoPostgresTypesLeak::test_regista_public_api_no_pg_imports
tests/test_api_surface.py::TestBC195ConstructorPositionalContract::test_positional_constructor_matches_sf2_call_shape
tests/test_archive_segments.py::TestSealSegment::test_seal_creates_segment_and_signed_event
tests/test_archive_segments.py::TestSealSegment::test_verify_passes
tests/test_archive_segments.py::TestSealSegment::test_replay_with_sealed_segment_no_orphan_warnings
tests/test_archive_segments.py::TestSealSegment::test_dry_run_writes_nothing
tests/test_archive_segments.py::TestSealSegment::test_no_events_returns_count_zero
tests/test_archive_segments.py::TestSealSegment::test_list_segments
tests/test_archive_segments.py::TestSealSegment::test_list_segments_filter_archived
tests/test_archive_segments.py::TestSealSegment::test_verify_nonexistent_segment_raises
tests/test_archive_segments.py::TestSealSegment::test_verify_reports_seal_signature
tests/test_archive_segments.py::TestSealSegment::test_non_genesis_segment_verifies
tests/test_archive_segments.py::TestSealSegment::test_replay_bridges_multiple_segments
tests/test_archive_segments.py::TestSealSegment::test_live_work_item_not_sealed
tests/test_archive_segments.py::TestSealSegment::test_seal_after_work_item_becomes_terminal
tests/test_archive_segments.py::TestSealSegment::test_multi_seal_interleaved_live_and_terminal
tests/test_archive_segments.py::TestSealSegment::test_spanning_entity_no_bug
tests/test_archive_segments.py::TestSealSegment::test_list_segments_includes_work_item_ids
tests/test_archive_segments.py::TestSealSegment::test_dry_run_includes_work_item_ids
tests/test_archive_segments.py::TestSealSegment::test_no_new_segment_when_all_sealed
tests/test_archive_segments.py::TestSealSegment::test_verify_chain_two_segments_links_through_seal
tests/test_archive_segments.py::TestSealSegment::test_verify_chain_gap_events_archived
tests/test_assurance.py::TestSameLineage::test_matching_lineage
tests/test_assurance.py::TestSameLineage::test_non_matching_lineage
tests/test_assurance.py::TestSameLineage::test_none_reviewer
tests/test_assurance.py::TestSameLineage::test_empty_reviewer
tests/test_assurance.py::TestSameLineage::test_empty_authors
tests/test_assurance.py::TestSameLineage::test_multiple_authors_one_matches
tests/test_assurance.py::TestSameLineage::test_multiple_authors_none_match
tests/test_assurance.py::TestLineageRelation::test_same
tests/test_assurance.py::TestLineageRelation::test_distinct
tests/test_assurance.py::TestLineageRelation::test_undeclared_reviewer_is_unknown
tests/test_assurance.py::TestLineageRelation::test_no_authors_is_unknown
tests/test_assurance.py::TestLineageRelation::test_no_authors_and_no_reviewer_is_unknown
tests/test_assurance.py::TestLineageRelation::test_same_lineage_boolean_only_true_for_same
tests/test_assurance.py::TestUndeclaredLineageEscalation::test_undeclared_reviewer_never_reaches_independent_level
tests/test_assurance.py::TestUndeclaredLineageEscalation::test_gate_rationale_undeclared_reviewer_is_not_cross_lineage
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_mixed_authors_never_reach_independent_level
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_mixed_authors_agent_accept_is_not_independent
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_mixed_authors_human_accept_is_human_accepted
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_gate_rationale_reports_unknown_and_surfaces_the_flag
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_gate_rationale_relaxed_still_permits_done
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_gate_rationale_without_pass_still_surfaces_the_flag
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_strict_human_gate_rejects_agent_accept
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_strict_human_gate_allows_human_accept
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_fully_declared_authors_still_independent
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_service_identity_filing_stays_exempt
tests/test_assurance.py::TestUndeclaredAgentAuthorEscalation::test_undeclared_human_author_does_not_escalate
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_delegated_same_lineage_is_not_independent
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_delegated_undeclared_principal_is_unknown
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_delegated_cross_lineage_still_independent
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_delegated_human_principal_unaffected
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_strict_human_gate_rejects_agent_accept_after_delegated_same_lineage
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_strict_human_gate_rejects_agent_accept_after_undeclared_principal
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_strict_human_gate_allows_agent_accept_after_delegated_cross_lineage
tests/test_assurance.py::TestReviewerDelegationLineageAssurance::test_strict_human_gate_allows_human_accept
tests/test_assurance.py::TestWhoMakesALineageClaim::test_human_proxy_for_declared_distinct_principal_is_independent
tests/test_assurance.py::TestWhoMakesALineageClaim::test_human_proxy_for_same_lineage_principal_is_not_independent
tests/test_assurance.py::TestWhoMakesALineageClaim::test_human_proxy_for_undeclared_principal_is_unknown
tests/test_assurance.py::TestWhoMakesALineageClaim::test_undelegated_human_reviewer_is_still_unknown
tests/test_assurance.py::TestWhoMakesALineageClaim::test_undeclared_agent_proxy_still_claims_unknown
tests/test_assurance.py::TestWhoMakesALineageClaim::test_human_proxy_for_opaque_principal_is_unknown
tests/test_assurance.py::TestWhoMakesALineageClaim::test_strict_human_gate_follows_the_claims
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_principal_lineage_is_not_independent[   ]
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_principal_lineage_is_not_independent[]
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_principal_lineage_is_not_independent[\t]
tests/test_assurance.py::TestDegenerateLineageValues::test_non_string_principal_lineage_is_not_independent[42]
tests/test_assurance.py::TestDegenerateLineageValues::test_non_string_principal_lineage_is_not_independent[0]
tests/test_assurance.py::TestDegenerateLineageValues::test_non_string_principal_lineage_is_not_independent[value2]
tests/test_assurance.py::TestDegenerateLineageValues::test_non_canonical_kind_still_compares_the_principal[Agent]
tests/test_assurance.py::TestDegenerateLineageValues::test_non_canonical_kind_still_compares_the_principal[ AGENT ]
tests/test_assurance.py::TestDegenerateLineageValues::test_unrecognised_kind_is_unknown[ai-agent]
tests/test_assurance.py::TestDegenerateLineageValues::test_unrecognised_kind_is_unknown[  ]
tests/test_assurance.py::TestDegenerateLineageValues::test_unrecognised_kind_is_unknown[42]
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_reviewer_lineage_is_unknown[   ]
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_reviewer_lineage_is_unknown[]
tests/test_assurance.py::TestDegenerateLineageValues::test_blank_author_lineage_is_an_undeclared_agent_author
tests/test_assurance.py::TestDegenerateLineageValues::test_strict_human_gate_rejects_agent_accept_on_blank_principal
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_author_added_after_the_pass_still_counts
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_declared_author_added_after_the_pass_can_collide
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_last_pass_decides_same_after_distinct
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_last_pass_decides_distinct_after_same
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_last_pass_decides_for_the_strict_human_gate
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_delegated_accept_does_not_add_author_lineage
tests/test_assurance.py::TestHistoryShapeAndOrdering::test_delegated_accept_by_human_is_still_human_accepted
tests/test_assurance.py::TestAssuranceLevel::test_same_lineage_agent_accept
tests/test_assurance.py::TestAssuranceLevel::test_cross_lineage_agent_accept
tests/test_assurance.py::TestAssuranceLevel::test_same_lineage_human_accept
tests/test_assurance.py::TestAssuranceLevel::test_cross_lineage_human_accept
tests/test_assurance.py::TestAssuranceLevel::test_close_from_open
tests/test_assurance.py::TestAssuranceLevel::test_no_accept_same_lineage
tests/test_assurance.py::TestAssuranceLevel::test_no_accept_cross_lineage
tests/test_assurance.py::TestAssuranceLevel::test_no_adversarial_pass_in_progress
tests/test_assurance.py::TestAssuranceLevel::test_empty_events
tests/test_assurance.py::TestAssuranceLevel::test_undeclared_reviewer_lineage_escalates_like_same
tests/test_assurance.py::TestAssuranceLevel::test_undeclared_author_lineage_escalates_like_same
tests/test_assurance.py::TestAssuranceLevel::test_principal_lineage_from_on_behalf_of
tests/test_assurance.py::TestAssuranceLevel::test_multiple_adversarial_passes_uses_last
tests/test_assurance.py::TestAssuranceLevel::test_reopen_cycle_ignores_stale_accept
tests/test_assurance.py::TestAssuranceLevel::test_reopen_cycle_with_new_accept
tests/test_assurance.py::TestAssuranceLevel::test_reopen_cycle_same_lineage_no_accept
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_cross_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_cross_lineage_human_accept
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_same_lineage_human_accept
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_same_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_close_from_open
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_no_accept_cross_lineage
tests/test_assurance.py::TestComputeAssuranceLevelFromDicts::test_no_accept_same_lineage
tests/test_assurance.py::TestGateRationale::test_cross_lineage_review
tests/test_assurance.py::TestGateRationale::test_human_accept_for_same_lineage
tests/test_assurance.py::TestGateRationale::test_same_lineage_acknowledged
tests/test_assurance.py::TestGateRationale::test_close_from_open
tests/test_assurance.py::TestGateRationale::test_not_done_no_pass
tests/test_assurance.py::TestGateRationale::test_not_done_with_pass
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_relaxed_same_lineage_agent
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_strict_same_lineage_agent
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_strict_same_lineage_human
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_strict_cross_lineage_agent
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_close_from_open
tests/test_assurance.py::TestGateRationale::test_gate_permits_done_not_done
tests/test_assurance.py::TestGateRationale::test_invalid_profile_string_raises_regista_error
tests/test_assurance.py::TestLineageVerification::test_asserted_for_hmac_deciding_pass
tests/test_assurance.py::TestLineageVerification::test_asserted_when_deciding_pass_has_no_scheme
tests/test_assurance.py::TestLineageVerification::test_verified_for_ed25519_deciding_pass
tests/test_assurance.py::TestLineageVerification::test_unknown_scheme_is_asserted
tests/test_assurance.py::TestLineageVerification::test_none_without_adversarial_pass
tests/test_assurance.py::TestLineageVerification::test_signal_does_not_change_gate_decision
tests/test_assurance.py::TestStrictGateProfile::test_same_lineage_agent_accept_rejected_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_same_lineage_human_accept_passes_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_cross_lineage_agent_accept_passes_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_cross_lineage_human_accept_passes_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_relaxed_allows_same_lineage_agent_accept
tests/test_assurance.py::TestStrictGateProfile::test_no_adversarial_pass_passes
tests/test_assurance.py::TestStrictGateProfile::test_undeclared_reviewer_lineage_agent_accept_rejected_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_undeclared_reviewer_lineage_human_accept_passes_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_undeclared_author_lineage_agent_accept_rejected_under_strict
tests/test_assurance.py::TestStrictGateProfile::test_builtin_reads_param
tests/test_assurance.py::TestStrictGateProfile::test_builtin_rejects_non_bool_param
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_at_creation
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_in_review
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_cross_lineage_pass
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_same_lineage_pass
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_cross_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_cross_lineage_human_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_same_lineage_human_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_after_same_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_assurance_close_from_open
tests/test_assurance.py::TestComputeAssuranceAPI::test_gate_rationale_via_api
tests/test_assurance.py::TestComputeAssuranceAPI::test_gate_rationale_strict_profile
tests/test_assurance.py::TestComputeAssuranceAPI::test_strict_workflow_rejects_same_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_strict_workflow_allows_cross_lineage_agent_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_strict_workflow_allows_same_lineage_human_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_strict_workflow_rejects_undeclared_reviewer_agent_accept
tests/test_assurance.py::TestComputeAssuranceAPI::test_strict_workflow_allows_undeclared_reviewer_human_accept
tests/test_assurance.py::TestCanonicalWorkflowStrictVariant::test_strict_adds_require_human_on_same_lineage
tests/test_assurance.py::TestCanonicalWorkflowStrictVariant::test_strict_preserves_other_content
tests/test_assurance.py::TestCanonicalWorkflowStrictVariant::test_relaxed_is_unchanged
tests/test_assurance.py::TestCanonicalWorkflowStrictVariant::test_strict_yaml_validates
tests/test_bc184_bc185_metrics.py::TestHookQueueDepthMetric::test_refresh_hook_queue_metrics_initial
tests/test_bc184_bc185_metrics.py::TestHookQueueDepthMetric::test_gauge_reflects_pending_hooks
tests/test_bc184_bc185_metrics.py::TestHookQueueDepthInMemory::test_refresh_does_not_raise
tests/test_bc184_bc185_metrics.py::TestHookQueueDepthInMemory::test_maintenance_healthy_returns_true
tests/test_bc184_bc185_metrics.py::TestMaintenanceHealthy::test_maintenance_healthy_true_before_plan009
tests/test_bc184_bc185_metrics.py::TestMaintenanceCounters::test_maintenance_claims_swept_counter
tests/test_bc184_bc185_metrics.py::TestMaintenanceCounters::test_maintenance_hook_leases_swept_counter
tests/test_bc184_bc185_metrics.py::TestMaintenanceCounters::test_maintenance_partitions_created_counter_deprecated
tests/test_bc184_bc185_metrics.py::TestMaintenanceCounters::test_maintenance_recurrences_fired_counter_registered
tests/test_bc188_connect_search_path.py::TestConnectSetsSearchPath::test_drop_old_replay_tables_does_not_touch_sibling_schema
tests/test_bc188_connect_search_path.py::TestConnectSetsSearchPath::test_connect_sets_search_path_session
tests/test_bc214_216_217_218.py::TestBC216KeyEntryRestructure::test_default_alg_is_hmac_sha256
tests/test_bc214_216_217_218.py::TestBC216KeyEntryRestructure::test_ed25519_alg_round_trip
tests/test_bc214_216_217_218.py::TestBC216KeyEntryRestructure::test_base64_secret_decoding
tests/test_bc214_216_217_218.py::TestBC216KeyEntryRestructure::test_fingerprint_hmac
tests/test_bc214_216_217_218.py::TestBC216KeyEntryRestructure::test_fingerprint_ed25519
tests/test_bc214_216_217_218.py::TestBC218KeyRole::test_default_role_is_actor
tests/test_bc214_216_217_218.py::TestBC218KeyRole::test_auditor_role_loads
tests/test_bc214_216_217_218.py::TestBC218KeyRole::test_recovery_role_loads
tests/test_bc214_216_217_218.py::TestBC218KeyRole::test_invalid_key_role_rejected
tests/test_bc214_216_217_218.py::TestBC218KeyRole::test_validate_key_role_contract
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_actor_can_sign_workflow_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_actor_can_sign_tool_call
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_actor_can_sign_none_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_auditor_can_sign_auditor_attestation
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_auditor_cannot_sign_tool_call
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_auditor_cannot_sign_workflow_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_auditor_cannot_sign_key_rotation
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_recovery_can_sign_key_rotation
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_recovery_cannot_sign_tool_call
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicy::test_actor_can_sign_key_rotation
tests/test_bc214_216_217_218.py::TestBC215RevokedAt::test_revoked_at_validates_revoked_at
tests/test_bc214_216_217_218.py::TestBC215RevokedAt::test_revoked_at_predates_event
tests/test_bc214_216_217_218.py::TestBC217PerActorKeyResolution::test_resolve_signing_key_falls_back_to_active
tests/test_bc214_216_217_218.py::TestBC217PerActorKeyResolution::test_active_keys_for_principal
tests/test_bc214_216_217_218.py::TestBC217PerActorKeyResolution::test_resolve_by_principal_prefers_matching
tests/test_bc214_216_217_218.py::TestBC217PerActorKeyResolution::test_key_id_override
tests/test_bc214_216_217_218.py::TestBC214EnvelopeV2::test_new_envelope_is_used
tests/test_bc214_216_217_218.py::TestBC214EnvelopeV2::test_backward_compat_verifies
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicyIntegration::test_actor_key_can_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicyIntegration::test_auditor_key_blocked_from_workflow_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicyIntegration::test_auditor_key_blocked_from_append_event_transition
tests/test_bc214_216_217_218.py::TestBC218KeyRolePolicyIntegration::test_recovery_key_blocked_from_workflow_transition
tests/test_bc214_216_217_218.py::TestEd25519SchemeVerify::test_verify_with_short_public_key_returns_false
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_predates_event
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_exact_boundary_rejected
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_after_event_rejected
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_none_without_timestamp_rejected
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_none_with_timestamp_rejected
tests/test_bc215_219_220_221.py::TestBC215RevokedAtBoundary::test_revoked_at_present_timestamp_none_rejected
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_valid_with_expires_at
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_empty_expires_at
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_non_string_expires_at
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_null_expires_at_allowed
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_valid_with_session_grant_event_id
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_empty_session_grant_event_id
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_non_string_session_grant_event_id
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_null_session_grant_event_id_allowed
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_delegation_chain_expires_at_roundtrip
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_delegation_chain_session_grant_event_id_roundtrip
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_full_session_grant_fields_roundtrip
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_valid_full_on_behalf_of
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_invalid_session_id_uuid
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_invalid_session_grant_event_id_uuid
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_invalid_expires_at_format
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_rejects_invalid_authenticated_at_format
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_expires_at_before_event_timestamp_raises_delegation_chain_expired
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_expires_at_equal_to_event_timestamp_raises_delegation_chain_expired
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_expires_at_after_event_timestamp_accepted
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_authenticated_at_after_event_timestamp_rejected
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_authenticated_at_equal_to_event_timestamp_accepted
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_session_id_validation_without_timestamp
tests/test_bc215_219_220_221.py::TestBC219DelegationChainFields::test_session_grant_event_id_validation_without_timestamp
tests/test_bc215_219_220_221.py::TestBC220ClientTimestamp::test_client_timestamp_set_in_event
tests/test_bc215_219_220_221.py::TestBC220ClientTimestamp::test_postgres_appends_client_timestamp
tests/test_bc215_219_220_221.py::TestBC221CheckpointReservation::test_checkpoint_in_reserved_transitions
tests/test_bc215_219_220_221.py::TestBC221CheckpointReservation::test_checkpoint_blocked_in_append
tests/test_bc215_219_220_221.py::TestBC221CheckpointReservation::test_checkpoint_payload_shape
tests/test_bc215_219_220_221.py::TestBC221CheckpointReservation::test_checkpoint_transition_name_reserved
tests/test_bc215_219_220_221.py::TestBC221CheckpointReservation::test_checkpoint_workflow_registration_rejected
tests/test_bc278_279_280.py::TestBC278HeartbeatCoalescingParity::test_in_memory_uses_wall_clock_not_expiry_for_coalesce
tests/test_bc278_279_280.py::TestBC279ReplayWarnsOnUnknownTransitions::test_postgres_replay_warns_on_unknown_transition
tests/test_bc278_279_280.py::TestBC279ReplayWarnsOnUnknownTransitions::test_in_memory_replay_warns_on_unknown_transition
tests/test_bc278_279_280.py::TestBC280HookHandlersCopyOnWrite::test_register_handler_uses_same_dict
tests/test_bc278_279_280.py::TestBC280HookHandlersCopyOnWrite::test_register_handler_preserves_existing
tests/test_bc278_279_280.py::TestBC280HookHandlersCopyOnWrite::test_register_validator_uses_same_dict
tests/test_bc294_migration_repair.py::test_repair_checksums_updates_drifted
tests/test_bc294_migration_repair.py::test_repair_checksums_no_drift
tests/test_bc294_migration_repair.py::test_autocommit_migration_mode
tests/test_bc294_migration_repair.py::test_cli_schema_repair_checksums
tests/test_bc306_entity_kind_validation.py::TestSidecarEntityKindValidation::test_sidecar_rejects_unknown_entity_kind
tests/test_bc306_entity_kind_validation.py::TestSidecarEntityKindValidation::test_sidecar_accepts_work_item_entity_kind
tests/test_bc306_entity_kind_validation.py::TestSidecarEntityKindValidation::test_sidecar_accepts_default_entity_kind
tests/test_bc306_entity_kind_validation.py::TestCoreApiEntityKindValidation::test_core_api_rejects_unknown_entity_kind
tests/test_bc306_entity_kind_validation.py::TestCoreApiEntityKindValidation::test_core_api_accepts_work_item_entity_kind
tests/test_bc306_entity_kind_validation.py::TestInMemoryEntityKindValidation::test_in_memory_rejects_unknown_entity_kind
tests/test_bc306_entity_kind_validation.py::TestInMemoryEntityKindValidation::test_in_memory_accepts_work_item_entity_kind
tests/test_bc310_replay_isolation.py::TestRepeatableReadTransactionManager::test_transaction_repeatable_read_sets_isolation
tests/test_bc310_replay_isolation.py::TestRepeatableReadTransactionManager::test_transaction_repeatable_read_sets_search_path
tests/test_bc310_replay_isolation.py::TestReplayUsesRepeatableRead::test_replay_succeeds_under_repeatable_read
tests/test_bc310_replay_isolation.py::TestReplayUsesRepeatableRead::test_scoped_replay_succeeds_under_repeatable_read
tests/test_bc310_replay_isolation.py::TestReplayUsesRepeatableRead::test_replay_does_not_see_concurrent_write
tests/test_bundle.py::TestExportAuditBundle::test_export_creates_valid_json
tests/test_bundle.py::TestExportAuditBundle::test_export_with_since_seq
tests/test_bundle.py::TestExportAuditBundle::test_export_includes_anchor_receipts
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.tar.gz]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.tgz]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.tar]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.zip]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.json.gz]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.tar.bz2]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[bundle.tar.xz]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_rejects_archive_names[BUNDLE.TGZ]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_accepts_non_archive_names[bundle.json]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_accepts_non_archive_names[bundle]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_accepts_non_archive_names[bundle.ndjson]
tests/test_bundle.py::TestRejectArchiveOutputName::test_helper_accepts_non_archive_names[a.json.bak]
tests/test_bundle.py::TestRejectArchiveOutputName::test_export_rejects_tar_gz
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_clean_bundle_passes
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_detects_tampered_event
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_detects_bundle_hash_mismatch
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_detects_anchor_mismatch
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_nonexistent_file_raises
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_malformed_json_raises
tests/test_bundle.py::TestVerifyAuditBundleOffline::test_verify_empty_bundle_fails_closed
tests/test_bundle.py::TestVerifyArchiveChain::test_verify_chain_no_segments
tests/test_bundle.py::TestVerifyArchiveChain::test_verify_chain_with_segments
tests/test_bundle.py::TestVerifyArchiveChain::test_verify_chain_detects_broken_link
tests/test_bundle.py::TestOfflineSignatureVerification::test_export_includes_registered_public_key
tests/test_bundle.py::TestOfflineSignatureVerification::test_clean_mixed_bundle_verifies_signatures
tests/test_bundle.py::TestOfflineSignatureVerification::test_forged_signature_caught_only_by_signature_check
tests/test_bundle.py::TestOfflineSignatureVerification::test_hmac_only_bundle_counts_all_unverifiable
tests/test_bundle.py::TestOfflineSignatureVerification::test_v1_bundle_signature_check_skipped
tests/test_bundle.py::TestOfflineSignatureVerification::test_missing_public_key_fails_closed
tests/test_bundle.py::TestOfflineSignatureVerification::test_binding_mismatch_fails_closed
tests/test_bundle.py::TestOfflineSignatureVerification::test_unknown_scheme_fails_closed
tests/test_bundle.py::TestOfflineSignatureVerification::test_registry_absent_is_recorded_and_fails_closed
tests/test_bundle.py::TestOfflineAnchorHashAgility::test_offline_anchor_verifies_with_sha384_events
tests/test_bundle.py::TestExportBounds::test_until_seq_is_an_inclusive_upper_bound
tests/test_bundle.py::TestExportBounds::test_since_and_until_form_a_window
tests/test_bundle.py::TestExportBounds::test_empty_range_is_rejected
tests/test_bundle.py::TestExportBounds::test_window_selecting_no_events_is_rejected[max-None]
tests/test_bundle.py::TestExportBounds::test_window_selecting_no_events_is_rejected[beyond-None]
tests/test_bundle.py::TestExportBounds::test_window_selecting_no_events_is_rejected[None-zero]
tests/test_bundle.py::TestExportBounds::test_window_selecting_no_events_is_rejected[None-negative]
tests/test_bundle.py::TestExportBounds::test_export_of_event_free_store_is_rejected
tests/test_bundle.py::TestExportBounds::test_chunked_exports_both_verify_offline
tests/test_bundle.py::TestExportBounds::test_oversized_export_refuses_and_writes_nothing
tests/test_bundle.py::TestExportBounds::test_export_reports_self_verification
tests/test_bundle.py::TestExportBounds::test_hash_mismatch_on_written_artifact_raises_and_keeps_it
tests/test_bundle.py::TestExportBounds::test_store_level_defects_are_reported_not_fatal
tests/test_bundle.py::TestExportBounds::test_mid_chain_chunk_excludes_receipts_and_verifies
tests/test_bundle.py::TestExportBounds::test_prefix_chunk_keeps_only_receipts_it_can_prove
tests/test_bundle.py::TestSegmentAndReceiptWindowing::test_slice_segments_keeps_overlap_drops_outside
tests/test_bundle.py::TestSegmentAndReceiptWindowing::test_slice_segments_keeps_unbounded_rows
tests/test_bundle.py::TestSegmentAndReceiptWindowing::test_receipt_listing_orders_oldest_target_first
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_two_segment_bundle_verifies_segment_chain
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_tampered_head_hash_fails_segment_chain
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_windowed_export_straddling_seal_gap_self_verifies
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_windowed_export_window_starting_inside_first_segment_keeps_both_linked
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_windowed_export_isolating_segment_b_keeps_it_without_incoming_seal
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_windowed_export_sweep_self_verifies
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_tampered_seal_event_removed_fails_segment_chain
tests/test_bundle.py::TestSegmentChainOfflineVerification::test_tampered_intermediate_hash_fails_segment_chain
tests/test_bundle.py::TestSegmentRecordAnchoring::test_tampered_terminal_segment_fails_multi_segment
tests/test_bundle.py::TestSegmentRecordAnchoring::test_tampered_sole_segment_fails
tests/test_bundle.py::TestSegmentRecordAnchoring::test_tampered_terminal_event_count_alone_fails
tests/test_bundle.py::TestSegmentRecordAnchoring::test_terminal_segment_boundary_inflation_fails
tests/test_bundle.py::TestSegmentRecordAnchoring::test_overlapping_segment_ranges_fail
tests/test_bundle.py::TestSegmentRecordAnchoring::test_segment_fully_inside_a_window_is_still_checked
tests/test_bundle.py::TestSegmentRecordAnchoring::test_window_truncated_segment_metadata_is_not_checkable
tests/test_bundle.py::TestSegmentSealReconciliation::test_seal_payload_carries_the_structural_fields
tests/test_bundle.py::TestSegmentSealReconciliation::test_sole_segment_first_global_seq_shifted_to_zero_fails
tests/test_bundle.py::TestSegmentSealReconciliation::test_first_global_seq_shift_fails_multi_segment[zero]
tests/test_bundle.py::TestSegmentSealReconciliation::test_first_global_seq_shift_fails_multi_segment[negative]
tests/test_bundle.py::TestSegmentSealReconciliation::test_work_item_ids_and_count_rewritten_together_fails
tests/test_bundle.py::TestSegmentSealReconciliation::test_count_band_rejects_zero_without_the_seal
tests/test_bundle.py::TestSegmentSealReconciliation::test_count_band_rejects_inflation_without_the_seal
tests/test_bundle.py::TestSegmentSealReconciliation::test_first_event_id_rewrite_fails
tests/test_bundle.py::TestSegmentSealReconciliation::test_seal_event_deleted_from_full_export_fails
tests/test_bundle.py::TestSegmentSealReconciliation::test_injected_free_floating_seal_is_not_an_anchor
tests/test_bundle.py::TestSegmentSealReconciliation::test_clean_multi_segment_bundle_still_reconciles
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_impossible_window_does_not_disable_segment_checks[until-zero]
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_impossible_window_does_not_disable_segment_checks[until-negative]
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_impossible_window_does_not_disable_segment_checks[inverted]
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_impossible_window_does_not_disable_segment_checks[since-negative]
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_impossible_window_does_not_hide_tail_truncation
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_non_integer_window_reads_as_unbounded
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_invented_window_must_also_drop_the_events
tests/test_bundle.py::TestDeclaredWindowIntegrity::test_real_windowed_export_satisfies_its_own_window
tests/test_bundle.py::TestManifestCountAgreement::test_tail_truncation_with_stale_manifest_fails
tests/test_bundle.py::TestManifestCountAgreement::test_truncation_with_doctored_manifest_fails_on_segment_anchor
tests/test_bundle.py::TestManifestCountAgreement::test_segment_count_divergence_fails
tests/test_bundle.py::TestManifestCountAgreement::test_public_key_count_divergence_fails
tests/test_bundle.py::TestManifestCountAgreement::test_non_integer_manifest_count_fails_closed
tests/test_bundle.py::TestManifestCountAgreement::test_v2_bundle_missing_a_count_fails_closed
tests/test_bundle.py::TestManifestCountAgreement::test_v1_bundle_may_omit_the_v2_only_count
tests/test_bundle.py::TestManifestCountAgreement::test_clean_bundle_has_no_count_errors
tests/test_bundle.py::TestCliExportExitCodes::test_unverifiable_store_exits_3_by_default
tests/test_bundle.py::TestCliExportExitCodes::test_allow_unverified_opts_into_exit_0
tests/test_canonical_workflow.py::test_canonical_yaml_parses_and_validates
tests/test_canonical_workflow.py::test_request_changes_records_findings_without_claiming_independence
tests/test_canonical_workflow.py::test_canonical_exported_at_top_level
tests/test_canonical_workflow.py::test_canonical_registers_idempotently
tests/test_canonical_workflow.py::test_canonical_request_changes_runs_note_requirement_end_to_end
tests/test_canonical_workflow.py::test_canonical_request_changes_without_note_fails_closed
tests/test_canonical_workflow.py::test_persisted_canonical_request_changes_uses_finding_semantics[1]
tests/test_canonical_workflow.py::test_persisted_canonical_request_changes_uses_finding_semantics[2]
tests/test_canonical_workflow.py::test_missing_builtin_validator_fails_closed_in_memory
tests/test_canonical_workflow.py::test_canonical_supports_mixed_agent_human_chain_to_done
tests/test_claim_link_idempotency.py::TestClaimIdempotency::test_acquire_claim_same_event_id_no_duplicate_events
tests/test_claim_link_idempotency.py::TestClaimIdempotency::test_release_claim_event_id_dedup
tests/test_claim_link_idempotency.py::TestLinkIdempotency::test_create_link_same_event_id_no_duplicate_events
tests/test_claim_link_idempotency.py::TestLinkIdempotency::test_remove_link_same_event_id_no_duplicate_events
tests/test_claim_link_idempotency.py::TestClaimActorMetadataWI224::test_claim_events_record_actor_metadata
tests/test_claim_link_idempotency.py::TestClaimActorMetadataWI224::test_claim_without_metadata_records_none
tests/test_cli_args.py::TestCLIExitCodes::test_no_args_exits_2
tests/test_cli_args.py::TestCLIExitCodes::test_workflow_validate_ok
tests/test_cli_args.py::TestCLIExitCodes::test_workflow_validate_json
tests/test_cli_args.py::TestCLIExitCodes::test_workflow_validate_bad
tests/test_cli_args.py::TestCLIExitCodes::test_work_item_show_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_schema_status_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_schema_init_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_replay_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_events_show_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_events_tail_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_hooks_dead_letter_list_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_hooks_dead_letter_requeue_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_actor_roles_list_missing_config
tests/test_cli_args.py::TestCLIExitCodes::test_unknown_command_prints_help
tests/test_cli_conformance.py::test_success_conformance[version-json]
tests/test_cli_conformance.py::test_error_conformance[workflow-validate-missing-file]
tests/test_cli_conformance.py::test_error_conformance[secrets-unresolvable-ref]
tests/test_cli_conformance.py::test_usage_conformance[unknown-verb]
tests/test_cli_conformance.py::test_usage_conformance[no-command]
tests/test_cli_conformance.py::test_broken_pipe_conformance[version-json-broken-pipe]
tests/test_cli_integration.py::TestSchemaInit::test_schema_init_success
tests/test_cli_integration.py::TestSchemaInit::test_schema_init_idempotent
tests/test_cli_integration.py::TestSchemaStatus::test_schema_status_after_init
tests/test_cli_integration.py::TestWorkflowValidate::test_validate_valid_yaml
tests/test_cli_integration.py::TestWorkflowValidate::test_validate_valid_json_output
tests/test_cli_integration.py::TestWorkflowValidate::test_validate_invalid_yaml
tests/test_cli_integration.py::TestWorkItemShow::test_show_existing_work_item
tests/test_cli_integration.py::TestWorkItemShow::test_show_json_output
tests/test_cli_integration.py::TestWorkItemShow::test_show_nonexistent_work_item
tests/test_cli_integration.py::TestWorkItemList::test_list_work_items
tests/test_cli_integration.py::TestWorkItemList::test_list_json_output
tests/test_cli_integration.py::TestWorkItemList::test_list_filter_by_workflow
tests/test_cli_integration.py::TestWorkItemList::test_list_filter_by_state_no_match
tests/test_cli_integration.py::TestEventsShow::test_show_events_for_work_item
tests/test_cli_integration.py::TestEventsShow::test_show_events_json_output
tests/test_cli_integration.py::TestEventsTail::test_tail_events
tests/test_cli_integration.py::TestEventsTail::test_tail_json_output
tests/test_cli_integration.py::TestReplay::test_replay_no_drift
tests/test_cli_integration.py::TestReplay::test_replay_json_output
tests/test_cli_integration.py::TestActorRolesList::test_list_actor_roles
tests/test_cli_integration.py::TestActorRolesList::test_list_actor_roles_json
tests/test_cli_integration.py::TestHooksDeadLetterList::test_list_empty
tests/test_cli_integration.py::TestPrincipalRotate::test_rotate_supersedes_with_validity_window
tests/test_cli_integration.py::TestPrincipalRotate::test_rotate_json_shape
tests/test_cli_integration.py::TestEnvVarConfig::test_project_from_env
tests/test_cli_integration.py::TestEnvVarConfig::test_missing_all_config
tests/test_client_signer.py::TestSignerIdentity::test_to_dict
tests/test_client_signer.py::TestClientSignerGenerate::test_generate_file_backend
tests/test_client_signer.py::TestClientSignerGenerate::test_generate_rejects_unsupported_scheme
tests/test_client_signer.py::TestClientSignerGenerate::test_generate_unique_keys
tests/test_client_signer.py::TestClientSignerLoad::test_load_existing_key
tests/test_client_signer.py::TestClientSignerLoad::test_load_infers_custody_mode
tests/test_client_signer.py::TestClientSignerLoad::test_load_explicit_custody_mode
tests/test_client_signer.py::TestSignPossession::test_sign_possession_produces_valid_proof
tests/test_client_signer.py::TestSignPossession::test_sign_possession_binds_to_challenge
tests/test_client_signer.py::TestSignPossession::test_sign_possession_rejects_wrong_principal
tests/test_client_signer.py::TestSignPossession::test_sign_possession_rejects_wrong_fingerprint
tests/test_client_signer.py::TestSignPossession::test_sign_possession_rejects_wrong_scheme
tests/test_client_signer.py::TestSignEffective::test_sign_effective_produces_receipt
tests/test_client_signer.py::TestSignEffective::test_sign_effective_custom_status
tests/test_client_signer.py::TestSignEffective::test_sign_effective_rejects_wrong_principal
tests/test_client_signer.py::TestSignEffective::test_sign_effective_rejects_wrong_fingerprint
tests/test_client_signer.py::TestDestroy::test_destroy_drops_key_reference
tests/test_client_signer.py::TestHelpers::test_fingerprint
tests/test_client_signer.py::TestHelpers::test_derive_public_key
tests/test_client_signer.py::TestHelpers::test_custody_from_ref
tests/test_client_signer.py::TestSignerCliMalformedChallenge::test_sign_possession_rejects_non_object_json
tests/test_client_signer.py::TestSignerCliMalformedChallenge::test_sign_effective_rejects_non_object_json
tests/test_client_signer.py::TestSignerCliMalformedChallenge::test_sign_possession_rejects_non_string_timestamp
tests/test_client_signer.py::TestEndToEndWithLifecycle::test_enrollment_flow
tests/test_client_signer.py::TestEndToEndWithLifecycle::test_wrong_key_rejected_by_lifecycle
tests/test_concurrency.py::TestAC28ConcurrentSeqGapFree::test_concurrent_appends_are_gap_free
tests/test_concurrency.py::TestAC28ConcurrentSeqGapFree::test_concurrent_transitions_gap_free
tests/test_config.py::TestParseEnvFile::test_simple_key_value
tests/test_config.py::TestParseEnvFile::test_comments_and_blanks
tests/test_config.py::TestParseEnvFile::test_quoted_values
tests/test_config.py::TestParseEnvFile::test_nonexistent_file
tests/test_config.py::TestResolve::test_env_takes_precedence_over_files
tests/test_config.py::TestResolve::test_user_file_takes_precedence_over_system
tests/test_config.py::TestResolve::test_system_file_as_fallback
tests/test_config.py::TestResolve::test_deprecated_alias_resolves
tests/test_config.py::TestResolve::test_canonical_overrides_alias
tests/test_config.py::TestResolve::test_require_ssl_parsing
tests/test_config.py::TestResolve::test_all_unset_returns_none
tests/test_config.py::TestResolve::test_user_file_alias_falls_through_to_system
tests/test_config.py::TestResolve::test_to_dict
tests/test_config.py::TestResolveOrRaise::test_raises_on_missing_dsn
tests/test_config.py::TestResolveOrRaise::test_raises_on_missing_key_path
tests/test_config.py::TestResolveOrRaise::test_succeeds_with_all_required
tests/test_connection_ssl.py::TestRequireSsl::test_require_ssl_rejects_plaintext_connection
tests/test_connection_ssl.py::TestRequireSsl::test_require_ssl_false_allows_plaintext
tests/test_connection_ssl.py::TestRequireSsl::test_require_ssl_passed_through_create_project
tests/test_contract.py::TestValidateActorKind::test_accepts_agent
tests/test_contract.py::TestValidateActorKind::test_accepts_human
tests/test_contract.py::TestValidateActorKind::test_accepts_system
tests/test_contract.py::TestValidateActorKind::test_rejects_unknown
tests/test_contract.py::TestValidateActorKind::test_rejects_empty
tests/test_contract.py::TestValidateTtl::test_accepts_positive
tests/test_contract.py::TestValidateTtl::test_rejects_zero
tests/test_contract.py::TestValidateTtl::test_rejects_negative
tests/test_contract.py::TestValidateNotBefore::test_none_passes
tests/test_contract.py::TestValidateNotBefore::test_past_passes
tests/test_contract.py::TestValidateNotBefore::test_equal_to_now_passes
tests/test_contract.py::TestValidateNotBefore::test_future_raises
tests/test_contract.py::TestResolveTransition::test_finds_matching
tests/test_contract.py::TestResolveTransition::test_matches_on_name_and_from_state
tests/test_contract.py::TestResolveTransition::test_rejects_wrong_from_state
tests/test_contract.py::TestResolveTransition::test_rejects_unknown_name
tests/test_contract.py::TestResolveTransition::test_error_includes_workflow_context
tests/test_contract.py::TestCheckRoleGating::test_no_roles_returns_none
tests/test_contract.py::TestCheckRoleGating::test_matching_role_returns_role
tests/test_contract.py::TestCheckRoleGating::test_mismatched_role_raises
tests/test_contract.py::TestCheckRoleGating::test_none_metadata_raises
tests/test_contract.py::TestCheckRoleGating::test_metadata_without_role_raises
tests/test_contract.py::TestCheckActorRoleAuthorized::test_empty_registered_roles_passes
tests/test_contract.py::TestCheckActorRoleAuthorized::test_matching_role_passes
tests/test_contract.py::TestCheckActorRoleAuthorized::test_mismatched_role_raises
tests/test_contract.py::TestCheckAppendBlocked::test_none_transition_passes
tests/test_contract.py::TestCheckAppendBlocked::test_non_matching_passes
tests/test_contract.py::TestCheckAppendBlocked::test_matching_raises
tests/test_contract.py::TestCheckAppendBlocked::test_empty_transitions_passes
tests/test_contract.py::TestCheckIdempotency::test_none_existing_returns_none
tests/test_contract.py::TestCheckIdempotency::test_matching_returns_existing
tests/test_contract.py::TestCheckIdempotency::test_actor_mismatch_raises
tests/test_contract.py::TestCheckIdempotency::test_transition_mismatch_raises
tests/test_contract.py::TestCheckIdempotency::test_matching_with_none_transition_and_none_actor
tests/test_contract.py::TestCheckIdempotency::test_work_item_id_mismatch_raises
tests/test_contract.py::TestCheckIdempotency::test_work_item_id_match_passes
tests/test_contract.py::TestCheckIdempotency::test_work_item_id_none_skips_check
tests/test_contract.py::TestCheckExpectedSeq::test_none_expected_passes
tests/test_contract.py::TestCheckExpectedSeq::test_matching_passes
tests/test_contract.py::TestCheckExpectedSeq::test_mismatching_raises
tests/test_contract.py::TestValidateLinkType::test_matching_passes
tests/test_contract.py::TestValidateLinkType::test_wrong_name_raises
tests/test_contract.py::TestValidateLinkType::test_wrong_source_type_raises
tests/test_contract.py::TestValidateLinkType::test_wrong_target_type_raises
tests/test_contract.py::TestShouldEscalate::test_none_threshold_returns_false
tests/test_contract.py::TestShouldEscalate::test_below_threshold_returns_false
tests/test_contract.py::TestShouldEscalate::test_at_threshold_returns_true
tests/test_contract.py::TestShouldEscalate::test_above_threshold_returns_true
tests/test_contract.py::TestShouldEscalate::test_already_escalated_returns_false
tests/test_contract.py::TestValidateReadEventsFilters::test_all_none_passes
tests/test_contract.py::TestValidateReadEventsFilters::test_before_seq_with_work_item_id_passes
tests/test_contract.py::TestValidateReadEventsFilters::test_before_seq_without_work_item_id_raises
tests/test_contract.py::TestValidateReadEventsFilters::test_start_without_end_raises
tests/test_contract.py::TestValidateReadEventsFilters::test_end_without_start_raises
tests/test_contract.py::TestValidateReadEventsFilters::test_start_and_end_together_passes
tests/test_contract.py::TestResolveClaimAcquire::test_fresh_acquire
tests/test_contract.py::TestResolveClaimAcquire::test_extend_same_actor
tests/test_contract.py::TestResolveClaimAcquire::test_steal_expired_claim
tests/test_contract.py::TestResolveClaimAcquire::test_contested_active_claim_raises
tests/test_contract.py::TestResolveClaimAcquire::test_not_before_future_raises
tests/test_contract.py::TestResolveClaimAcquire::test_zero_ttl_raises
tests/test_contract.py::TestResolveClaimAcquire::test_negative_ttl_raises
tests/test_contract.py::TestResolveClaimAcquire::test_attempt_number_increments_from_wi
tests/test_contract.py::TestResolveHeartbeat::test_valid_heartbeat
tests/test_contract.py::TestResolveHeartbeat::test_no_claim_raises
tests/test_contract.py::TestResolveHeartbeat::test_wrong_actor_raises
tests/test_contract.py::TestResolveHeartbeat::test_expired_claim_raises
tests/test_contract.py::TestResolveHeartbeat::test_active_claim_heartbeat_passes
tests/test_contract.py::TestResolveHeartbeat::test_stale_attempt_number_raises
tests/test_contract.py::TestResolveHeartbeat::test_matching_attempt_number_passes
tests/test_contract.py::TestResolveHeartbeat::test_invalid_ttl_raises
tests/test_contract.py::TestResolveHeartbeat::test_null_expires_at_raises
tests/test_contract.py::TestValidateRelease::test_valid_release
tests/test_contract.py::TestValidateRelease::test_no_claim_raises
tests/test_contract.py::TestValidateRelease::test_wrong_actor_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_clean_string_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_empty_string_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_null_byte_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_unpaired_surrogate_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_high_surrogate_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_clean_dict_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_dict_with_null_byte_key_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_dict_with_null_byte_value_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_nested_dict_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_clean_list_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_list_with_null_byte_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_int_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_none_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_float_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_bool_passes
tests/test_contract.py::TestValidateJsonSafeValue::test_deeply_nested_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_set_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_bytes_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_tuple_raises
tests/test_contract.py::TestValidateJsonSafeValue::test_nan_rejected
tests/test_contract.py::TestValidateJsonSafeValue::test_inf_rejected
tests/test_contract.py::TestValidateJsonSafeValue::test_neg_inf_rejected
tests/test_contract.py::TestValidateJsonSafeValue::test_nan_in_dict_rejected
tests/test_contract.py::TestValidateActorId::test_short_passes
tests/test_contract.py::TestValidateActorId::test_exact_255_passes
tests/test_contract.py::TestValidateActorId::test_over_255_raises
tests/test_contract.py::TestValidateActorId::test_detail_includes_length
tests/test_contract.py::TestValidateWorkItemExists::test_exists_passes
tests/test_contract.py::TestValidateWorkItemExists::test_none_raises
tests/test_contract.py::TestBC301JsonbSizeLimit::test_normal_payload_accepted
tests/test_contract.py::TestBC301JsonbSizeLimit::test_oversized_payload_rejected
tests/test_contract.py::TestBC301JsonbSizeLimit::test_none_value_accepted
tests/test_contract.py::TestAsymmetricSchemeDerivation::test_ed25519_is_asymmetric_hmac_is_not
tests/test_contract.py::TestAsymmetricSchemeDerivation::test_dynamically_registered_asymmetric_scheme_included
tests/test_coverage_gaps.py::TestTransitionViaAppendBlocked::test_append_event_rejects_workflow_transition_name
tests/test_coverage_gaps.py::TestTransitionViaAppendBlocked::test_append_event_allows_custom_transition
tests/test_coverage_gaps.py::TestWorkItemNotFound::test_transition_on_nonexistent_work_item
tests/test_coverage_gaps.py::TestWorkItemNotFound::test_append_event_on_nonexistent_work_item
tests/test_coverage_gaps.py::TestWorkItemNotFoundClaims::test_heartbeat_on_nonexistent_work_item
tests/test_coverage_gaps.py::TestWorkItemNotFoundClaims::test_release_on_nonexistent_work_item
tests/test_coverage_gaps.py::TestClaimNotFound::test_heartbeat_on_unclaimed_work_item
tests/test_coverage_gaps.py::TestClaimNotFound::test_release_on_unclaimed_work_item
tests/test_coverage_gaps.py::TestSweepExpiredClaims::test_sweep_removes_expired_claims
tests/test_coverage_gaps.py::TestSweepExpiredClaims::test_sweep_emits_claim_expired_events
tests/test_coverage_gaps.py::TestSweepExpiredClaims::test_sweep_returns_zero_when_no_expired
tests/test_coverage_gaps.py::TestWorkflowSemanticErrors::test_no_initial_state_rejected
tests/test_coverage_gaps.py::TestWorkflowSemanticErrors::test_unreachable_state_rejected
tests/test_coverage_gaps.py::TestWorkflowSemanticErrors::test_undeclared_role_in_transition_rejected
tests/test_coverage_gaps.py::TestExpectedAttemptNumber::test_heartbeat_rejects_stale_attempt_number
tests/test_coverage_gaps.py::TestExpectedAttemptNumber::test_heartbeat_accepts_correct_attempt_number
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_by_actor
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_by_transition
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_by_time_range
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_no_filters_returns_empty
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_before_seq_requires_work_item_id
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_start_without_end_rejected
tests/test_coverage_gaps.py::TestReadEventsFilters::test_read_events_end_without_start_rejected
tests/test_coverage_gaps.py::TestQueryWorkItemsFilters::test_query_by_needs_review
tests/test_coverage_gaps.py::TestQueryWorkItemsFilters::test_query_by_workflow_version
tests/test_coverage_gaps.py::TestQueryWorkItemsFilters::test_query_by_work_item_types
tests/test_coverage_gaps.py::TestCustomFieldFilterQuery::test_single_key_match
tests/test_coverage_gaps.py::TestCustomFieldFilterQuery::test_multi_key_and
tests/test_coverage_gaps.py::TestCustomFieldFilterQuery::test_unknown_key_empty_result
tests/test_coverage_gaps.py::TestCustomFieldFilterQuery::test_cursor_pagination_with_filter
tests/test_coverage_gaps.py::TestHmacKeyPathRequired::test_regista_init_rejects_none_key_path
tests/test_coverage_gaps.py::TestHeartbeatActorKind::test_heartbeat_emits_correct_actor_kind
tests/test_coverage_gaps.py::TestHeartbeatActorKind::test_heartbeat_defaults_to_agent
tests/test_coverage_gaps.py::TestCloseBehavior::test_close_is_idempotent
tests/test_coverage_gaps.py::TestCloseBehavior::test_operation_after_close_raises
tests/test_coverage_gaps.py::TestCloseBehavior::test_pool_healthy_true_when_open
tests/test_coverage_gaps.py::TestCloseBehavior::test_pool_healthy_false_after_close
tests/test_coverage_gaps.py::TestHookNotFound::test_complete_hook_not_found
tests/test_coverage_gaps.py::TestHookNotFound::test_fail_hook_not_found
tests/test_coverage_gaps.py::TestDeadLetterLimit::test_list_dead_lettered_hooks_respects_limit
tests/test_custody.py::TestStoreProtocol::test_file_store_writes_0600_and_returns_ref
tests/test_custody.py::TestStoreProtocol::test_file_store_is_atomic_no_tmp_leftover
tests/test_custody.py::TestStoreProtocol::test_env_store_raises_unsupported
tests/test_custody.py::TestStoreProtocol::test_literal_store_raises_unsupported
tests/test_custody.py::TestStoreProtocol::test_store_empty_ref_raises
tests/test_custody.py::TestStoreProtocol::test_file_round_trip
tests/test_custody.py::TestWindowsStore::test_store_returns_windows_ref_and_round_trips
tests/test_custody.py::TestCustodyHelper::test_file_backend_stores_key_and_returns_public_key
tests/test_custody.py::TestCustodyHelper::test_fake_vault_backend_writes_no_local_key_file
tests/test_custody.py::TestCustodyHelper::test_operator_backend_raises_external_without_keypair
tests/test_custody.py::TestCustodyHelper::test_unknown_backend_raises_invalid_argument
tests/test_custody.py::TestCustodyHelper::test_build_ref_file
tests/test_custody.py::TestCustodyHelper::test_build_ref_vault
tests/test_custody.py::TestCustodyHelper::test_build_ref_azure_sanitizes
tests/test_custody.py::TestCustodyHelper::test_build_ref_azure_truncation_includes_hash
tests/test_custody.py::TestCustodyHelper::test_resolve_backend_defaults_to_file
tests/test_custody.py::TestCustodyHelper::test_resolve_backend_from_config
tests/test_custody.py::TestCustodyHelper::test_resolve_backend_explicit_overrides_config
tests/test_custody.py::TestCustodyHelper::test_operator_ref_template
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_file_ref_strips_prefix
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_plain_path
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_literal_ref_raises
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_env_ref_raises
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_non_file_backend_returns_none
tests/test_custody.py::TestCustodyHelper::test_resolve_key_dir_explicit_overrides
tests/test_custody.py::TestCustodyHelper::test_env_backend_raises_write_unsupported
tests/test_custody.py::TestCustodyHelper::test_literal_backend_raises_write_unsupported
tests/test_custody.py::TestCustodyHelper::test_env_literal_error_raised_before_keypair_generation
tests/test_custody.py::TestCustodyHelper::test_custom_writable_provider_via_register
tests/test_custody.py::TestProvisionPrincipalBackendAware::test_file_backend_provision_round_trip
tests/test_custody.py::TestProvisionPrincipalBackendAware::test_vault_backend_provision_writes_no_plaintext_key
tests/test_custody.py::TestProvisionPrincipalBackendAware::test_operator_backend_provision_raises_loud
tests/test_custody.py::TestProvisionPrincipalBackendAware::test_dry_run_reports_backend
tests/test_docs_060_conflicts.py::test_current_spec_has_no_conflicts
tests/test_docs_060_conflicts.py::test_ordinary_blockquote_is_not_a_supersession_marker
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[V6-ENVELOPE.md-Exactly the 16-key top-level object of \xa71-Exactly the 15-key top-level object of \xa71-16 top-level members]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[V6-ENVELOPE.md-payload, producer, project_instance_id-payload, project_instance_id-canonical key order must include producer]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[V6-ENVELOPE.md-| 13 | `transition` | string | yes | Workflow or lifecycle transition name | Non-empty on every v6 event, \u2264 255 chars. |-| 13 | `transition` | string \\| null | yes | Workflow transition name | `null` iff `workflow` is `null`. Non-empty string otherwise, \u2264 255 chars. |-transition is a required non-empty string]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[V6-ENVELOPE.md-| `metadata` | object \\| null | yes | Supplementary actor claims |-| `metadata` | object \\| null | yes | Lineage and harness claims |-producer identity belongs only in the producer block]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[REVIEW-VERDICTS.md-    "content_state_digest": "sha256:...",            // [\u0394] \xa72.3-    "content_state_digest": "sha256:...",\n    "subject_profile": {},-subject_profile is cut]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[TRUST-DOMAIN.md-- `mode: "recovery"` requires the **current root threshold**.-- `mode: "recovery"` requires the registrar.-root threshold for recovery]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[TRUST-DOMAIN.md-The design satisfies this without putting mutable governance into `trust_domain_id`-The design satisfies this by making governance a determinant of `trust_domain_id`-keeps governance out]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[CUTOVER-CLASSIFICATION.md-| `trust_log_checkpoint` | The three-field trust-domain checkpoint object-| `trust_log_checkpoint_hash` | The trust-domain checkpoint hash-three-field trust_log_checkpoint object]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[IMPLEMENTATION-PLAN.md-### P3.2 \u2014 Signed review verdicts \xb7 **owner: team** \xb7 dep: **P0.2 passing \u2014 satisfied**-### P3.2 \u2014 Signed review verdicts \xb7 **deferred, not in this window**-P3.2 is no longer described as blocked]
tests/test_docs_060_conflicts.py::test_known_regressions_fail_closed[FIELD-MATRIX.md-The pre-S1 classifier had this hole-The current classifier is permissive and has this hole-S1 shipped the strict classifier]
tests/test_doctor.py::TestDoctorCheck::test_valid_statuses
tests/test_doctor.py::TestDoctorCheck::test_invalid_status_raises
tests/test_doctor.py::TestDoctorCheck::test_to_dict
tests/test_doctor.py::TestDoctorReport::test_to_dict_shape
tests/test_doctor.py::TestRunDoctor::test_no_dsn_returns_skip
tests/test_doctor.py::TestRunDoctor::test_unreachable_dsn_is_clean_fail
tests/test_doctor.py::TestRunDoctor::test_reachable_db_with_no_projects
tests/test_doctor.py::TestRunDoctor::test_reachable_db_bounds_project_iteration
tests/test_doctor.py::TestRunDoctor::test_reachable_db_project_iteration_unbounded_when_no_cap
tests/test_doctor.py::TestRunDoctor::test_with_project_checks_schema
tests/test_doctor.py::TestRoleAttributes::test_reachable_reports_role_createrole
tests/test_doctor.py::TestRoleAttributes::test_no_dsn_omits_role_check
tests/test_doctor.py::TestRoleAttributes::test_unreachable_omits_role_check
tests/test_doctor.py::TestRoleAttributes::test_warns_when_role_lacks_createrole
tests/test_doctor.py::TestRoleAttributes::test_ok_when_role_has_createrole
tests/test_doctor.py::TestCustodyConsistency::test_no_key_path_skips
tests/test_doctor.py::TestCustodyConsistency::test_missing_key_file_skips
tests/test_doctor.py::TestCustodyConsistency::test_file_ref_matches_file_backend_ok
tests/test_doctor.py::TestCustodyConsistency::test_file_ref_on_vault_backend_warns
tests/test_doctor.py::TestCustodyConsistency::test_vault_ref_matches_vault_backend_ok
tests/test_doctor.py::TestCustodyConsistency::test_operator_backend_warns_on_any_custodied_key
tests/test_doctor.py::TestCustodyConsistency::test_no_principal_entries_ok
tests/test_doctor.py::TestCustodyConsistency::test_defaults_to_file_backend
tests/test_doctor.py::TestAnchoringStaleReceipts::test_ok_when_no_stale_receipts
tests/test_doctor.py::TestAnchoringStaleReceipts::test_warn_when_receipt_stuck_beyond_threshold
tests/test_doctor.py::TestAnchoringStaleReceipts::test_recent_pending_receipt_is_not_stale
tests/test_doctor.py::TestAnchoringStaleReceipts::test_skip_when_anchor_table_absent
tests/test_e2e.py::TestEndToEndAgentPipeline::test_full_agent_pipeline
tests/test_e2e.py::TestEndToEndAgentPipeline::test_not_before_deferral_and_reclaim
tests/test_e2e.py::TestEndToEndAgentPipeline::test_linked_work_items_with_lifecycle
tests/test_e2e.py::TestEndToEndAgentPipeline::test_actor_role_enforcement_in_pipeline
tests/test_enroll_principal.py::TestEnrollPrincipal::test_new_enrollment_issues_keypair_and_emits_event
tests/test_enroll_principal.py::TestEnrollPrincipal::test_idempotent_re_enroll_no_duplicate_event
tests/test_enroll_principal.py::TestEnrollPrincipal::test_self_heal_re_emits_event_after_gap
tests/test_enroll_principal.py::TestEnrollPrincipal::test_does_not_break_replay
tests/test_enroll_principal.py::TestEnrollPrincipal::test_enroll_principal_entity_id_stable
tests/test_enroll_principal.py::TestEnrollPrincipalCLI::test_cli_enroll_principal
tests/test_enroll_principal.py::TestEnrollPrincipalCLI::test_cli_enroll_idempotent
tests/test_enroll_principal.py::TestProvisionPrincipalScheme::test_provision_principal_returns_scheme
tests/test_epoch_blocked_meta.py::test_every_manifest_node_exists_in_collection
tests/test_epoch_blocked_meta.py::test_manifest_count_is_consistent_and_ratcheted
tests/test_epoch_blocked_meta.py::test_every_entry_carries_a_structural_failure_form_pin
tests/test_epoch_blocked_meta.py::test_final_060_release_refuses_nonempty_manifest
tests/test_epoch_blocked_meta.py::test_form_validator_accepts_recorded_direct_form
tests/test_epoch_blocked_meta.py::test_form_validator_rejects_changed_direct_form
tests/test_epoch_blocked_meta.py::test_form_validator_rejects_changed_indirect_form
tests/test_epoch_blocked_meta.py::test_hooks_end_to_end_mismatch_is_red_match_is_xfail
tests/test_events_partition.py::TestEnsureEventPartitions::test_idempotent_double_call
tests/test_events_partition.py::TestEnsureEventPartitions::test_returns_empty_list
tests/test_events_partition.py::TestEventStorage::test_events_land_in_events_table
tests/test_events_partition.py::TestEventStorage::test_far_future_event_lands_in_events_table
tests/test_events_partition.py::TestEventStorage::test_read_events_by_time_range
tests/test_events_partition.py::TestEventStorage::test_events_table_is_not_partitioned
tests/test_events_partition.py::TestUnpartitionedInit::test_no_partitions_created_on_create_project
tests/test_events_partition.py::TestUnpartitionedInit::test_auto_partition_false_is_functional
tests/test_events_partition.py::TestUnpartitionedInit::test_partition_metrics_not_present_after_init
tests/test_events_partition.py::TestEscalationUniquePerWorkItem::test_two_escalated_same_work_item_blocked_at_app_level
tests/test_genesis.py::test_load_bearing_fields_are_named_and_fail_closed
tests/test_genesis.py::test_first_write_admission_has_named_denials[kwargs0-GENESIS_GATE_NOT_PASSED]
tests/test_genesis.py::test_first_write_admission_has_named_denials[kwargs1-GENESIS_ALREADY_WRITTEN]
tests/test_genesis.py::test_first_write_admission_has_named_denials[kwargs2-GENESIS_ALREADY_WRITTEN]
tests/test_genesis.py::test_first_write_admission_has_named_denials[kwargs3-GENESIS_ALREADY_WRITTEN]
tests/test_genesis.py::test_genesis_denies_incomplete_and_mismatched_bootstrap_data
tests/test_genesis.py::test_v6_genesis_uses_the_v6_chain_hash_domain
tests/test_genesis.py::test_in_memory_legacy_writer_fails_closed
tests/test_genesis.py::test_genesis_rejects_non_actor_and_hmac_keys
tests/test_genesis.py::test_postgres_genesis_is_single_and_recoverable
tests/test_genesis.py::test_genesis_recovery_uses_historical_key_material[deprecated]
tests/test_genesis.py::test_genesis_recovery_uses_historical_key_material[revoked]
tests/test_genesis.py::test_genesis_recovery_reads_an_archived_genesis_event
tests/test_genesis.py::test_concurrent_genesis_has_one_winner
tests/test_genesis.py::test_genesis_and_legacy_admission_cannot_both_cross_the_boundary
tests/test_global_event_chain.py::test_global_chain_links_events_across_work_items
tests/test_global_event_chain.py::test_global_chain_survives_global_seq_gaps
tests/test_global_event_chain.py::test_bc298_public_append_event_persists_prev_global_event_hash
tests/test_global_event_chain.py::test_bc300_replay_detects_global_chain_tamper
tests/test_global_event_chain.py::test_bc300_replay_clean_global_chain_in_memory
tests/test_global_event_chain.py::test_bc300_in_memory_replay_detects_global_chain_tamper
tests/test_global_event_chain.py::test_append_returns_db_assigned_global_seq
tests/test_hash_chain.py::TestBC233HashChain::test_first_event_has_no_prev_hash
tests/test_hash_chain.py::TestBC233HashChain::test_second_event_includes_prev_hash
tests/test_hash_chain.py::TestBC233HashChain::test_replay_hash_chain_check
tests/test_hash_chain.py::TestBC233HashChain::test_broken_chain_detected
tests/test_hash_chain.py::TestBC233HashChain::test_append_event_api_persists_prev_hash
tests/test_hash_chain.py::TestBC233HashChain::test_multi_event_chain
tests/test_hash_chain.py::TestBC233HashChainInMemory::test_first_event_has_no_prev_hash
tests/test_hash_chain.py::TestBC233HashChainInMemory::test_second_event_includes_prev_hash
tests/test_hash_chain.py::TestBC233HashChainInMemory::test_multi_event_chain
tests/test_hash_chain.py::TestBC233HashChainInMemory::test_chain_without_keys
tests/test_hash_chain.py::TestBC311ReplayChainFields::test_replay_succeeds_with_missing_envelope_postgres
tests/test_hash_chain.py::TestBC311ReplayChainFields::test_replay_succeeds_with_missing_envelope_in_memory
tests/test_heartbeat_coalesce.py::TestComputeCoalesceThreshold::test_default_returns_max_of_60_and_half_ttl
tests/test_heartbeat_coalesce.py::TestComputeCoalesceThreshold::test_override_used_when_provided
tests/test_heartbeat_coalesce.py::TestComputeCoalesceThreshold::test_negative_override_clamped_to_zero
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_first_heartbeat_always_emits_event[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_first_heartbeat_always_emits_event[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_two_rapid_heartbeats_produce_one_event[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_two_rapid_heartbeats_produce_one_event[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_past_threshold_produces_second_event[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_past_threshold_produces_second_event[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_coalesce_threshold_zero_always_emits[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_coalesce_threshold_zero_always_emits[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_default_threshold_60_seconds_coalesces_rapid[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_default_threshold_60_seconds_coalesces_rapid[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_coalesced_heartbeat_still_extends_claim[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatCoalescing::test_coalesced_heartbeat_still_extends_claim[in_memory]
tests/test_heartbeat_coalesce.py::TestHeartbeatEventPayload::test_event_contains_coalesce_threshold[real]
tests/test_heartbeat_coalesce.py::TestHeartbeatEventPayload::test_event_contains_coalesce_threshold[in_memory]
tests/test_hook_consumer.py::TestHookConsumerLifecycle::test_start_and_stop_hook_consumer
tests/test_hook_consumer.py::TestHookConsumerLifecycle::test_start_idempotent
tests/test_hook_consumer.py::TestHookConsumerLifecycle::test_stop_idempotent
tests/test_hook_consumer.py::TestBC227ProcessingFlagReset::test_processing_false_after_connect_exhaustion
tests/test_hook_consumer.py::TestBC227ProcessingFlagReset::test_processing_false_after_stop_during_connect_loop
tests/test_hook_consumer.py::TestWI203ConnectedFlag::test_is_running_false_after_connect_exhaustion
tests/test_hook_consumer.py::TestWI203ConnectedFlag::test_is_running_false_during_connection_loss
tests/test_hook_consumer.py::TestWI203ConnectedFlag::test_is_running_false_during_reconnect_attempt
tests/test_hook_consumer.py::TestHookConsumerDelivery::test_consumer_polls_hooks_after_start
tests/test_hook_miss_recovery.py::TestHookMissRecovery::test_read_events_since_returns_events_after_cursor
tests/test_hook_miss_recovery.py::TestHookMissRecovery::test_read_events_since_with_no_new_events
tests/test_hook_miss_recovery.py::TestHookMissRecovery::test_read_events_since_pagination
tests/test_hook_primitives.py::TestHookClaimCompleteRoundTrip::test_hook_claim_complete_round_trip
tests/test_hook_primitives.py::TestHookClaimSkipLocked::test_hook_claim_skip_locked
tests/test_hook_primitives.py::TestHookFailRetriesThenDeadLetters::test_hook_fail_retries_then_dead_letters
tests/test_hook_primitives.py::TestHookLeaseExpiryRequeues::test_hook_lease_expiry_requeues
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_complete_rejects_wrong_actor
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_complete_works_with_matching_actor
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_complete_backward_compat_no_actor_id
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_fail_rejects_wrong_actor
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_fail_works_with_matching_actor
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_fail_backward_compat_no_actor_id
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_sweep_clears_claimed_by
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_claim_without_actor_id_backward_compat
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_claim_without_actor_id_rejects_actor_id_complete
tests/test_hook_toctou.py::TestInMemoryHookOwnership::test_toctou_scenario_wrong_actor_after_steal
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_complete_rejects_wrong_actor
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_complete_works_with_matching_actor
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_complete_backward_compat_no_actor_id
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_fail_rejects_wrong_actor
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_fail_works_with_matching_actor
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_fail_backward_compat_no_actor_id
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_claimed_by_column_populated
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_sweep_clears_claimed_by
tests/test_hook_toctou.py::TestPostgresHookOwnership::test_toctou_scenario_wrong_actor_after_steal
tests/test_hook_toctou.py::TestSidecarHookOwnership::test_complete_rejects_wrong_actor
tests/test_hook_toctou.py::TestSidecarHookOwnership::test_complete_works_with_matching_actor
tests/test_hook_toctou.py::TestSidecarHookOwnership::test_fail_rejects_wrong_actor
tests/test_idempotency.py::TestAC24IdempotencyMismatch::test_same_event_id_different_transition_rejected
tests/test_idempotency.py::TestAC24IdempotencyMismatch::test_same_event_id_different_actor_rejected
tests/test_idempotency.py::TestAC24IdempotencyMismatch::test_idempotent_retry_returns_original
tests/test_idempotency.py::TestAC25ExpectedEventSeq::test_expected_seq_mismatch_rejected
tests/test_idempotency.py::TestAC25ExpectedEventSeq::test_expected_seq_match_accepted
tests/test_idempotency.py::TestAC25ExpectedEventSeq::test_expected_seq_on_transition
tests/test_in_memory_conformance.py::TestConformanceWorkflow::test_register_and_idempotent[real]
tests/test_in_memory_conformance.py::TestConformanceWorkflow::test_register_and_idempotent[in_memory]
tests/test_in_memory_conformance.py::TestConformanceWorkflow::test_register_version_conflict[real]
tests/test_in_memory_conformance.py::TestConformanceWorkflow::test_register_version_conflict[in_memory]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_and_get[real]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_and_get[in_memory]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_missing_required_field[real]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_missing_required_field[in_memory]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_unknown_type[real]
tests/test_in_memory_conformance.py::TestConformanceWorkItem::test_create_unknown_type[in_memory]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_valid_transition[real]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_valid_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_invalid_transition[real]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_invalid_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_role_not_permitted[real]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_role_not_permitted[in_memory]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_transition_via_append_blocked[real]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_transition_via_append_blocked[in_memory]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_custom_fields_update_on_transition[real]
tests/test_in_memory_conformance.py::TestConformanceTransition::test_custom_fields_update_on_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_by_work_item[real]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_by_work_item[in_memory]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_by_actor[real]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_by_actor[in_memory]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_event_idempotency[real]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_event_idempotency[in_memory]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_composite_work_item_and_transition[real]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_composite_work_item_and_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_composite_actor_and_transition[real]
tests/test_in_memory_conformance.py::TestConformanceEvents::test_read_events_composite_actor_and_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_acquire_and_release[real]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_acquire_and_release[in_memory]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_claim_contested[real]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_claim_contested[in_memory]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_heartbeat[real]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_heartbeat[in_memory]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_claim_releases_on_transition[real]
tests/test_in_memory_conformance.py::TestConformanceClaims::test_claim_releases_on_transition[in_memory]
tests/test_in_memory_conformance.py::TestConformanceLinks::test_create_and_query[real]
tests/test_in_memory_conformance.py::TestConformanceLinks::test_create_and_query[in_memory]
tests/test_in_memory_conformance.py::TestConformanceActorRoles::test_register_and_enforce[real]
tests/test_in_memory_conformance.py::TestConformanceActorRoles::test_register_and_enforce[in_memory]
tests/test_in_memory_conformance.py::TestConformanceActorRoles::test_role_rejects_unauthorized[real]
tests/test_in_memory_conformance.py::TestConformanceActorRoles::test_role_rejects_unauthorized[in_memory]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_by_state[real]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_by_state[in_memory]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_by_workflow[real]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_by_workflow[in_memory]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_with_cursor[real]
tests/test_in_memory_conformance.py::TestConformanceQuery::test_query_with_cursor[in_memory]
tests/test_in_memory_conformance.py::TestConformanceReplay::test_replay_no_drift[real]
tests/test_in_memory_conformance.py::TestConformanceReplay::test_replay_no_drift[in_memory]
tests/test_in_memory_conformance.py::TestConformanceReplay::test_replay_no_drift_with_active_claim[real]
tests/test_in_memory_conformance.py::TestConformanceReplay::test_replay_no_drift_with_active_claim[in_memory]
tests/test_in_memory_conformance.py::TestConformanceUpdateNotBefore::test_set_and_clear[real]
tests/test_in_memory_conformance.py::TestConformanceUpdateNotBefore::test_set_and_clear[in_memory]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter[real]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter[in_memory]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter_unknown_key[real]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter_unknown_key[in_memory]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter_nested_json_containment[real]
tests/test_in_memory_conformance.py::TestConformanceCustomFieldFilter::test_custom_field_filter_nested_json_containment[in_memory]
tests/test_in_memory_conformance.py::TestBC189OrphanEventDetection::test_orphan_with_created_event_counts_as_halted
tests/test_in_memory_conformance.py::TestBC189OrphanEventDetection::test_orphan_without_created_event_counts_as_halted
tests/test_in_memory_conformance.py::TestHeartbeatActorKindConformance::test_heartbeat_actor_kind_emitted_real[real]
tests/test_in_memory_conformance.py::TestHeartbeatActorKindConformance::test_heartbeat_actor_kind_emitted_real[in_memory]
tests/test_in_memory_conformance.py::TestHeartbeatActorKindConformance::test_heartbeat_actor_kind_emitted_in_memory_with_keys
tests/test_invariant_probe.py::test_measurements_pass_shape_for_canonical_event
tests/test_invariant_probe.py::test_each_historical_defect_is_measured
tests/test_invariant_probe.py::test_v6_producer_is_measurement_source
tests/test_invariant_probe.py::test_model_observation_uses_observed_lineage_not_actor_metadata
tests/test_invariant_probe.py::test_empty_store_is_measured_without_inventing_coverage
tests/test_invariant_probe.py::test_store_fingerprint_excludes_credentials
tests/test_invariant_probe.py::test_first_write_probe_names_identity_and_blank_field_denials
tests/test_invariant_probe.py::test_report_passes_with_measured_project
tests/test_invariant_probe.py::test_report_names_project_measurement_failure
tests/test_invariant_probe.py::test_cli_json_shape_and_failure_exit
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 6, "producer": {"model": "m", "model_lineage": "qwen"}}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 6, "producer": {"model": "m", "model_lineage": null}}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 6, "producer": {"model": "m", "model_lineage": 42}}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 6, "producer": {"model": "m", "model_lineage": "GLM-5.2"}}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 5, "producer": {"model": "m", "model_lineage": "qwen"}}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{"version": 6, "producer": "not-an-object"}]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[{not json]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[\xff\xfe not utf-8]
tests/test_invariant_probe.py::test_projected_and_raw_envelope_rows_measure_identically[None]
tests/test_invariant_probe.py::test_projection_keys_win_over_a_raw_envelope
tests/test_invariant_probe.py::test_closed_registry_check_measures_the_write_path
tests/test_invariant_probe.py::test_closed_registry_check_fails_when_ingress_admits_a_variant
tests/test_invariant_probe.py::test_closed_registry_check_fails_when_a_canonical_family_is_refused
tests/test_jcs.py::TestJCSFloatBoundary::test_small_float_scientific
tests/test_jcs.py::TestJCSFloatBoundary::test_small_float_decimal
tests/test_jcs.py::TestJCSFloatBoundary::test_large_float_no_scientific
tests/test_jcs.py::TestJCSFloatBoundary::test_large_float_scientific
tests/test_jcs.py::TestJCSFloatBoundary::test_float_precision_preserved
tests/test_jcs.py::TestJCSFloatBoundary::test_integer_one_point_oh_serialized_as_int
tests/test_jcs.py::TestJCSFloatBoundary::test_negative_zero_normalized
tests/test_jcs.py::TestJCSIntegerDomain::test_safe_integer_passes
tests/test_jcs.py::TestJCSIntegerDomain::test_unsafe_integer_raises
tests/test_jcs.py::TestJCSIntegerDomain::test_large_power_raises
tests/test_jcs.py::TestJCSKeyOrdering::test_ascii_keys_sorted
tests/test_jcs.py::TestJCSKeyOrdering::test_supplementary_char_key_utf16_order
tests/test_jcs.py::TestJCSKeyOrdering::test_nested_object_keys_sorted
tests/test_jcs.py::TestJCSDeterminism::test_same_input_same_output
tests/test_jcs.py::TestJCSDeterminism::test_json_round_trip_stable
tests/test_jcs.py::TestJCSNFCNote::test_nfc_nfd_produce_different_bytes
tests/test_jcs.py::TestJCSNFCNote::test_nfc_round_trip_stable
tests/test_key_lifecycle.py::TestUnknownKeyId::test_get_key_rejects_unknown
tests/test_key_lifecycle.py::TestUnknownKeyId::test_active_key_rejects_when_empty
tests/test_key_lifecycle.py::TestUnknownKeyId::test_verify_key_status_rejects_unknown
tests/test_key_lifecycle.py::TestUnknownKeyId::test_load_rejects_missing_file
tests/test_key_lifecycle.py::TestUnknownKeyId::test_load_rejects_invalid_json
tests/test_key_lifecycle.py::TestUnknownKeyId::test_load_rejects_missing_keys_field
tests/test_key_lifecycle.py::TestRevokedKeyId::test_active_key_raises_unknown_when_only_revoked
tests/test_key_lifecycle.py::TestRevokedKeyId::test_verify_key_status_rejects_revoked
tests/test_key_lifecycle.py::TestDeprecatedKeyId::test_verify_key_status_accepts_deprecated
tests/test_key_lifecycle.py::TestDeprecatedKeyId::test_verify_key_status_accepts_active
tests/test_key_lifecycle.py::TestDeprecatedKeyId::test_active_key_prefers_active_over_deprecated
tests/test_key_lifecycle.py::TestDeprecatedKeyId::test_deprecated_key_used_for_signing
tests/test_key_lifecycle.py::TestDeprecatedKeyId::test_replay_accepts_deprecated_key
tests/test_key_lifecycle.py::TestHotReload::test_hot_reload_detects_new_key
tests/test_key_lifecycle.py::TestHotReload::test_hot_reload_revokes_active_key
tests/test_key_lifecycle.py::TestCreateWorkItemKeyId::test_create_pins_key_id
tests/test_key_lifecycle.py::TestCreateWorkItemKeyId::test_create_defaults_to_active_key
tests/test_key_lifecycle.py::TestCreateWorkItemKeyId::test_create_rejects_unknown_key_id
tests/test_key_lifecycle.py::TestCreateWorkItemKeyId::test_facade_create_pins_key_id
tests/test_key_lifecycle.py::TestCreateWorkItemKeyId::test_in_memory_create_pins_key_id
tests/test_lineage.py::TestResolveModelLineage::test_resolves_canonical_var
tests/test_lineage.py::TestResolveModelLineage::test_canonical_takes_precedence
tests/test_lineage.py::TestResolveModelLineage::test_falls_back_through_vars
tests/test_lineage.py::TestResolveModelLineage::test_rejects_whitespace_variant
tests/test_lineage.py::TestResolveModelLineage::test_none_when_unset
tests/test_lineage.py::TestResolveModelLineage::test_none_when_blank
tests/test_lineage.py::TestStampModelLineage::test_stamps_agent_with_resolved_lineage
tests/test_lineage.py::TestStampModelLineage::test_stamps_none_metadata_for_agent
tests/test_lineage.py::TestStampModelLineage::test_never_overwrites_declared_lineage
tests/test_lineage.py::TestStampModelLineage::test_passthrough_when_no_lineage_resolvable
tests/test_lineage.py::TestStampModelLineage::test_non_agent_is_untouched
tests/test_lineage.py::TestStampModelLineage::test_does_not_mutate_input
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_service_identity_created_event_not_flagged
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_service_identity_with_metadata_not_flagged
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_claim_acquired_carries_claimant_lineage
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_genuine_undeclared_model_agent_still_flagged
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_unknown_agent_kind_agent_still_flagged
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_spoofed_service_id_with_lineage_is_not_hidden
tests/test_lineage.py::TestDeriveAuthorsServiceIdentityExemption::test_spoofed_service_id_without_lineage_still_exempt
tests/test_lineage.py::TestServiceIdentityDelegationUndeclared::test_undelegated_service_event_not_flagged
tests/test_lineage.py::TestServiceIdentityDelegationUndeclared::test_delegated_undeclared_agent_principal_is_flagged
tests/test_lineage.py::TestServiceIdentityDelegationUndeclared::test_delegated_declared_agent_principal_not_flagged
tests/test_lineage.py::TestServiceIdentityDelegationUndeclared::test_delegated_human_principal_not_flagged
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_ordinary_proxy_undeclared_agent_principal_is_flagged
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_ordinary_proxy_declared_agent_principal_not_flagged
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_ordinary_proxy_human_principal_not_flagged
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_human_proxy_undeclared_agent_principal_is_flagged
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_ordinary_and_service_branches_agree
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_cross_lineage_reviewer_blocked_without_ack
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_cross_lineage_reviewer_passes_with_ack
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_declared_principal_review_passes_without_ack
tests/test_lineage.py::TestOrdinaryDelegationUndeclared::test_end_to_end_delegated_undeclared_principal_blocks_review
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_principal_lineage_is_undeclared[   ]
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_principal_lineage_is_undeclared[]
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_principal_lineage_is_undeclared[\t\n]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_string_principal_lineage_is_undeclared[42]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_string_principal_lineage_is_undeclared[0]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_string_principal_lineage_is_undeclared[True]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_string_principal_lineage_is_undeclared[value3]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_string_principal_lineage_is_undeclared[value4]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_agent_kind_still_flags[Agent]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_agent_kind_still_flags[AGENT]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_agent_kind_still_flags[ agent ]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_agent_kind_still_flags[\tAgent\n]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_human_kind_still_exempt[Human]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_human_kind_still_exempt[HUMAN]
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_human_kind_still_exempt[ human ]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_is_flagged[ai-agent]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_is_flagged[service]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_is_flagged[break_glass]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_is_flagged[robot]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_with_declared_lineage_not_flagged[ai-agent]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_with_declared_lineage_not_flagged[service]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_with_declared_lineage_not_flagged[42]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_with_declared_lineage_not_flagged[  ]
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_blocks_review_without_ack
tests/test_lineage.py::TestDegenerateDelegationValues::test_unrecognised_kind_review_passes_with_ack
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_actor_model_lineage_is_undeclared[   ]
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_actor_model_lineage_is_undeclared[]
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_actor_model_lineage_is_undeclared[\t]
tests/test_lineage.py::TestDegenerateDelegationValues::test_blank_principal_lineage_blocks_review_without_ack
tests/test_lineage.py::TestDegenerateDelegationValues::test_non_canonical_kind_blocks_review_without_ack
tests/test_lineage.py::TestDegenerateDelegationValues::test_service_branch_applies_the_same_rules
tests/test_lineage.py::TestAdversarialReviewAfterServiceIdentityAndClaim::test_cross_lineage_reviewer_passes_without_ack
tests/test_lineage.py::TestAdversarialReviewAfterServiceIdentityAndClaim::test_same_lineage_reviewer_still_blocked
tests/test_lineage.py::TestAdversarialReviewAfterServiceIdentityAndClaim::test_undeclared_reviewer_still_blocked
tests/test_lineage.py::TestClaimLineagePropagationIntegration::test_acquire_claim_propagates_lineage_to_event
tests/test_lineage.py::TestClaimLineagePropagationIntegration::test_claim_without_lineage_still_flags_undeclared
tests/test_lineage.py::TestClaimLineagePropagationIntegration::test_cross_lineage_review_passes_after_claim_with_lineage
tests/test_link_errors.py::TestLinkErrorPaths::test_disallowed_link_type_rejected
tests/test_link_errors.py::TestLinkErrorPaths::test_link_target_not_found_rejected
tests/test_link_errors.py::TestLinkErrorPaths::test_remove_nonexistent_link_rejected
tests/test_link_errors.py::TestLinkErrorPaths::test_link_removed_event_emitted
tests/test_migration_safety.py::TestAdvisoryLockConcurrentBoot::test_concurrent_run_migrations_both_succeed
tests/test_migration_safety.py::TestAdvisoryLockConcurrentBoot::test_migration_lock_id_is_documented_value
tests/test_migration_safety.py::TestChecksumDriftDetection::test_drift_raises_migration_drift
tests/test_migration_safety.py::TestChecksumDriftDetection::test_null_checksum_legacy_row_is_backfilled_not_rejected
tests/test_migrations_021_026.py::TestMigration021WitnessReceiptUniqueness::test_unique_index_exists
tests/test_migrations_021_026.py::TestMigration021WitnessReceiptUniqueness::test_duplicate_receipt_rejected
tests/test_migrations_021_026.py::TestMigration022AdversarialReviewFixes::test_tsp_batches_status_check
tests/test_migrations_021_026.py::TestMigration022AdversarialReviewFixes::test_witness_registrations_status_check
tests/test_migrations_021_026.py::TestMigration022AdversarialReviewFixes::test_witness_receipts_status_check
tests/test_migrations_021_026.py::TestMigration022AdversarialReviewFixes::test_hook_queue_lease_sweep_index
tests/test_migrations_021_026.py::TestMigration023ClaimsExpiresIndex::test_claims_expires_at_index
tests/test_migrations_021_026.py::TestMigration024ArchiveAndWebhooks::test_events_archive_table_exists
tests/test_migrations_021_026.py::TestMigration024ArchiveAndWebhooks::test_events_archive_has_same_columns_as_events
tests/test_migrations_021_026.py::TestMigration024ArchiveAndWebhooks::test_webhook_registrations_table_dropped_by_026
tests/test_migrations_021_026.py::TestMigration027ArchiveSequenceFix::test_archive_global_seq_not_shared_with_events
tests/test_migrations_021_026.py::TestMigration027ArchiveSequenceFix::test_archive_has_event_id_index
tests/test_migrations_021_026.py::TestMigration027ArchiveSequenceFix::test_archive_has_work_item_id_index
tests/test_migrations_021_026.py::TestMigration027ArchiveSequenceFix::test_archive_has_timestamp_index
tests/test_migrations_021_026.py::TestMigration025WebhookSignSecret::test_sign_secret_column_on_witness_registrations
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_mode_column_exists
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_mode_check_constraint
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_mode_default_is_witness
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_witness_status_constraint_excludes_failed
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_witness_receipts_status_constraint_excludes_failed
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_mode_index_exists
tests/test_migrations_021_026.py::TestMigration026WebhookWitnessUnification::test_register_witness_with_mode
tests/test_migrations_021_026.py::TestMigration029WorkItemsArchive::test_work_items_archive_table_exists
tests/test_migrations_021_026.py::TestMigration029WorkItemsArchive::test_work_items_archive_has_same_columns_as_current
tests/test_migrations_021_026.py::TestMigration029WorkItemsArchive::test_work_items_archive_has_pkey
tests/test_payload_encryption.py::TestEncryptionSchemeRegistry::test_aes256gcm_registered
tests/test_payload_encryption.py::TestEncryptionSchemeRegistry::test_get_scheme_returns_instance
tests/test_payload_encryption.py::TestEncryptionSchemeRegistry::test_unknown_scheme_raises
tests/test_payload_encryption.py::TestEncryptionSchemeRegistry::test_register_and_unregister_custom_scheme
tests/test_payload_encryption.py::TestEncryptionSchemeRegistry::test_overwrite_warns
tests/test_payload_encryption.py::TestAES256GCMScheme::test_encrypt_decrypt_roundtrip
tests/test_payload_encryption.py::TestAES256GCMScheme::test_encrypt_produces_different_nonces
tests/test_payload_encryption.py::TestAES256GCMScheme::test_decrypt_with_wrong_key_fails
tests/test_payload_encryption.py::TestAES256GCMScheme::test_decrypt_tampered_ciphertext_fails
tests/test_payload_encryption.py::TestAES256GCMScheme::test_decrypt_tampered_nonce_fails
tests/test_payload_encryption.py::TestAES256GCMScheme::test_wrong_key_length_raises
tests/test_payload_encryption.py::TestAES256GCMScheme::test_nonce_is_12_bytes
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_single_field
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_multiple_fields
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_dict_value
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_list_value
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_nonexistent_field_skips
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_already_encrypted_field_skips
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_does_not_mutate_original
tests/test_payload_encryption.py::TestEncryptFields::test_encrypt_with_custom_scheme_id
tests/test_payload_encryption.py::TestEncryptFields::test_digest_is_sha256_of_plaintext
tests/test_payload_encryption.py::TestEncryptFields::test_digest_stored_outside_ciphertext
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_roundtrip
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_with_wrong_key_fails
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_unencrypted_field_passes_through
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_none_payload
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_with_key_resolver
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_preserves_unencrypted_fields
tests/test_payload_encryption.py::TestDecryptFields::test_decrypt_does_not_mutate_original
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_field_true
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_field_false_for_plain
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_field_false_for_missing_fields
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_field_false_for_encrypted_false
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_payload_true
tests/test_payload_encryption.py::TestIsEncrypted::test_is_encrypted_payload_false
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_with_key_succeeds
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_without_key_reports_not_decrypted
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_with_wrong_key_reports_decryption_error
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_digest_mismatch
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_mixed_encrypted_and_plain
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_no_encrypted_fields_returns_empty
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_verify_with_key_resolver
tests/test_payload_encryption.py::TestVerifyEncryptedIntegrity::test_field_verification_result_to_dict
tests/test_payload_encryption.py::TestStatusLabel::test_verified
tests/test_payload_encryption.py::TestStatusLabel::test_not_decrypted
tests/test_payload_encryption.py::TestStatusLabel::test_digest_mismatch
tests/test_payload_encryption.py::TestStatusLabel::test_decryption_error
tests/test_payload_encryption.py::TestStatusLabel::test_unknown_raises_assert_never
tests/test_payload_encryption.py::TestStripEncryptedFields::test_strip_removes_ciphertext_and_nonce
tests/test_payload_encryption.py::TestStripEncryptedFields::test_strip_none_returns_none
tests/test_payload_encryption.py::TestStripEncryptedFields::test_strip_unencrypted_unchanged
tests/test_payload_encryption.py::TestBackwardCompatibility::test_unencrypted_payload_reads_as_is
tests/test_payload_encryption.py::TestBackwardCompatibility::test_old_event_still_verifies
tests/test_payload_encryption.py::TestBackwardCompatibility::test_encrypted_event_verifies_with_ciphertext_payload
tests/test_payload_encryption.py::TestBackwardCompatibility::test_encrypted_event_fails_verification_if_payload_tampered
tests/test_payload_encryption.py::TestKeyCustodyViaSecretBackend::test_encrypt_with_env_ref
tests/test_payload_encryption.py::TestKeyCustodyViaSecretBackend::test_encrypt_with_literal_ref
tests/test_payload_encryption.py::TestKeyCustodyViaSecretBackend::test_encrypt_with_file_ref
tests/test_payload_encryption.py::TestKeyCustodyViaSecretBackend::test_decrypt_with_key_resolver_multi_key
tests/test_payload_encryption.py::TestEncryptedFieldStructure::test_structure_has_all_required_fields
tests/test_payload_encryption.py::TestEncryptedFieldStructure::test_base64_decodable
tests/test_payload_encryption.py::TestEncryptedFieldStructure::test_digest_outside_encrypted_subtree
tests/test_payload_encryption.py::TestVersionInfoIntegration::test_versions_includes_encryption_schemes
tests/test_phase2.py::TestEscalation::test_no_escalation_below_threshold
tests/test_phase2.py::TestEscalation::test_escalation_at_threshold
tests/test_phase2.py::TestEscalation::test_escalation_idempotent
tests/test_phase2.py::TestValidators::test_validator_success
tests/test_phase2.py::TestValidators::test_validator_failure_rolls_back
tests/test_phase2.py::TestValidators::test_validator_not_registered_fails_closed
tests/test_phase2.py::TestAsyncHooks::test_hook_enqueued_on_transition
tests/test_phase2.py::TestAsyncHooks::test_hook_consumed_and_completed
tests/test_phase2.py::TestAsyncHooks::test_hook_retry_on_failure
tests/test_phase2.py::TestAsyncHooks::test_hook_dead_lettered_after_max_retries
tests/test_phase2.py::TestDeadLetterRequeue::test_requeue_dead_lettered_hook
tests/test_phase2.py::TestDeadLetterRequeue::test_requeue_nonexistent_fails
tests/test_phase2.py::TestValidateActorMetadata::test_null_metadata
tests/test_phase2.py::TestValidateActorMetadata::test_missing_recommended_fields
tests/test_phase2.py::TestValidateActorMetadata::test_invalid_role_source
tests/test_phase2.py::TestValidateActorMetadata::test_schema_validation
tests/test_phase2.py::TestValidateActorMetadata::test_clean_metadata_no_issues
tests/test_phase3.py::TestActorRoles::test_register_and_list_roles
tests/test_phase3.py::TestActorRoles::test_register_duplicate_role_is_idempotent
tests/test_phase3.py::TestActorRoles::test_unregister_role
tests/test_phase3.py::TestActorRoles::test_unregister_nonexistent_role_raises
tests/test_phase3.py::TestActorRoles::test_list_all_roles
tests/test_phase3.py::TestActorRoles::test_role_enforcement_rejects_unauthorized
tests/test_phase3.py::TestActorRoles::test_role_enforcement_allows_authorized
tests/test_phase3.py::TestActorRoles::test_no_registered_roles_trusts_claim
tests/test_phase3.py::TestActorRoles::test_role_enforcement_detail_in_error
tests/test_phase3.py::TestActorRoles::test_register_actor_role_rejects_overlong_actor_id
tests/test_phase3.py::TestActorRoles::test_unregister_actor_role_rejects_overlong_actor_id
tests/test_phase3.py::TestContinueOnRevokedReplay::test_replay_halts_on_revoked_without_flag
tests/test_phase3.py::TestContinueOnRevokedReplay::test_replay_continues_on_revoked_with_flag
tests/test_phase3.py::TestContinueOnRevokedReplay::test_replay_revoked_key_with_wrong_secret_halts
tests/test_phase3.py::TestContinueOnRevokedReplay::test_replay_unknown_key_with_continue_on_revoked_skips
tests/test_phase3.py::TestContinueOnRevokedReplay::test_public_replay_api_accepts_flag
tests/test_phase3.py::TestContinueOnRevokedReplay::test_replay_report_warnings_default_zero
tests/test_phase3.py::TestUpdateNotBefore::test_set_not_before
tests/test_phase3.py::TestUpdateNotBefore::test_clear_not_before
tests/test_phase3.py::TestUpdateNotBefore::test_not_before_set_replays_correctly
tests/test_phase3.py::TestUpdateNotBefore::test_not_before_blocks_claim
tests/test_phase3.py::TestUpdateNotBefore::test_not_before_update_event_idempotent
tests/test_phase3.py::TestCustomFieldValidationAtTransition::test_valid_field_update
tests/test_phase3.py::TestCustomFieldValidationAtTransition::test_invalid_enum_value_rejected
tests/test_phase3.py::TestCustomFieldValidationAtTransition::test_unknown_field_rejected
tests/test_phase3.py::TestCustomFieldValidationAtTransition::test_wrong_type_rejected
tests/test_phase3.py::TestCustomFieldValidationAtTransition::test_json_field_accepts_complex
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_workflow_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_work_item_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_event_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_claim_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_link_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_hook_ops_cached
tests/test_plan007_facade.py::TestFacadePropertiesCached::test_recurrence_ops_cached
tests/test_plan007_facade.py::TestWorkflowOpsFacade::test_register_via_facade
tests/test_plan007_facade.py::TestWorkflowOpsFacade::test_get_via_facade
tests/test_plan007_facade.py::TestWorkflowOpsFacade::test_register_file_via_facade
tests/test_plan007_facade.py::TestWorkItemOpsFacade::test_create_via_facade
tests/test_plan007_facade.py::TestWorkItemOpsFacade::test_get_via_facade
tests/test_plan007_facade.py::TestWorkItemOpsFacade::test_query_via_facade
tests/test_plan007_facade.py::TestWorkItemOpsFacade::test_update_not_before_via_facade
tests/test_plan007_facade.py::TestEventOpsFacade::test_append_via_facade
tests/test_plan007_facade.py::TestEventOpsFacade::test_read_via_facade
tests/test_plan007_facade.py::TestEventOpsFacade::test_read_since_via_facade
tests/test_plan007_facade.py::TestClaimOpsFacade::test_acquire_via_facade
tests/test_plan007_facade.py::TestClaimOpsFacade::test_heartbeat_via_facade
tests/test_plan007_facade.py::TestClaimOpsFacade::test_release_via_facade
tests/test_plan007_facade.py::TestClaimOpsFacade::test_sweep_expired_via_facade
tests/test_plan007_facade.py::TestLinkOpsFacade::test_create_and_remove_via_facade
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_create_work_item
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_append_event
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_acquire_claim
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_create_link
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_register_workflow
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_query_work_items
tests/test_plan007_facade.py::TestBackwardCompatibility::test_old_read_events
tests/test_plan007_facade.py::TestBackwardCompatibility::test_facade_equals_old_api
tests/test_plan008_ws1.py::TestPostgresStrictRoles::test_default_allows_unregistered_actor
tests/test_plan008_ws1.py::TestPostgresStrictRoles::test_strict_rejects_unregistered_actor
tests/test_plan008_ws1.py::TestPostgresStrictRoles::test_strict_allows_registered_actor
tests/test_plan008_ws1.py::TestPostgresStrictRoles::test_strict_rejects_prompt_role_source
tests/test_plan008_ws1.py::TestInMemoryStrictRoles::test_default_allows_unregistered_actor
tests/test_plan008_ws1.py::TestInMemoryStrictRoles::test_strict_rejects_unregistered_actor
tests/test_plan008_ws1.py::TestInMemoryStrictRoles::test_strict_allows_registered_actor
tests/test_plan008_ws1.py::TestInMemoryStrictRoles::test_strict_rejects_prompt_role_source
tests/test_plan008_ws2.py::TestEnvVarOverridesFile::test_env_var_value_used_over_file
tests/test_plan008_ws2.py::TestFileUsedWhenNoEnvVar::test_file_value_used_when_no_env
tests/test_plan008_ws2.py::TestMixedEnvAndFile::test_some_keys_from_env_some_from_file
tests/test_plan008_ws2.py::TestKeySourceLogging::test_key_sources_distinguishes_env_vs_file
tests/test_plan008_ws2.py::TestCustomEnvPrefix::test_custom_prefix_respected
tests/test_plan008_ws3.py::test_vendored_matches_system[None]
tests/test_plan008_ws3.py::test_vendored_matches_system[True]
tests/test_plan008_ws3.py::test_vendored_matches_system[False]
tests/test_plan008_ws3.py::test_vendored_matches_system[0]
tests/test_plan008_ws3.py::test_vendored_matches_system[1]
tests/test_plan008_ws3.py::test_vendored_matches_system[-1]
tests/test_plan008_ws3.py::test_vendored_matches_system[9007199254740991]
tests/test_plan008_ws3.py::test_vendored_matches_system[-9007199254740991]
tests/test_plan008_ws3.py::test_vendored_matches_system[0.0]
tests/test_plan008_ws3.py::test_vendored_matches_system[1.0]
tests/test_plan008_ws3.py::test_vendored_matches_system[-1.0]
tests/test_plan008_ws3.py::test_vendored_matches_system[0.1]
tests/test_plan008_ws3.py::test_vendored_matches_system[-0.1]
tests/test_plan008_ws3.py::test_vendored_matches_system[10000000000.0]
tests/test_plan008_ws3.py::test_vendored_matches_system[1e-10]
tests/test_plan008_ws3.py::test_vendored_matches_system[1e+100]
tests/test_plan008_ws3.py::test_vendored_matches_system[1e-100]
tests/test_plan008_ws3.py::test_vendored_matches_system[1.7976931348623157e+308]
tests/test_plan008_ws3.py::test_vendored_matches_system[2.2250738585072014e-308]
tests/test_plan008_ws3.py::test_vendored_matches_system[]
tests/test_plan008_ws3.py::test_vendored_matches_system[a]
tests/test_plan008_ws3.py::test_vendored_matches_system[hello world]
tests/test_plan008_ws3.py::test_vendored_matches_system[ ]
tests/test_plan008_ws3.py::test_vendored_matches_system[\n]
tests/test_plan008_ws3.py::test_vendored_matches_system[\t]
tests/test_plan008_ws3.py::test_vendored_matches_system[\r\n]
tests/test_plan008_ws3.py::test_vendored_matches_system["]
tests/test_plan008_ws3.py::test_vendored_matches_system[\\]
tests/test_plan008_ws3.py::test_vendored_matches_system[/]
tests/test_plan008_ws3.py::test_vendored_matches_system[\x00]
tests/test_plan008_ws3.py::test_vendored_matches_system[\x1f]
tests/test_plan008_ws3.py::test_vendored_matches_system[\xe9]
tests/test_plan008_ws3.py::test_vendored_matches_system[\xf1]
tests/test_plan008_ws3.py::test_vendored_matches_system[\xfc]
tests/test_plan008_ws3.py::test_vendored_matches_system[\u2603]
tests/test_plan008_ws3.py::test_vendored_matches_system[\u2764]
tests/test_plan008_ws3.py::test_vendored_matches_system[\U0001f600]
tests/test_plan008_ws3.py::test_vendored_matches_system[\u4e16\u754c]
tests/test_plan008_ws3.py::test_vendored_matches_system[\u3053\u3093\u306b\u3061\u306f]
tests/test_plan008_ws3.py::test_vendored_matches_system[caf\xe9]
tests/test_plan008_ws3.py::test_vendored_matches_system[na\xefve]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj41]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj42]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj43]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj44]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj45]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj46]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj47]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj48]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj49]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj50]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj51]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj52]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj53]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj54]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj55]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj56]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj57]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj58]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj59]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj60]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj61]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj62]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj63]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj64]
tests/test_plan008_ws3.py::test_vendored_matches_system[obj65]
tests/test_plan008_ws3.py::test_error_cases_match[nan]
tests/test_plan008_ws3.py::test_error_cases_match[inf]
tests/test_plan008_ws3.py::test_error_cases_match[-inf]
tests/test_plan008_ws3.py::test_error_cases_match[9007199254740992]
tests/test_plan008_ws3.py::test_error_cases_match[-9007199254740993]
tests/test_plan008_ws3.py::test_unsupported_type_match
tests/test_plan008_ws3.py::test_exported_names
tests/test_plan008_ws5.py::TestKeySetLoadBaseline::test_loads_standard_keys
tests/test_plan008_ws5.py::TestKeySetUnknownStatus::test_raises_on_unknown_status
tests/test_plan008_ws5.py::TestKeySetExpectedCount::test_raises_on_count_mismatch
tests/test_plan008_ws5.py::TestKeySetExpectedCount::test_default_none_does_not_raise
tests/test_plan008_ws5.py::TestKeySetExpectedCount::test_matching_count_does_not_raise
tests/test_plan009.py::TestMaintenanceStartStop::test_start_stop
tests/test_plan009.py::TestMaintenanceStartStop::test_close_stops_maintenance
tests/test_plan009.py::TestMaintenanceStartStop::test_maintenance_healthy_reflects_state
tests/test_plan009.py::TestMaintenanceSweeps::test_sweeps_expired_claims
tests/test_plan009.py::TestMaintenanceResilience::test_error_does_not_kill_thread
tests/test_plan009.py::TestMaintenanceHookLeaseSweep::test_sweeps_expired_hook_leases
tests/test_plan009.py::TestMaintenanceRecurrenceFiring::test_fires_due_recurrence
tests/test_plan009.py::TestMaintenanceWitnessReceiptSweep::test_sweeps_stuck_in_progress_receipts
tests/test_plan009.py::TestMaintenanceWitnessReceiptSweep::test_sweeps_stuck_receipts_from_maintenance
tests/test_plan009.py::TestMaintenanceTimestampBatchSweep::test_sweeps_stale_pending_batches
tests/test_plan009.py::TestMaintenanceTimestampBatchSweep::test_does_not_sweep_recent_pending
tests/test_plan009.py::TestMaintenanceMetricsRefresh::test_refresh_hook_queue_metrics
tests/test_plan010.py::TestDelegationChainValidation::test_none_is_no_op
tests/test_plan010.py::TestDelegationChainValidation::test_valid_minimal
tests/test_plan010.py::TestDelegationChainValidation::test_valid_with_scope
tests/test_plan010.py::TestDelegationChainValidation::test_valid_with_authenticated_at
tests/test_plan010.py::TestDelegationChainValidation::test_valid_with_session_id
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_empty_session_id
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_non_dict
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_missing_principal_id
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_empty_principal_id
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_non_string_principal_id
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_non_list_scope
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_non_string_scope_items
tests/test_plan010.py::TestDelegationChainValidation::test_rejects_non_string_authenticated_at
tests/test_plan010.py::TestDelegationChainValidation::test_null_scope_is_allowed
tests/test_plan010.py::TestDelegationChainValidation::test_null_authenticated_at_is_allowed
tests/test_plan010.py::TestSigningEnvelope::test_build_signing_envelope_includes_on_behalf_of
tests/test_plan010.py::TestSigningEnvelope::test_build_signing_envelope_with_none
tests/test_plan010.py::TestSigningEnvelope::test_sign_verify_round_trip_with_on_behalf_of
tests/test_plan010.py::TestSigningEnvelope::test_sign_with_on_behalf_of_verify_without_fails
tests/test_plan010.py::TestSigningEnvelope::test_backward_compat_old_event_verifies
tests/test_plan010.py::TestSigningEnvelope::test_tamper_detection_wrong_on_behalf_of
tests/test_plan010.py::TestSigningEnvelope::test_stored_envelope_does_not_excuse_a_rewritten_on_behalf_of
tests/test_plan010_integration.py::TestPostgresAppendEventOnBehalfOf::test_append_event_with_on_behalf_of
tests/test_plan010_integration.py::TestPostgresAppendEventOnBehalfOf::test_append_event_without_on_behalf_of_is_none
tests/test_plan010_integration.py::TestPostgresAppendEventOnBehalfOf::test_append_event_round_trips_via_read
tests/test_plan010_integration.py::TestPostgresTransitionOnBehalfOf::test_transition_with_on_behalf_of
tests/test_plan010_integration.py::TestPostgresTransitionOnBehalfOf::test_transition_rejects_invalid_on_behalf_of
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_append_event_with_on_behalf_of
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_transition_with_on_behalf_of
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_reads_return_on_behalf_of
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_replay_with_on_behalf_of_no_drift
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_replay_signature_still_verifies
tests/test_plan010_integration.py::TestInMemoryRegistaOnBehalfOf::test_append_event_rejects_nan_in_on_behalf_of
tests/test_plan016.py::TestContractPrivilegedTransition::test_system_actor_passes
tests/test_plan016.py::TestContractPrivilegedTransition::test_agent_actor_rejected
tests/test_plan016.py::TestContractPrivilegedTransition::test_human_actor_rejected
tests/test_plan016.py::TestContractPrivilegedTransition::test_non_privileged_transition_allows_any_actor
tests/test_plan016.py::TestContractPrivilegedTransition::test_missing_privileged_key_defaults_false
tests/test_plan016.py::TestTransitionDefPrivileged::test_default_privileged_false
tests/test_plan016.py::TestTransitionDefPrivileged::test_privileged_true
tests/test_plan016.py::TestTransitionDefPrivileged::test_to_dict_includes_privileged_when_true
tests/test_plan016.py::TestTransitionDefPrivileged::test_to_dict_omits_privileged_when_false
tests/test_plan016.py::TestTransitionDefPrivileged::test_from_dict_with_privileged
tests/test_plan016.py::TestTransitionDefPrivileged::test_from_dict_without_privileged
tests/test_plan016.py::TestWorkflowSchemaPrivileged::test_privileged_workflow_validates
tests/test_plan016.py::TestWorkflowSchemaPrivileged::test_privileged_rejects_non_boolean
tests/test_plan016.py::TestPostgresPrivilegedTransition::test_system_actor_can_transition
tests/test_plan016.py::TestPostgresPrivilegedTransition::test_agent_actor_rejected
tests/test_plan016.py::TestPostgresPrivilegedTransition::test_non_privileged_transition_works_normally
tests/test_plan016.py::TestInMemoryPrivilegedTransition::test_system_actor_can_transition
tests/test_plan016.py::TestInMemoryPrivilegedTransition::test_agent_actor_rejected
tests/test_plan022.py::TestV4EnvelopeConstruction::test_v4_envelope_contains_entity_fields
tests/test_plan022.py::TestV4EnvelopeConstruction::test_v4_envelope_no_work_item_id
tests/test_plan022.py::TestV4EnvelopeConstruction::test_v4_envelope_includes_prev_event_hash
tests/test_plan022.py::TestClassifyEnvelopeVersion::test_classify_v4
tests/test_plan022.py::TestClassifyEnvelopeVersion::test_classify_v4_with_prev_hash
tests/test_plan022.py::TestClassifyEnvelopeVersion::test_classify_v3_still_works
tests/test_plan022.py::TestSignAndVerifyV4::test_sign_event_produces_v4_envelope
tests/test_plan022.py::TestSignAndVerifyV4::test_verify_v4_event
tests/test_plan022.py::TestSignAndVerifyV4::test_verify_v4_with_prev_hash
tests/test_plan022.py::TestSignAndVerifyV4::test_verify_rejects_tampered_v4
tests/test_plan022.py::TestBackwardCompatVerification::test_v3_event_verifies_with_v4_verify
tests/test_plan022.py::TestBackwardCompatVerification::test_v4_chained_event_rejects_v3_downgrade
tests/test_plan022.py::TestBackwardCompatVerification::test_v4_chained_event_rejects_bare_downgrade
tests/test_plan022.py::TestBackwardCompatVerification::test_v2_event_verifies_with_v4_verify
tests/test_plan022.py::TestEventDataclass::test_event_defaults_entity_kind_work_item
tests/test_plan022.py::TestEventDataclass::test_event_effective_entity_id
tests/test_plan022.py::TestEventDataclass::test_event_to_dict_includes_entity_fields
tests/test_plan022.py::TestEventDataclass::test_event_from_dict_roundtrip
tests/test_plan022.py::TestIntegrationEntityFields::test_created_event_has_entity_columns
tests/test_plan022.py::TestIntegrationEntityFields::test_transition_event_has_entity_columns
tests/test_plan022.py::TestIntegrationEntityFields::test_read_events_returns_entity_fields
tests/test_plan022.py::TestIntegrationEntityFields::test_replay_verifies_v4_events
tests/test_plan022.py::TestIntegrationEntityFields::test_claim_events_have_entity_fields
tests/test_plan022.py::TestIntegrationEntityFields::test_db_entity_columns_populated
tests/test_plan022.py::TestIntegrationEntityFields::test_unique_constraint_on_entity
tests/test_plan022.py::TestInMemoryEntityFields::test_in_memory_event_has_entity_fields
tests/test_plan022.py::TestInMemoryEntityFields::test_in_memory_replay_verifies_v4
tests/test_plan022.py::TestRegistryDrivenSchemeResolution::test_unregistered_scheme_rejected_at_key_load
tests/test_plan022.py::TestRegistryDrivenSchemeResolution::test_registered_scheme_accepted_at_key_load
tests/test_plan022.py::TestRegistryDrivenSchemeResolution::test_available_schemes_lists_registered
tests/test_plan022.py::TestHashAlgAgility::test_resolve_hash_function_sha256
tests/test_plan022.py::TestHashAlgAgility::test_resolve_hash_function_sha384
tests/test_plan022.py::TestHashAlgAgility::test_resolve_hash_function_unknown_raises
tests/test_plan022.py::TestHashAlgAgility::test_sign_with_sha384
tests/test_plan022.py::TestHashAlgAgility::test_sign_with_sha384_rejects_sha256_verification
tests/test_plan022.py::TestHybridSchemeSeam::test_hybrid_scheme_signs_and_verifies
tests/test_plan022.py::TestHybridSchemeSeam::test_hybrid_scheme_through_sign_event
tests/test_plan022.py::TestSizeAudit::test_signature_column_is_bytea
tests/test_plan022.py::TestSizeAudit::test_no_index_on_signature_column
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_create
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_with_content_hash
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_with_target_entity_kind
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_rejects_undeclared_link_type
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_remove
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_does_not_lookup_target
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_replay
tests/test_plan022.py::TestCrossProjectValueReferences::test_intra_project_link_still_works
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_link_target_not_needed_for_remove
tests/test_plan022.py::TestCrossProjectValueReferences::test_multiple_cross_project_links_same_target_distinct
tests/test_plan022.py::TestCrossProjectValueReferences::test_cross_project_remove_wrong_project_raises
tests/test_plan022.py::TestCrossProjectValueReferences::test_empty_target_project_rejected
tests/test_plan022.py::TestInMemoryCrossProjectValueReferences::test_in_memory_cross_project_link_create
tests/test_plan022.py::TestInMemoryCrossProjectValueReferences::test_in_memory_cross_project_link_remove
tests/test_plan022.py::TestInMemoryCrossProjectValueReferences::test_in_memory_cross_project_replay
tests/test_plan022.py::TestLinkDataclassCrossProject::test_link_to_dict_includes_cross_project_fields
tests/test_plan022.py::TestLinkDataclassCrossProject::test_link_from_dict_roundtrip_cross_project
tests/test_plan022.py::TestLinkDataclassCrossProject::test_link_to_dict_omits_cross_project_when_none
tests/test_plan022.py::TestContentHashValidation::test_oversized_content_hash_rejected
tests/test_plan022.py::TestContentHashValidation::test_max_length_content_hash_accepted
tests/test_plan022.py::TestContentHashValidation::test_null_byte_in_content_hash_rejected
tests/test_plan022.py::TestContentHashValidation::test_none_content_hash_accepted
tests/test_plan022.py::TestContentHashValidation::test_normal_content_hash_accepted
tests/test_plan022.py::TestContentHashValidation::test_in_memory_oversized_content_hash_rejected
tests/test_plan022.py::TestContentHashValidation::test_empty_string_content_hash_accepted
tests/test_plan022.py::TestContentHashValidation::test_in_memory_max_length_content_hash_accepted
tests/test_plan022.py::TestContentHashValidation::test_in_memory_null_byte_content_hash_rejected
tests/test_plan022_p3.py::TestPerPrincipalEd25519Signing::test_two_principals_sign_with_different_keys
tests/test_plan022_p3.py::TestPerPrincipalEd25519Signing::test_explicit_key_id_overrides_principal_resolution
tests/test_plan022_p3.py::TestPerPrincipalEd25519Signing::test_postgres_per_principal_signing
tests/test_plan022_p3.py::TestPerPrincipalEd25519Signing::test_replay_verifies_per_principal_events
tests/test_plan022_p3.py::TestIndependentVerification::test_verify_with_exported_public_key_in_memory
tests/test_plan022_p3.py::TestIndependentVerification::test_verify_with_exported_public_key_postgres
tests/test_plan022_p3.py::TestIndependentVerification::test_standalone_verify_without_keyset
tests/test_plan022_p3.py::TestIndependentVerification::test_export_public_keys_excludes_hmac
tests/test_plan022_p3.py::TestIndependentVerification::test_export_public_keys_includes_revoked
tests/test_plan022_p3.py::TestIndependentVerification::test_verify_without_canonical_envelope_postgres
tests/test_plan022_p3.py::TestStrictAsymmetric::test_rejects_hmac_fallback
tests/test_plan022_p3.py::TestStrictAsymmetric::test_rejects_ed25519_without_principal_binding
tests/test_plan022_p3.py::TestStrictAsymmetric::test_rejects_ed25519_with_wrong_principal
tests/test_plan022_p3.py::TestStrictAsymmetric::test_accepts_matching_principal_ed25519
tests/test_plan022_p3.py::TestStrictAsymmetric::test_rejects_explicit_hmac_key_in_strict_mode
tests/test_plan022_p3.py::TestStrictAsymmetric::test_rejects_explicit_ed25519_wrong_principal
tests/test_plan022_p3.py::TestStrictAsymmetric::test_strict_asymmetric_end_to_end_in_memory
tests/test_plan022_p3.py::TestStrictAsymmetric::test_strict_asymmetric_rejects_unbound_actor_in_memory
tests/test_plan022_p3.py::TestStrictAsymmetric::test_strict_asymmetric_postgres
tests/test_plan022_p3.py::TestStrictAsymmetric::test_strict_asymmetric_disabled_by_default
tests/test_plan022_p3.py::TestRevocation::test_revoked_key_prevents_new_signing
tests/test_plan022_p3.py::TestRevocation::test_revoked_key_still_verifies_in_replay
tests/test_plan022_p3.py::TestRevocation::test_replay_continue_on_revoked
tests/test_plan022_p3.py::TestPostgresFullLifecycle::test_full_lifecycle_strict_asymmetric
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_excludes_review_verdicts
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_excludes_comments
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_agent_kinds_and_lineages
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_undeclared_agent_lineage
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_on_behalf_of_principal_inclusion
tests/test_plan023_review_validators.py::TestDeriveAuthors::test_principal_lineage_defensive_read
tests/test_plan023_review_validators.py::TestAdversarialReview::test_request_changes_does_not_require_independent_lineage
tests/test_plan023_review_validators.py::TestAdversarialReview::test_request_changes_still_requires_a_review_note
tests/test_plan023_review_validators.py::TestAdversarialReview::test_finding_only_must_be_boolean
tests/test_plan023_review_validators.py::TestAdversarialReview::test_finding_only_cannot_weaken_a_positive_verdict
tests/test_plan023_review_validators.py::TestAdversarialReview::test_custom_request_changes_does_not_bypass_independence
tests/test_plan023_review_validators.py::TestAdversarialReview::test_persisted_canonical_request_changes_uses_finding_semantics[1]
tests/test_plan023_review_validators.py::TestAdversarialReview::test_persisted_canonical_request_changes_uses_finding_semantics[2]
tests/test_plan023_review_validators.py::TestAdversarialReview::test_same_lineage_no_ack_rejected
tests/test_plan023_review_validators.py::TestAdversarialReview::test_same_lineage_with_ack_passes
tests/test_plan023_review_validators.py::TestAdversarialReview::test_undeclared_reviewer_lineage_fail_closed
tests/test_plan023_review_validators.py::TestAdversarialReview::test_undeclared_reviewer_lineage_ack_passes
tests/test_plan023_review_validators.py::TestAdversarialReview::test_undeclared_author_lineage_fail_closed
tests/test_plan023_review_validators.py::TestAdversarialReview::test_cross_lineage_agent_passes
tests/test_plan023_review_validators.py::TestAdversarialReview::test_human_reviewer_of_agent_work_passes
tests/test_plan023_review_validators.py::TestAdversarialReview::test_review_note_required
tests/test_plan023_review_validators.py::TestAdversarialReview::test_review_note_missing_entirely
tests/test_plan023_review_validators.py::TestAdversarialReview::test_ack_must_be_exact_true
tests/test_plan023_review_validators.py::TestAdversarialReview::test_agent_reviewer_of_all_human_authors_no_ack
tests/test_plan023_review_validators.py::TestAdversarialReview::test_actor_metadata_none_passes_for_human
tests/test_plan023_review_validators.py::TestAdversarialReview::test_direct_self_review_rejected
tests/test_plan023_review_validators.py::TestAdversarialReview::test_delegation_self_review_rejected
tests/test_plan023_review_validators.py::TestAdversarialReview::test_whitespace_review_note_rejected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_delegated_principal_same_lineage_blocked_without_ack
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_delegated_principal_same_lineage_with_ack_passes
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_delegated_principal_cross_lineage_passes_without_ack
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_undeclared_delegated_principal_blocked
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_same_lineage_proxy_blocked_despite_distinct_principal
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_undeclared_proxy_with_distinct_principal_blocked
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_principal_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_delegation_without_principal_kind_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_rejection_detail_reports_the_effective_relation
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_blank_principal_lineage_blocked[   ]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_blank_principal_lineage_blocked[]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_blank_principal_lineage_blocked[\t\n]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_string_principal_lineage_blocked[42]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_string_principal_lineage_blocked[0]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_string_principal_lineage_blocked[True]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_string_principal_lineage_blocked[value3]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_canonical_agent_kind_still_compared[Agent]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_canonical_agent_kind_still_compared[AGENT]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_canonical_agent_kind_still_compared[ agent ]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_canonical_agent_kind_does_not_over_block
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_unrecognised_principal_kind_is_unknown[ai-agent]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_unrecognised_principal_kind_is_unknown[model]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_unrecognised_principal_kind_is_unknown[  ]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_unrecognised_principal_kind_is_unknown[42]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_non_canonical_human_kind_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_blank_proxy_lineage_blocked[   ]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_blank_proxy_lineage_blocked[]
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_collision_reported_as_same_even_when_principal_undeclared
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_same_lineage_agent_principal_blocked
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_same_lineage_agent_principal_passes_with_ack
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_undeclared_agent_principal_blocked
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_opaque_principal_blocked
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_distinct_agent_principal_passes
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_for_human_principal_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_human_proxy_with_bare_delegation_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_undelegated_human_reviewer_unaffected
tests/test_plan023_review_validators.py::TestReviewerDelegationLineage::test_end_to_end_delegated_same_lineage_review_blocked
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_rejects_agent_actor
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_human_not_author_passes
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_human_author_rejected
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_review_note_required
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_rejects_accepter_equal_to_adversarial_passer
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_delegated_self_review_rejected
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_reject_transition_no_two_stage_check
tests/test_plan023_review_validators.py::TestHumanGateStrict::test_reject_in_strict_mode_rejects_agent
tests/test_plan023_review_validators.py::TestHumanGateRelaxed::test_agent_accept_passes_after_cross_lineage_pass
tests/test_plan023_review_validators.py::TestHumanGateRelaxed::test_author_self_close_passes_after_cross_lineage_pass
tests/test_plan023_review_validators.py::TestHumanGateRelaxed::test_review_note_required
tests/test_plan023_review_validators.py::TestHumanGateRelaxed::test_two_stage_independence_adversarial_passer_cannot_accept
tests/test_plan023_review_validators.py::TestHumanGateRelaxed::test_delegation_aware_two_stage_independence
tests/test_plan023_review_validators.py::TestHumanGateDirectParameter::test_require_human_true_rejects_agent
tests/test_plan023_review_validators.py::TestHumanGateDirectParameter::test_require_human_false_allows_agent
tests/test_plan023_review_validators.py::TestHumanGateDirectParameter::test_default_require_human_allows_agent
tests/test_plan023_review_validators.py::TestHumanGateBuiltinTypeValidation::test_non_boolean_require_human_fails_closed
tests/test_plan023_review_validators.py::TestHumanGateBuiltinTypeValidation::test_integer_require_human_fails_closed
tests/test_plan023_review_validators.py::TestHumanGateBuiltinTypeValidation::test_no_validator_params_defaults_to_relaxed
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_finding_only_workflow_allows_author_to_request_changes
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_finding_only_workflow_request_changes_still_requires_note
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_agent_self_close_after_cross_lineage_review
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_human_accept_after_agent_review
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_same_lineage_adversarial_review_without_ack_rejected
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_self_review_at_adversarial_review_rejected
tests/test_plan023_review_validators.py::TestRelaxedFlowIntegration::test_adversarial_passer_cannot_accept
tests/test_plan023_review_validators.py::TestStrictFlowIntegration::test_agent_accept_rejected_not_human
tests/test_plan023_review_validators.py::TestStrictFlowIntegration::test_human_accept_after_agent_review
tests/test_plan023_review_validators.py::TestDelegationIntegration::test_agent_on_behalf_of_author_cannot_adversarial_pass
tests/test_plan023_review_validators.py::TestDelegationIntegration::test_agent_on_behalf_of_adversarial_passer_cannot_accept
tests/test_plan023_review_validators.py::TestBuiltinAutoRegistration::test_validators_available_without_explicit_registration
tests/test_plan023_review_validators.py::TestBuiltinAutoRegistration::test_builtin_review_validators_dict_contents
tests/test_plan023_review_validators.py::TestValidatorParamsInYaml::test_strict_workflow_has_require_human_true_on_accept
tests/test_plan023_review_validators.py::TestValidatorParamsInYaml::test_relaxed_workflow_has_no_validator_params_on_accept
tests/test_plan023_review_validators.py::TestFullReviewCycle::test_multi_cycle_independence
tests/test_plan024_global_chain.py::TestPlan024ConcurrentGlobalChain::test_concurrent_transitions_replay_clean
tests/test_plan024_global_chain.py::TestPlan024ConcurrentGlobalChain::test_concurrent_raw_appends_replay_clean
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_hash_walk_detects_orphan
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_hash_walk_no_genesis_reports_orphans
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_unit_detects_cycle
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_unit_detects_fork
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_compact_links_verify_identically_to_full_rows
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_multiple_genesis_verdict_is_order_stable
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_in_memory_replay_walks_chain
tests/test_plan024_global_chain.py::TestPlan024VerifierHashWalk::test_global_seq_matches_chain_order_with_cache1
tests/test_plan024_global_chain.py::TestPlan024GenesisRace::test_concurrent_genesis_single_root
tests/test_principal_keys.py::TestRegisterPrincipalKey::test_register_returns_entry
tests/test_principal_keys.py::TestRegisterPrincipalKey::test_register_idempotent_same_key_id
tests/test_principal_keys.py::TestRegisterPrincipalKey::test_register_new_key_supersedes_old
tests/test_principal_keys.py::TestRegisterPrincipalKey::test_register_empty_principal_raises
tests/test_principal_keys.py::TestRegisterPrincipalKey::test_register_empty_pubkey_raises
tests/test_principal_keys.py::TestListPrincipalKeys::test_list_all
tests/test_principal_keys.py::TestListPrincipalKeys::test_list_by_principal
tests/test_principal_keys.py::TestListPrincipalKeys::test_list_by_status
tests/test_principal_keys.py::TestGetActiveKey::test_returns_active_key
tests/test_principal_keys.py::TestGetActiveKey::test_raises_when_no_active_key
tests/test_principal_keys.py::TestRotatePrincipalKey::test_rotation_supersedes_old
tests/test_principal_keys.py::TestRotatePrincipalKey::test_rotation_keeps_old_key_for_history
tests/test_principal_keys.py::TestRevokePrincipalKey::test_revoke_sets_status
tests/test_principal_keys.py::TestRevokePrincipalKey::test_revoke_idempotent
tests/test_principal_keys.py::TestRevokePrincipalKey::test_revoke_nonexistent_raises
tests/test_principal_keys.py::TestVerifyPrincipalBinding::test_matching_principal_succeeds
tests/test_principal_keys.py::TestVerifyPrincipalBinding::test_mismatch_raises
tests/test_principal_keys.py::TestFingerprint::test_fingerprint_matches_sha256
tests/test_principal_keys.py::TestToDict::test_to_dict_shape
tests/test_principal_keys.py::TestFacadeAPI::test_register_via_facade
tests/test_principal_keys.py::TestFacadeAPI::test_list_via_facade
tests/test_principal_keys.py::TestFacadeAPI::test_rotate_via_facade
tests/test_principal_keys.py::TestFacadeAPI::test_revoke_via_facade
tests/test_principal_keys.py::TestFacadeAPI::test_verify_binding_via_facade
tests/test_principal_lifecycle_contract.py::test_public_contract_types_are_closed_and_frozen
tests/test_principal_lifecycle_contract.py::test_prepare_enrollment_is_deterministic_for_same_protected_fields
tests/test_principal_lifecycle_contract.py::test_digest_changes_for_every_authorization_binding
tests/test_principal_lifecycle_contract.py::test_canonical_digest_is_order_independent
tests/test_principal_lifecycle_contract.py::test_prepare_rotation_binds_old_and_new_key
tests/test_principal_lifecycle_contract.py::test_prepare_revocation_requires_approval_but_not_possession
tests/test_principal_lifecycle_contract.py::test_prepare_rejects_symmetric_scheme
tests/test_principal_lifecycle_contract.py::test_prepare_rejects_duplicate_protected_option
tests/test_principal_lifecycle_contract.py::test_valid_possession_is_one_use_and_advances_only_ephemeral_state
tests/test_principal_lifecycle_contract.py::test_invalid_signature_does_not_consume_challenge
tests/test_principal_lifecycle_contract.py::test_proof_substitution_fails_closed
tests/test_principal_lifecycle_contract.py::test_expired_challenge_fails_closed
tests/test_principal_lifecycle_contract.py::test_restart_forgets_challenge_and_replay_fails_closed
tests/test_principal_lifecycle_contract.py::test_operation_id_collision_with_changed_digest_is_rejected
tests/test_principal_lifecycle_contract.py::test_idempotency_returns_original_and_rejects_changed_intent
tests/test_principal_lifecycle_contract.py::test_public_exports_require_no_private_module_imports
tests/test_principal_lifecycle_contract.py::test_public_serialization_contains_no_private_or_provider_credentials
tests/test_principal_lifecycle_contract.py::test_public_result_shapes_are_json_safe_and_versioned
tests/test_principal_lifecycle_durable.py::test_non_durable_commit_raises
tests/test_principal_lifecycle_durable.py::test_non_durable_record_approval_raises
tests/test_principal_lifecycle_durable.py::test_non_durable_describe_returns_draft
tests/test_principal_lifecycle_durable.py::test_non_durable_cancel_works
tests/test_principal_lifecycle_durable.py::test_non_durable_cancel_rejects_digest_mismatch
tests/test_principal_lifecycle_durable.py::test_non_durable_cancel_rejects_committed_state
tests/test_principal_lifecycle_durable.py::test_approval_dataclass_is_frozen
tests/test_principal_lifecycle_durable.py::test_approval_exported_from_regista
tests/test_principal_lifecycle_durable.py::test_durable_prepare_persists
tests/test_principal_lifecycle_durable.py::test_durable_possession_challenge_lifecycle
tests/test_principal_lifecycle_durable.py::test_durable_approval_recording
tests/test_principal_lifecycle_durable.py::test_durable_approval_rejects_digest_mismatch
tests/test_principal_lifecycle_durable.py::test_durable_commit_enrollment
tests/test_principal_lifecycle_durable.py::test_durable_commit_rotation
tests/test_principal_lifecycle_durable.py::test_durable_commit_revocation
tests/test_principal_lifecycle_durable.py::test_durable_effective_receipt
tests/test_principal_lifecycle_durable.py::test_durable_effective_receipt_partial
tests/test_principal_lifecycle_durable.py::test_durable_unsigned_receipt_does_not_burn_challenge
tests/test_principal_lifecycle_durable.py::test_durable_describe
tests/test_principal_lifecycle_durable.py::test_durable_describe_unknown_principal
tests/test_principal_lifecycle_durable.py::test_durable_reconcile_consistent
tests/test_principal_lifecycle_durable.py::test_durable_reconcile_detects_drift
tests/test_principal_lifecycle_durable.py::test_durable_cancel
tests/test_principal_lifecycle_durable.py::test_durable_idempotent_commit
tests/test_principal_lifecycle_durable.py::test_durable_commit_rejects_digest_mismatch
tests/test_principal_lifecycle_durable.py::test_durable_commit_rejects_expired
tests/test_principal_lifecycle_durable.py::test_durable_commit_rejects_unapproved
tests/test_principal_lifecycle_durable.py::test_durable_idempotent_prepare
tests/test_principal_lifecycle_durable.py::test_durable_commit_revocation_rejects_unapproved
tests/test_principal_lifecycle_durable.py::test_durable_cross_instance_get_operation
tests/test_principal_lifecycle_durable.py::test_durable_cross_instance_approval_and_commit
tests/test_principal_lifecycle_durable.py::test_durable_cross_instance_commit_idempotency
tests/test_principal_lifecycle_durable.py::TestDurablePrepareIdempotencyRace::test_concurrent_prepare_same_digest_collapses_to_one_row
tests/test_principal_lifecycle_durable.py::TestDurablePrepareIdempotencyRace::test_concurrent_prepare_never_raises_raw_unique_violation
tests/test_principal_lifecycle_durable.py::TestDurablePrepareIdempotencyRace::test_concurrent_prepare_different_digest_fails_closed
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_cross_instance_possession_submit
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_cross_instance_replay_does_not_reprocess
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_cross_instance_challenge_single_use_at_consume_layer
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_concurrent_possession_submit_single_use
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_cross_instance_effective_receipt
tests/test_principal_lifecycle_durable.py::TestDurableCrossInstanceChallenges::test_effective_challenge_kind_cannot_be_consumed_as_possession
tests/test_principal_lifecycle_durable.py::TestApprovalSeparationOfDuties::test_approver_equal_actor_rejected
tests/test_principal_lifecycle_durable.py::TestApprovalSeparationOfDuties::test_verifier_can_reject_insufficient_evidence
tests/test_principal_lifecycle_durable.py::TestApprovalSeparationOfDuties::test_verifier_accepts_and_records_evidence_verified
tests/test_principal_lifecycle_durable.py::TestDurableIssuerStaleCacheReplay::test_possession_replay_on_issuer_after_remote_consume
tests/test_principal_lifecycle_durable.py::TestDurableIssuerStaleCacheReplay::test_effective_replay_on_issuer_after_remote_consume
tests/test_principal_lifecycle_durable.py::TestDurableConsumeTransitionAtomicity::test_possession_crash_after_consume_rolls_back
tests/test_principal_lifecycle_durable.py::TestDurableConsumeTransitionAtomicity::test_effective_crash_after_consume_rolls_back
tests/test_principal_lifecycle_durable.py::TestChallengeStorageScope::test_durable_reports_durable_one_use
tests/test_principal_lifecycle_durable.py::TestChallengeStorageScope::test_non_durable_reports_process_local
tests/test_principal_lifecycle_durable.py::TestApprovalVerifierPublicApi::test_constructor_passes_verifier_to_facade
tests/test_principal_lifecycle_durable.py::TestApprovalVerifierPublicApi::test_create_project_accepts_verifier_param
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_metadata_field_rejected[client_type-evil-helper]
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_metadata_field_rejected[client_version-9.9.9]
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_metadata_field_rejected[operation_id-00000000-0000-4000-8000-000000000000]
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_status_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_observed_at_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_tampered_challenge_field_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptTamper::test_cross_protocol_possession_signature_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptChronology::test_future_observed_at_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptChronology::test_stale_observed_at_rejected
tests/test_principal_lifecycle_durable.py::TestEffectiveReceiptChronology::test_naive_observed_at_rejected
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_create
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_append
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_transition
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_create_link
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_remove_link
tests/test_production_readiness.py::TestActorKindValidation::test_invalid_actor_kind_on_update_not_before
tests/test_production_readiness.py::TestActorKindValidation::test_valid_actor_kinds_accepted
tests/test_production_readiness.py::TestTransitionEventIdCollision::test_same_event_id_different_transition_rejected
tests/test_production_readiness.py::TestClaimStolenMetric::test_stolen_claim_emits_event_and_metric
tests/test_production_readiness.py::TestClaimStolenMetric::test_same_actor_reacquire_does_not_count_as_stolen
tests/test_property_conformance.py::TestPropertyBasedConformance::test_random_sequences_equivalent
tests/test_property_conformance.py::TestPropertyBasedConformance::test_claim_contention_sequence
tests/test_property_conformance.py::TestPropertyBasedConformance::test_escalation_equivalence
tests/test_property_conformance.py::TestPropertyBasedConformance::test_transition_sequence_equivalence
tests/test_property_conformance.py::TestPropertyBasedConformance::test_replay_equivalence
tests/test_property_conformance.py::TestPropertyBasedConformance::test_adversarial_error_code_equivalence
tests/test_provision.py::TestProvision::test_provision_creates_schema_and_role
tests/test_provision.py::TestProvision::test_provision_idempotent
tests/test_provision.py::TestProvision::test_provision_multiple_projects
tests/test_provision.py::TestProvision::test_provision_dry_run
tests/test_provision.py::TestProvision::test_provision_cross_schema_denied
tests/test_provision.py::TestProvisionPrincipal::test_provision_principal_issues_keypair
tests/test_provision.py::TestProvisionPrincipal::test_provision_principal_idempotent
tests/test_provision.py::TestProvisionPrincipal::test_provision_principal_dry_run
tests/test_provision.py::TestSecretRefInKeySet::test_key_set_loads_secret_ref
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_full_read_returns_all_asc_by_seq[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_full_read_returns_all_asc_by_seq[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_limit_returns_newest_events[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_limit_returns_newest_events[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_limit_one_returns_newest_single[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_limit_one_returns_newest_single[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_returns_correct_window[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_returns_correct_window[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_with_large_limit[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_with_large_limit[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_at_boundary[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_before_seq_at_boundary[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_desc_ordering_without_work_item_id[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_desc_ordering_without_work_item_id[in_memory]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_desc_tiebreaker_event_seq[real]
tests/test_read_events_conformance.py::TestReadEventsOrderingConformance::test_desc_tiebreaker_event_seq[in_memory]
tests/test_recurrence.py::TestComputeNextFire::test_interval_minutes
tests/test_recurrence.py::TestComputeNextFire::test_interval_hours
tests/test_recurrence.py::TestComputeNextFire::test_interval_days
tests/test_recurrence.py::TestComputeNextFire::test_interval_respects_end_at
tests/test_recurrence.py::TestComputeNextFire::test_interval_with_last_fired
tests/test_recurrence.py::TestComputeNextFire::test_rrule_daily_first_occurrence_is_start
tests/test_recurrence.py::TestComputeNextFire::test_rrule_next_after_first
tests/test_recurrence.py::TestComputeNextFire::test_rrule_with_end_at_before_start
tests/test_recurrence.py::TestComputeNextFire::test_unknown_schedule_kind
tests/test_recurrence.py::TestValidateSchedule::test_valid_interval
tests/test_recurrence.py::TestValidateSchedule::test_valid_rrule
tests/test_recurrence.py::TestValidateSchedule::test_invalid_rrule
tests/test_recurrence.py::TestValidateSchedule::test_invalid_interval
tests/test_recurrence.py::TestValidateTemplate::test_valid
tests/test_recurrence.py::TestValidateTemplate::test_not_dict
tests/test_recurrence.py::TestRecurrenceRuleDataclass::test_roundtrip
tests/test_recurrence.py::TestParseIso8601Duration::test_fractional_seconds
tests/test_recurrence.py::TestParseIso8601Duration::test_fractional_seconds_1_5
tests/test_recurrence.py::TestParseIso8601Duration::test_fractional_seconds_with_hours
tests/test_recurrence.py::TestParseIso8601Duration::test_zero_duration_rejected
tests/test_recurrence.py::TestParseIso8601Duration::test_invalid_format
tests/test_recurrence.py::TestParseIso8601Duration::test_integer_seconds
tests/test_recurrence.py::TestParseIso8601Duration::test_days_and_hours
tests/test_recurrence.py::TestCatchupPolicyFireOnce::test_fire_once_skips_past_slots
tests/test_recurrence.py::TestCatchupPolicyFireOnce::test_fire_once_next_already_future
tests/test_recurrence.py::TestCatchupPolicyFireOnce::test_fire_once_past_end
tests/test_recurrence.py::TestCatchupPolicySkip::test_skip_policy_returns_none_work_item
tests/test_recurrence.py::TestCatchupPolicySkip::test_skip_advances_to_future
tests/test_recurrence.py::TestCatchupPolicyFireAll::test_fire_all_fires_one_per_call
tests/test_recurrence.py::TestCatchupPolicyFireAll::test_fire_all_does_not_skip_past_slots
tests/test_recurrence.py::TestInMemoryMultipleRules::test_multiple_rules_same_workflow
tests/test_recurrence.py::TestInMemoryNextFireAt::test_register_computes_next_fire
tests/test_recurrence.py::TestInMemoryNextFireAt::test_register_validates_schedule
tests/test_recurrence_postgres.py::TestPostgresRegisterRecurrenceRule::test_register_computes_next_fire
tests/test_recurrence_postgres.py::TestPostgresRegisterRecurrenceRule::test_register_with_end_at
tests/test_recurrence_postgres.py::TestPostgresRegisterRecurrenceRule::test_register_validates_schedule
tests/test_recurrence_postgres.py::TestPostgresRegisterRecurrenceRule::test_register_validates_template
tests/test_recurrence_postgres.py::TestPostgresRegisterRecurrenceRule::test_register_with_rrule
tests/test_recurrence_postgres.py::TestPostgresListRecurrenceRules::test_list_all
tests/test_recurrence_postgres.py::TestPostgresListRecurrenceRules::test_list_by_status
tests/test_recurrence_postgres.py::TestPostgresDueRecurrences::test_due_recurrences_filters_active
tests/test_recurrence_postgres.py::TestPostgresDueRecurrences::test_due_recurrences_respects_now
tests/test_recurrence_postgres.py::TestPostgresFireRecurrence::test_fire_creates_work_item
tests/test_recurrence_postgres.py::TestPostgresFireRecurrence::test_fire_updates_next_fire_at
tests/test_recurrence_postgres.py::TestPostgresFireRecurrence::test_fire_populates_not_before_offset
tests/test_recurrence_postgres.py::TestPostgresFireRecurrence::test_fire_idempotent_early_return
tests/test_recurrence_postgres.py::TestPostgresFireRecurrence::test_fire_exhausted_count
tests/test_recurrence_postgres.py::TestPostgresCatchupPolicies::test_fire_once_skips_past_slots
tests/test_recurrence_postgres.py::TestPostgresCatchupPolicies::test_skip_advances_to_future
tests/test_recurrence_postgres.py::TestPostgresCatchupPolicies::test_fire_all_fires_one_per_call
tests/test_recurrence_postgres.py::TestPostgresCancelRecurrenceRule::test_cancel_sets_status
tests/test_recurrence_postgres.py::TestPostgresCancelRecurrenceRule::test_cancel_not_found_raises
tests/test_recurrence_postgres.py::TestPostgresUpdateRecurrenceRule::test_update_schedule_expr
tests/test_recurrence_postgres.py::TestPostgresUpdateRecurrenceRule::test_update_template
tests/test_recurrence_postgres.py::TestPostgresUpdateRecurrenceRule::test_update_status
tests/test_recurrence_postgres.py::TestPostgresUpdateRecurrenceRule::test_update_not_found_raises
tests/test_recurrence_postgres.py::TestPostgresRecurrenceCustomFields::test_created_work_item_has_custom_fields
tests/test_reducer_v1_determinism.py::test_frozen_digests_cover_every_vector
tests/test_reducer_v1_determinism.py::test_frozen_digests_were_agreed_by_multiple_interpreters
tests/test_reducer_v1_determinism.py::test_frozen_digests_include_the_estate_runtime
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[empty-prefix]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[basic-workflow-walk]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[created-only]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[float-boundaries]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[unicode-key-ordering]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[key-order-irrelevant-a]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[key-order-irrelevant-b]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[timestamp-normalisation]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[timestamp-fraction-truncation]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[timestamp-offset-crosses-day]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[timestamp-leap-day]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[claim-churn]
tests/test_reducer_v1_determinism.py::test_vector_matches_frozen_digest[nested-structures]
tests/test_reducer_v1_determinism.py::test_default_field_set_excludes_claim_state
tests/test_reducer_v1_determinism.py::test_claim_churn_does_not_change_content_digest
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[empty-prefix]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[basic-workflow-walk]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[created-only]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[float-boundaries]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[unicode-key-ordering]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[key-order-irrelevant-a]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[key-order-irrelevant-b]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[timestamp-normalisation]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[timestamp-fraction-truncation]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[timestamp-offset-crosses-day]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[timestamp-leap-day]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[claim-churn]
tests/test_reducer_v1_determinism.py::test_reduction_is_a_jcs_fixed_point[nested-structures]
tests/test_reducer_v1_determinism.py::test_key_insertion_order_does_not_reach_the_digest
tests/test_reducer_v1_determinism.py::test_claim_state_field_set_is_a_real_choice
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[hour-24-end-of-day]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[naive-timestamp-no-offset]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[bare-date]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[iso-week-date]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[iso-basic-format]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[space-separated-timestamp]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[leap-second]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[impossible-day]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[unregistered-workflow]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[transition-not-valid-from-state]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[workflow-transition-without-workflow-block]
tests/test_reducer_v1_determinism.py::test_reject_vectors_fail_closed[empty-transition]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[float-1e16-as-canonical-integer]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[float-2-to-53-as-canonical-integer]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[int-above-safe-domain]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[int-below-safe-domain]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[float-1e21-exponential-form]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[float-nested-in-list]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[float-max-double]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[duplicate-object-key]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[nan-constant]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[infinity-constant]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[invalid-utf8]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[not-an-object]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[entity-seq-bool]
tests/test_reducer_v1_determinism.py::test_reject_raw_fail_closed[entity-seq-zero]
tests/test_reducer_v1_determinism.py::test_timestamp_normal_form
tests/test_reducer_v1_determinism.py::test_hour_24_is_the_measured_cross_version_divergence
tests/test_reducer_v1_determinism.py::test_the_reducer_never_consults_a_database_or_a_registry
tests/test_reducer_v1_determinism.py::test_cross_interpreter_sweep_if_alternates_available
tests/test_remaining_errors.py::TestNotBeforeFuture::test_claim_blocked_by_not_before
tests/test_remaining_errors.py::TestWorkItemTypeNotDeclared::test_create_rejects_undeclared_type
tests/test_remaining_errors.py::TestWorkflowNotRegistered::test_create_rejects_unknown_workflow
tests/test_remaining_errors.py::TestLinkCrossProject::test_link_cross_workflow_rejected
tests/test_remaining_errors.py::TestCustomFieldViolation::test_missing_required_field_on_create
tests/test_remaining_errors.py::TestCustomFieldViolation::test_unknown_field_on_create
tests/test_remaining_errors.py::TestCustomFieldViolation::test_wrong_type_on_create
tests/test_remaining_errors.py::TestCustomFieldViolation::test_invalid_enum_on_create
tests/test_remaining_errors.py::TestCustomFieldViolation::test_custom_field_violation_on_transition
tests/test_remaining_errors.py::TestDbNotFound::test_connect_without_create_rejects
tests/test_replay.py::TestAC17RevokedKeyHaltsReplay::test_replay_report_includes_halted_count
tests/test_replay.py::TestAC29OutOfBandEditDrift::test_direct_state_update_detected_as_drift
tests/test_replay.py::TestAC29OutOfBandEditDrift::test_direct_custom_fields_update_detected_as_drift
tests/test_replay.py::TestAC29OutOfBandEditDrift::test_no_drift_after_normal_operations
tests/test_replay.py::TestPrincipalBindingFailureReport::test_report_round_trips_principal_binding_failures
tests/test_replay.py::TestPrincipalBindingFailureReport::test_report_omits_zero_principal_binding_failures
tests/test_replay_coverage.py::TestReplayClaimLifecycle::test_replay_derives_claim_acquired
tests/test_replay_coverage.py::TestReplayClaimLifecycle::test_replay_derives_claim_stolen
tests/test_replay_coverage.py::TestReplayClaimLifecycle::test_replay_derives_claim_released
tests/test_replay_coverage.py::TestReplayClaimLifecycle::test_replay_derives_claim_expired
tests/test_replay_coverage.py::TestReplayClaimLifecycle::test_replay_heartbeat_drift_within_threshold
tests/test_replay_coverage.py::TestReplayLinkLifecycle::test_replay_derives_link_created_and_removed
tests/test_replay_coverage.py::TestReplayEscalationAndNotBefore::test_replay_derives_escalated
tests/test_replay_coverage.py::TestReplayEscalationAndNotBefore::test_replay_derives_not_before_set
tests/test_replay_coverage.py::TestReplayCustomFieldsUpdate::test_replay_derives_custom_fields_on_transition
tests/test_replay_coverage.py::TestReplayOrphanEvents::test_orphan_with_created_event_halts
tests/test_replay_coverage.py::TestReplayOrphanEvents::test_orphan_without_created_event_halts
tests/test_replay_coverage.py::TestReplayContinueOnRevoked::test_continue_on_revoked_skips_unknown_key
tests/test_replay_coverage.py::TestReplayContinueOnRevoked::test_continue_on_revoked_warnings_counted
tests/test_replay_coverage.py::TestReplayKeyFailurePaths::test_signature_mismatch_halts
tests/test_replay_coverage.py::TestReplayKeyFailurePaths::test_missing_workflow_halts
tests/test_replay_coverage.py::TestReplayKeyFailurePaths::test_invalid_from_state_halts
tests/test_replay_coverage.py::TestInMemoryReplayParity::test_in_memory_no_drift_after_claim_transition_link
tests/test_replay_coverage.py::TestInMemoryReplayParity::test_in_memory_replay_orphan_halts
tests/test_replay_coverage.py::TestInMemoryReplayParity::test_in_memory_replay_count_matches
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claimed_by_tampered_detected_as_drift
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claim_expires_at_tampered_detected_as_drift
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claim_state_cleared_after_workflow_transition
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claim_state_correct_after_acquire_and_heartbeat
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claim_attempt_number_reconstructed
tests/test_replay_coverage.py::TestBC090ClaimStateDriftDetection::test_claim_stolen_replay_drift_detection
tests/test_replay_coverage.py::TestBC095InMemoryReplaySignatureVerification::test_in_memory_signature_mismatch_halts
tests/test_replay_coverage.py::TestBC095InMemoryReplaySignatureVerification::test_in_memory_unknown_key_with_continue_on_revoked
tests/test_replay_coverage.py::TestBC095InMemoryReplaySignatureVerification::test_in_memory_unknown_key_without_continue_on_revoked_halts
tests/test_replay_coverage.py::TestBC095InMemoryReplaySignatureVerification::test_in_memory_no_key_set_skips_verification
tests/test_replay_coverage.py::TestBC095InMemoryReplaySignatureVerification::test_in_memory_replay_verifies_and_detects_drift
tests/test_replay_scoped.py::test_scoped_replay_ok[postgres]
tests/test_replay_scoped.py::test_scoped_replay_ok[inmemory]
tests/test_replay_scoped.py::test_scoped_replay_detects_drift[postgres]
tests/test_replay_scoped.py::test_scoped_replay_detects_drift[inmemory]
tests/test_replay_scoped.py::test_scoped_replay_unknown_work_item_raises[postgres]
tests/test_replay_scoped.py::test_scoped_replay_unknown_work_item_raises[inmemory]
tests/test_replay_scoped.py::test_scoped_replay_skips_global_verification[postgres]
tests/test_replay_scoped.py::test_scoped_replay_skips_global_verification[inmemory]
tests/test_replay_scoped.py::test_scoped_replay_event_query_uses_entity_index
tests/test_replay_scoped.py::test_full_replay_unchanged_when_work_item_id_none
tests/test_replay_scoped.py::test_scoped_replay_inmemory_full_replay_regression[postgres]
tests/test_replay_scoped.py::test_scoped_replay_inmemory_full_replay_regression[inmemory]
tests/test_replay_scoped.py::test_scoped_replay_projection_row_missing_reports_corruption[postgres]
tests/test_replay_scoped.py::test_scoped_replay_projection_row_missing_reports_corruption[inmemory]
tests/test_retired_tests_ledger.py::test_ledger_entries_are_well_formed
tests/test_retired_tests_ledger.py::test_no_test_vanishes_without_a_disposition
tests/test_scale.py::TestReplayBenchmark::test_replay_at_scale
tests/test_scale.py::TestReplayBenchmark::test_replay_long_history
tests/test_scale.py::TestLinkQueryBenchmark::test_link_query_at_scale
tests/test_scale.py::TestHookThroughputBenchmark::test_hook_drain_throughput
tests/test_secret_delete.py::test_delete_removes_the_file
tests/test_secret_delete.py::test_delete_is_idempotent
tests/test_secret_delete.py::test_delete_makes_the_key_unresolvable
tests/test_secret_delete.py::test_delete_reports_an_undeletable_file
tests/test_secret_delete.py::test_env_refuses_rather_than_pretending
tests/test_secret_delete.py::test_literal_reports_inline_not_deleted
tests/test_secret_delete.py::test_inline_ref_is_not_deleted
tests/test_secret_delete.py::test_delete_rejects_an_empty_ref
tests/test_secret_delete.py::test_an_unknown_prefix_is_treated_as_a_literal
tests/test_secret_delete.py::test_delete_rejects_a_known_but_unregistered_provider
tests/test_secret_delete.py::test_supports_delete_reports_per_provider
tests/test_secret_delete.py::test_a_provider_without_delete_is_reported_not_crashed
tests/test_secret_delete.py::test_vault_delete_preserves_other_keys_at_the_same_path
tests/test_secret_delete.py::test_vault_delete_destroys_the_path_when_it_becomes_empty
tests/test_secret_delete.py::test_vault_delete_of_a_missing_key_is_already_absent
tests/test_secrets.py::TestFileProvider::test_resolves_file
tests/test_secrets.py::TestFileProvider::test_resolves_bare_path
tests/test_secrets.py::TestFileProvider::test_missing_file_raises
tests/test_secrets.py::TestEnvProvider::test_resolves_env
tests/test_secrets.py::TestEnvProvider::test_unset_env_raises
tests/test_secrets.py::TestLiteralProvider::test_resolves_literal
tests/test_secrets.py::TestResolveStr::test_utf8_decode
tests/test_secrets.py::TestResolveStr::test_binary_fails_gracefully
tests/test_secrets.py::TestEmptyRef::test_empty_raises
tests/test_secrets.py::TestAvailableProviders::test_public_facade_contract
tests/test_secrets.py::TestAvailableProviders::test_file_env_literal_always_available
tests/test_secrets.py::TestAvailableProviders::test_vault_not_registered_without_hvac
tests/test_secrets.py::TestAvailableProviders::test_public_discovery_distinguishes_known_from_available
tests/test_secrets.py::TestReferenceProvider::test_explicit_validation_does_not_resolve
tests/test_secrets.py::TestReferenceProvider::test_strict_validation_rejects_malformed_refs[]
tests/test_secrets.py::TestReferenceProvider::test_strict_validation_rejects_malformed_refs[bare-value]
tests/test_secrets.py::TestReferenceProvider::test_strict_validation_rejects_malformed_refs[typo:anything]
tests/test_secrets.py::TestReferenceProvider::test_strict_validation_rejects_malformed_refs[vault:]
tests/test_secrets.py::TestKnownProviderDetection::test_windows_prefix_raises_on_non_windows
tests/test_secrets.py::TestKnownProviderDetection::test_vault_prefix_raises_without_hvac
tests/test_secrets.py::TestKnownProviderDetection::test_azure_prefix_raises_without_sdk
tests/test_secrets.py::TestWindowsProvider::test_round_trip
tests/test_secrets.py::TestWindowsProvider::test_binary_secret
tests/test_secrets.py::TestWindowsProvider::test_text_secret
tests/test_secrets.py::TestWindowsProvider::test_invalid_base64_raises
tests/test_secrets.py::TestWindowsProvider::test_windows_in_available_providers
tests/test_secrets.py::TestWindowsProvider::test_protect_returns_base64
tests/test_session13_regression.py::TestSweepRaceCondition::test_sweep_does_not_clobber_new_claim
tests/test_session13_regression.py::TestSweepRaceCondition::test_sweep_preserves_claim_reacquired_between_delete_and_lock
tests/test_session13_regression.py::TestBeforeSeqOrdering::test_before_seq_returns_ascending_order
tests/test_session13_regression.py::TestBeforeSeqOrdering::test_before_seq_excludes_at_and_above
tests/test_session13_regression.py::TestTtlSecondsValidation::test_acquire_rejects_zero_ttl
tests/test_session13_regression.py::TestTtlSecondsValidation::test_acquire_rejects_negative_ttl
tests/test_session13_regression.py::TestTtlSecondsValidation::test_heartbeat_rejects_zero_ttl
tests/test_session13_regression.py::TestValidateFieldUpdateRejectsUnknownType::test_rejects_undeclared_type
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV1::test_phase1_interface_spec_lifecycle
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV1::test_phase1_create_missing_required_field_rejected
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV1::test_role_gating_rejects_unauthorized
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV1::test_attempt_threshold_drives_escalation
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV2::test_both_yamls_register_without_error
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV2::test_version_pinning_across_v1_v2
tests/test_sf2_workflows.py::TestSF2WorkflowRoundtripV2::test_full_pipeline_link_types
tests/test_signer_binding.py::TestVerifyEventPrincipalBinding::test_matching_principal_verifies
tests/test_signer_binding.py::TestVerifyEventPrincipalBinding::test_unregistered_signer_fails
tests/test_signer_binding.py::TestVerifyEventPrincipalBinding::test_hmac_event_fails_scheme_mismatch
tests/test_signer_binding.py::TestPrincipalKeyOpsFacade::test_verify_binding_via_facade
tests/test_signer_binding.py::TestPrincipalKeyOpsFacade::test_verify_binding_mismatch_raises
tests/test_signer_binding.py::TestKeySetSecretRef::test_resolve_signing_key_by_principal_id
tests/test_signer_binding.py::TestKeySetSecretRef::test_secret_ref_env_provider
tests/test_signer_binding.py::TestKeyRotationHistoricalVerification::test_rotated_key_still_verifies_old_events
tests/test_signer_binding.py::TestPathTraversal::test_provision_principal_rejects_path_traversal
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_valid_ed25519_event_passes
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_forged_hmac_event_caught
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_forged_actor_with_victim_id_caught
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_no_principal_keys_backward_compat
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_revoked_principal_key_warning
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_rotated_key_old_event_passes
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_rotated_key_old_event_still_verifies
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_event_after_valid_to_rejected
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_register_superseded_key_closes_validity_window
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_ed25519_key_id_mismatch_rejected
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_revoked_key_error_distinguished
tests/test_signer_binding.py::TestReplayPrincipalBinding::test_verify_principal_binding_no_crash_on_malformed_event
tests/test_signer_binding.py::TestVerifyPrincipalBindingCoreEdgeCases::test_missing_timestamp_fail_closed
tests/test_signer_binding.py::TestVerifyPrincipalBindingCoreEdgeCases::test_pre_filtered_temporal_diagnostic
tests/test_signer_binding.py::TestVerifyPrincipalBindingCoreEdgeCases::test_pre_filtered_scheme_diagnostic
tests/test_signer_binding.py::TestVerifyPrincipalBindingCoreEdgeCases::test_revoked_key_specific_error
tests/test_signing.py::TestAC26JsonbDriftSurvival::test_replay_survives_jsonb_payload_key_reorder
tests/test_signing.py::TestAC26JsonbDriftSurvival::test_canonical_envelope_stored_on_append
tests/test_signing.py::TestAC26JsonbDriftSurvival::test_replay_succeeds_after_events
tests/test_signing.py::TestAC26JsonbDriftSurvival::test_signature_verification_uses_stored_envelope
tests/test_signing.py::TestAC26JsonbDriftSurvival::test_transition_event_signature_verifies_with_stored_envelope
tests/test_signing.py::TestDowngradeEnvelopeFiltering::test_verify_rejects_downgrade_when_stored_v4
tests/test_signing.py::TestDowngradeEnvelopeFiltering::test_missing_stored_envelope_is_unverifiable_not_rebuilt
tests/test_signing.py::TestDowngradeEnvelopeFiltering::test_stored_envelope_corruption_is_not_rescued_by_a_rebuild
tests/test_signing.py::TestDowngradeEnvelopeFiltering::test_verify_v4_event_does_not_match_v3_envelope
tests/test_signing.py::TestDowngradeEnvelopeFiltering::test_classify_envelope_version_correct
tests/test_signing.py::TestEnvelopeV5::test_v5_sign_and_verify_roundtrip
tests/test_signing.py::TestEnvelopeV5::test_v5_tampered_actor_kind_fails_verification
tests/test_signing.py::TestEnvelopeV5::test_v5_tampered_actor_metadata_fails_verification
tests/test_signing.py::TestEnvelopeV5::test_v5_backward_compat_v4_events_still_verify
tests/test_signing.py::TestEnvelopeV5::test_v5_downgrade_filtering
tests/test_signing.py::TestEnvelopeV5::test_v5_with_none_actor_metadata
tests/test_signing.py::TestEnvelopeV5::test_v5_none_vs_empty_dict_actor_metadata_differ
tests/test_signing.py::TestEnvelopeV5::test_v4_event_verified_with_actor_kind_provided
tests/test_signing_ed25519.py::TestEd25519PostgresIntegration::test_create_and_read_ed25519_event
tests/test_signing_ed25519.py::TestEd25519PostgresIntegration::test_transition_produces_ed25519_scheme_id
tests/test_signing_ed25519.py::TestEd25519PostgresIntegration::test_replay_verifies_ed25519_signatures
tests/test_signing_ed25519.py::TestEd25519PostgresIntegration::test_ed25519_key_scheme_resolution
tests/test_signing_ed25519.py::TestEd25519PostgresIntegration::test_in_memory_ed25519_lifecycle
tests/test_signing_ed25519.py::TestEd25519KeyRotation::test_replay_handles_mixed_schemes
tests/test_signing_ed25519.py::TestEd25519KeyRotation::test_events_signed_with_active_key_scheme
tests/test_signing_ed25519.py::TestEd25519KeyRotation::test_key_set_reports_both_schemes
tests/test_signing_ed25519.py::TestEd25519KeyLoadErrors::test_ed25519_without_pynacl_raises
tests/test_signing_ed25519.py::TestEd25519KeyLoadErrors::test_unknown_scheme_raises
tests/test_signing_scheme.py::TestHMACSHA256Scheme::test_round_trip
tests/test_signing_scheme.py::TestHMACSHA256Scheme::test_tamper_signature
tests/test_signing_scheme.py::TestHMACSHA256Scheme::test_tamper_envelope
tests/test_signing_scheme.py::TestEd25519Scheme::test_round_trip
tests/test_signing_scheme.py::TestEd25519Scheme::test_tamper_signature
tests/test_signing_scheme.py::TestEd25519Scheme::test_tamper_envelope
tests/test_signing_scheme.py::TestRegistry::test_available_schemes
tests/test_signing_scheme.py::TestRegistry::test_get_scheme_known
tests/test_signing_scheme.py::TestRegistry::test_get_scheme_unknown_raises
tests/test_signing_scheme.py::TestRegistry::test_register_scheme
tests/test_smoke.py::TestWorkflow::test_register_workflow
tests/test_smoke.py::TestWorkflow::test_register_idempotent
tests/test_smoke.py::TestWorkflow::test_register_version_conflict
tests/test_smoke.py::TestWorkflow::test_register_invalid_yaml
tests/test_smoke.py::TestWorkItem::test_create_work_item
tests/test_smoke.py::TestWorkItem::test_create_with_invalid_type
tests/test_smoke.py::TestWorkItem::test_create_with_invalid_field
tests/test_smoke.py::TestTransition::test_valid_transition
tests/test_smoke.py::TestTransition::test_invalid_transition
tests/test_smoke.py::TestTransition::test_role_not_permitted
tests/test_smoke.py::TestTransition::test_full_lifecycle
tests/test_smoke.py::TestEvents::test_read_by_work_item
tests/test_smoke.py::TestClaims::test_acquire_and_release
tests/test_smoke.py::TestClaims::test_claim_contested
tests/test_smoke.py::TestClaims::test_heartbeat
tests/test_smoke.py::TestQuery::test_query_by_workflow
tests/test_smoke.py::TestQuery::test_query_by_state
tests/test_smoke.py::TestQuery::test_query_claimable_now
tests/test_smoke.py::TestQuery::test_pagination_stable_no_duplicates
tests/test_smoke.py::TestLinks::test_create_and_remove_link
tests/test_smoke.py::TestLinks::test_create_link_with_payload
tests/test_smoke.py::TestIdempotency::test_event_idempotency
tests/test_smoke.py::TestReplay::test_replay_no_drift
tests/test_spec_entity.py::TestSignSpecPostgres::test_sign_spec_creates_event
tests/test_spec_entity.py::TestSignSpecPostgres::test_sign_spec_with_explicit_id
tests/test_spec_entity.py::TestSignSpecPostgres::test_sign_spec_rejects_empty_yaml
tests/test_spec_entity.py::TestSignSpecPostgres::test_sign_spec_rejects_empty_version
tests/test_spec_entity.py::TestSignSpecPostgres::test_sign_spec_rejects_empty_md_hash
tests/test_spec_entity.py::TestSignSpecPostgres::test_unknown_schema_version_stored_not_rejected
tests/test_spec_entity.py::TestSignSpecPostgres::test_known_schema_version_no_warning
tests/test_spec_entity.py::TestSignSpecPostgres::test_read_spec_events
tests/test_spec_entity.py::TestSignSpecPostgres::test_read_spec_events_by_spec_id
tests/test_spec_entity.py::TestSignSpecPostgres::test_read_spec_events_empty
tests/test_spec_entity.py::TestSignSpecPostgres::test_spec_event_in_replay
tests/test_spec_entity.py::TestSignSpecPostgres::test_spec_event_chain_verified
tests/test_spec_entity.py::TestSignSpecPostgres::test_multiple_specs_independent_seq
tests/test_spec_entity.py::TestSignSpecPostgres::test_spec_does_not_interfere_with_work_items
tests/test_spec_entity.py::TestSignSpecInMemory::test_in_memory_sign_spec
tests/test_spec_entity.py::TestSignSpecInMemory::test_in_memory_read_spec_events
tests/test_spec_entity.py::TestSignSpecInMemory::test_in_memory_unknown_version_stored
tests/test_spec_entity.py::TestSignSpecInMemory::test_in_memory_replay_includes_spec
tests/test_stale_heartbeat.py::TestAC07StaleHeartbeat::test_heartbeat_rejects_different_actor
tests/test_stale_heartbeat.py::TestAC07StaleHeartbeat::test_heartbeat_rejects_after_auto_steal
tests/test_stale_heartbeat.py::TestAC07StaleHeartbeat::test_valid_heartbeat_succeeds
tests/test_startup_integrity.py::TestMigrationRequired::test_refuses_start_with_pending_migrations
tests/test_startup_integrity.py::TestMigrationRequired::test_refuses_start_with_multiple_pending_migrations
tests/test_startup_integrity.py::TestMigrationRequired::test_starts_normally_with_all_migrations
tests/test_startup_integrity.py::TestWorkflowVersionIncompatible::test_refuses_start_on_major_version_mismatch
tests/test_startup_integrity.py::TestWorkflowVersionIncompatible::test_refuses_start_on_library_older_than_workflow
tests/test_startup_integrity.py::TestWorkflowVersionIncompatible::test_starts_normally_with_compatible_workflow
tests/test_startup_integrity.py::TestWorkflowVersionIncompatible::test_error_detail_contains_issue_list
tests/test_stream_discipline.py::test_library_logging_defaults_to_stderr
tests/test_stream_discipline.py::test_app_structlog_configuration_wins
tests/test_stream_discipline.py::test_handle_error_human_mode
tests/test_stream_discipline.py::test_handle_error_json_mode_emits_envelope
tests/test_stream_discipline.py::test_handle_error_retryable_codes
tests/test_timestamping.py::TestMerkleTree::test_root_deterministic
tests/test_timestamping.py::TestMerkleTree::test_single_event
tests/test_timestamping.py::TestMerkleTree::test_empty_raises
tests/test_timestamping.py::TestMerkleTree::test_inclusion_proof
tests/test_timestamping.py::TestMerkleTree::test_exclusion_fails
tests/test_timestamping.py::TestMerkleTree::test_odd_count
tests/test_timestamping.py::TestMerkleTree::test_power_of_two
tests/test_timestamping.py::TestTSAConfig::test_defaults
tests/test_timestamping.py::TestTSAConfig::test_custom_batch_size
tests/test_timestamping.py::TestTSAConfig::test_tsa_cert_path_field_exists
tests/test_timestamping.py::TestTSASubmission::test_submit_posts_to_tsa_url
tests/test_timestamping.py::TestTSASubmission::test_submit_raises_on_http_error
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_empty_token_returns_false
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_short_token_returns_false
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_matching_imprint_returns_true
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_mismatched_imprint_returns_false
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_substring_false_positive_blocked
tests/test_timestamping.py::TestVerifyTsaToken::test_verify_sha384_imprint
tests/test_timestamping.py::TestBuildTsr::test_build_tsr_uses_configured_hash
tests/test_timestamping.py::TestBuildTsr::test_build_tsr_includes_nonce_by_default
tests/test_timestamping.py::TestBC228UTCTimestamps::test_trigger_timestamping_failed_batch_has_tz_aware_submitted_at
tests/test_timestamping.py::TestBC228UTCTimestamps::test_trigger_timestamping_confirmed_branch_tz_aware
tests/test_timestamping.py::TestTimestampBatchToDict::test_to_dict_serializes_all_fields
tests/test_timestamping.py::TestReplayVerifyTimestamps::test_verify_timestamps_false_no_warnings
tests/test_timestamping.py::TestReplayVerifyTimestamps::test_verify_timestamps_true_uncovered_events_warns
tests/test_timestamping.py::TestReplayVerifyTimestamps::test_verify_timestamps_invalid_token_warns
tests/test_timestamping.py::TestReplayVerifyTimestamps::test_verify_timestamps_valid_token_no_extra_warnings
tests/test_timestamping.py::TestReplayVerifyTimestamps::test_verify_timestamps_merkle_root_mismatch_warns
tests/test_timestamping.py::TestPlan014GlobalSeq::test_global_seq_monotonic_across_work_items
tests/test_timestamping.py::TestPlan014GlobalSeq::test_trigger_timestamping_selects_by_global_seq
tests/test_timestamping.py::TestPlan014GlobalSeq::test_replay_verify_timestamps_multi_wi
tests/test_timestamping.py::TestPlan014GlobalSeq::test_replay_merkle_root_mismatch_multi_wi
tests/test_timestamping.py::TestBC316ConcurrentTimestamping::test_pending_batch_prevents_reselection
tests/test_timestamping.py::TestBC316ConcurrentTimestamping::test_failed_batch_allows_reselection
tests/test_timestamping.py::TestBC316ConcurrentTimestamping::test_pending_batch_allows_non_overlapping_events
tests/test_v6_envelope.py::test_valid_v6_is_classified_as_v6_and_round_trips_exact_bytes
tests/test_v6_envelope.py::test_v6_builder_rejects_mixed_or_partial_workflow_inputs
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[actor]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[authorization]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[chain]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[entity]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[entity_seq]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[event_id]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[occurred_at]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[payload]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[producer]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[project_instance_id]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[signing]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[transition]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[trust_domain_id]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[type]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[version]
tests/test_v6_envelope.py::test_missing_any_top_level_member_is_unknown_schema[workflow]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path0-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path1-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path2-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path3-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path4-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path5-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path6-True]
tests/test_v6_envelope.py::test_unknown_nested_members_fail_closed[path7-value7]
tests/test_v6_envelope.py::test_producer_is_required_and_its_keys_cannot_return_to_actor_metadata
tests/test_v6_envelope.py::test_duplicate_keys_and_noncanonical_bytes_fail_before_signature_verification
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path0-regista.event.v7]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path1-7]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path2-6.0]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path3-9F1C6A2E-3D5B-4C8A-9E07-1B2D3F4A5C6D]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path4-1.0]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path5-value5]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path6-prompt]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path7-value7]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path8-key:operator]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path9-hmac-sha256]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path10-aa]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path11-delegated]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path12-value12]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path13-True]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path14-2026-08-08T12:34:56.123456+00:00]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path15-]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path16-sha-512]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path17-value17]
tests/test_v6_envelope.py::test_degenerate_values_are_unknown_schema[path18-None]
tests/test_v6_envelope.py::test_authorization_mode_and_credential_consistency_is_structural
tests/test_v6_envelope.py::test_numeric_depth_and_size_bounds_fail_closed
tests/test_v6_envelope.py::test_workflow_null_lifecycle_and_transition_rules_are_not_the_obsolete_rule
tests/test_v6_envelope.py::test_bootstrap_null_key_binding_is_position_limited_without_external_state
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path0]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path1]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path2]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path3]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path4]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path5]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path6]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path7]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path8]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path9]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path10]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path11]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path12]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path13]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path14]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path15]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path16]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path17]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path18]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path19]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path20]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path21]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path22]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path23]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path24]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path25]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path26]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path27]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path28]
tests/test_v6_envelope.py::test_every_signed_leaf_changes_production_signature_or_is_rejected[path29]
tests/test_v6_envelope.py::test_v6_signature_verification_checks_the_signed_domain_and_external_pins
tests/test_v6_envelope.py::test_legacy_result_surface_reconciles_v6_row_fields_without_claiming_external_bindings
tests/test_v6_envelope.py::test_v6_raw_public_key_uses_the_signed_scheme_not_the_row_as_fallback
tests/test_v6_envelope.py::test_v6_null_workflow_reconciles_against_null_projection_columns
tests/test_v6_envelope.py::test_v6_uncanonical_row_has_a_distinct_failure_reason
tests/test_v6_envelope.py::test_v6_missing_payload_hash_fails_closed
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes0-event_id]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes1-entity_kind]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes2-entity_id]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes3-entity_seq]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes4-actor_id]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes5-actor_kind]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes6-actor_metadata]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes7-key_id]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes8-scheme_id]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes9-workflow_name]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes10-workflow_version]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes11-timestamp]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes12-transition]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes13-payload]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes14-hash_alg]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes15-prev_event_hash]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes16-prev_global_event_hash]
tests/test_v6_envelope.py::test_each_v6_row_projection_rewrite_is_named[changes17-work_item_id!=entity_id]
tests/test_v6_envelope.py::test_invalid_v6_signature_authenticates_no_row_columns
tests/test_v6_envelope.py::test_v6_row_only_fields_remain_explicitly_unsigned
tests/test_v6_vectors.py::test_manifest_loads_and_lists_every_case
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[v6-envelope-basic]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[v6-envelope-no-model]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[v6-envelope-canonical-order]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bootstrap-trust-genesis]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bootstrap-cutover-checkpoint]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bootstrap-project-initialized]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[fingerprint-primary]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[fingerprint-second-key]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[version-aware-event-hash]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[legacy-seam-checkpoint]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-single]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-two]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-three]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-five]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-empty]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[bundle-merkle-mixed-epoch]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[payload-numeric-bounds]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[occurred-at-lexical-form]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[workflow-definition-digest]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[review-subject-state]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[review-subject]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[delegation-credential]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[trust-genesis]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[trust-checkpoint]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[cutover-checkpoint]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[producer-policy]
tests/test_v6_vectors.py::test_vector_file_exists_and_round_trips[estate-catalog]
tests/test_v6_vectors.py::test_v6_envelope_basic
tests/test_v6_vectors.py::test_v6_envelope_has_sixteen_keys_in_jcs_order
tests/test_v6_vectors.py::test_jcs_orders_by_utf16be_not_code_point
tests/test_v6_vectors.py::test_key_id_matches_the_spec_test_key_block
tests/test_v6_vectors.py::test_v6_envelope_no_model
tests/test_v6_vectors.py::test_producer_lineage_is_a_registered_family
tests/test_v6_vectors.py::test_bootstrap_cases_have_null_key_binding[bootstrap-trust-genesis]
tests/test_v6_vectors.py::test_bootstrap_cases_have_null_key_binding[bootstrap-cutover-checkpoint]
tests/test_v6_vectors.py::test_bootstrap_cases_have_null_key_binding[bootstrap-project-initialized]
tests/test_v6_vectors.py::test_bootstrap_cutover_uses_legacy_head_hash
tests/test_v6_vectors.py::test_bootstrap_project_initialized_has_empty_epoch
tests/test_v6_vectors.py::test_fingerprint_primary
tests/test_v6_vectors.py::test_fingerprint_second_key_differs
tests/test_v6_vectors.py::test_version_aware_event_hash
tests/test_v6_vectors.py::test_legacy_seam_checkpoint
tests/test_v6_vectors.py::test_bundle_merkle_tree[bundle-merkle-single]
tests/test_v6_vectors.py::test_bundle_merkle_tree[bundle-merkle-two]
tests/test_v6_vectors.py::test_bundle_merkle_tree[bundle-merkle-three]
tests/test_v6_vectors.py::test_bundle_merkle_tree[bundle-merkle-five]
tests/test_v6_vectors.py::test_bundle_merkle_single_leaf_is_root
tests/test_v6_vectors.py::test_bundle_merkle_two_combines
tests/test_v6_vectors.py::test_bundle_merkle_empty_root_is_sha256_of_empty_string
tests/test_v6_vectors.py::test_bundle_merkle_mixed_epoch
tests/test_v6_vectors.py::test_mixed_epoch_leaf_would_differ_under_a_hardcoded_legacy_formula
tests/test_v6_vectors.py::test_bundle_merkle_leaf_and_node_domains_differ
tests/test_v6_vectors.py::test_workflow_definition_digest
tests/test_v6_vectors.py::test_review_subject_state_matches_reducer_v1
tests/test_v6_vectors.py::test_review_subject_state_agrees_with_frozen_digests
tests/test_v6_vectors.py::test_review_subject_state_construction_matches_the_raw_domain_tag
tests/test_v6_vectors.py::test_review_subject
tests/test_v6_vectors.py::test_review_subject_has_exactly_the_specified_members
tests/test_v6_vectors.py::test_review_subject_artifact_lists_are_sorted_before_canonicalization
tests/test_v6_vectors.py::test_review_subject_digest_is_order_independent
tests/test_v6_vectors.py::test_delegation_credential
tests/test_v6_vectors.py::test_trust_genesis
tests/test_v6_vectors.py::test_trust_checkpoint
tests/test_v6_vectors.py::test_cutover_checkpoint
tests/test_v6_vectors.py::test_producer_policy
tests/test_v6_vectors.py::test_estate_catalog
tests/test_v6_vectors.py::test_producer_lineage_is_a_family_not_a_versioned_model
tests/test_v6_vectors.py::test_all_domain_tags_are_distinct_and_null_terminated
tests/test_v6_vectors.py::test_all_domain_tags_are_pairwise_prefix_free
tests/test_v6_vectors.py::test_v6_envelope_basic_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_workflow_definition_digest_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_fingerprint_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_merkle_leaf_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_merkle_root_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_delegation_hash_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_trust_genesis_core_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_trust_genesis_id_changes_when_core_changes
tests/test_v6_vectors.py::test_producer_policy_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_estate_catalog_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[artifacts]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[content_state_digest]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[declared_not_reviewed]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[entity_id]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[entity_kind]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[project_instance_id]
tests/test_v6_vectors.py::test_every_review_subject_member_change_changes_hash[reviewed_through_event_hash]
tests/test_v6_vectors.py::test_cutover_checkpoint_one_byte_flip_changes_hash
tests/test_v6_vectors.py::test_trust_checkpoint_one_byte_flip_changes_signature
tests/test_v6_vectors.py::test_payload_numeric_bounds_accepts_the_boundary
tests/test_v6_vectors.py::test_payload_numeric_bounds_rejected_band_is_measured_not_asserted
tests/test_v6_vectors.py::test_occurred_at_has_exactly_one_lexical_form
tests/test_v6_vectors.py::test_occurred_at_rejected_forms_change_the_signed_bytes
tests/test_v6_vectors.py::test_cross_domain_non_confusability
tests/test_v6_vectors.py::test_v6_signing_input_is_never_a_v5_signing_input
tests/test_validate_yaml.py::TestValidateYamlValid::test_valid_yaml_from_string
tests/test_validate_yaml.py::TestValidateYamlValid::test_valid_yaml_from_path
tests/test_validate_yaml.py::TestValidateYamlValid::test_valid_yaml_from_path_string_is_content
tests/test_validate_yaml.py::TestValidateYamlInvalidYaml::test_invalid_yaml_syntax
tests/test_validate_yaml.py::TestValidateYamlSchemaErrors::test_missing_name
tests/test_validate_yaml.py::TestValidateYamlSchemaErrors::test_missing_states
tests/test_validate_yaml.py::TestValidateYamlSemanticErrors::test_unreachable_state
tests/test_validate_yaml.py::TestValidateYamlSemanticErrors::test_undeclared_role_in_transition
tests/test_validate_yaml.py::TestValidateYamlResultShape::test_validation_result_to_dict
tests/test_validate_yaml.py::TestValidateYamlResultShape::test_invalid_result_to_dict
tests/test_validate_yaml.py::TestValidateYamlResultShape::test_roundtrip_from_dict
tests/test_validator_context_enrichment.py::TestActorKindInMemory::test_recorded_actor_kind[human]
tests/test_validator_context_enrichment.py::TestActorKindInMemory::test_recorded_actor_kind[agent]
tests/test_validator_context_enrichment.py::TestActorKindInMemory::test_recorded_actor_kind[system]
tests/test_validator_context_enrichment.py::TestPriorEventsInMemory::test_prior_events_match_history
tests/test_validator_context_enrichment.py::TestNoValidatorUnaffectedInMemory::test_non_validator_transition_skips_handler
tests/test_validator_context_enrichment.py::TestSerializationRoundTrip::test_round_trip_preserves_new_fields
tests/test_validator_context_enrichment.py::TestSerializationRoundTrip::test_on_behalf_of_round_trip_with_none
tests/test_validator_context_enrichment.py::TestFromDictTolerance::test_missing_new_fields_decode_to_defaults
tests/test_validator_context_enrichment.py::TestPostgresActorKind::test_recorded_actor_kind
tests/test_validator_context_enrichment.py::TestPostgresPriorEvents::test_prior_events_match_history
tests/test_validator_context_enrichment.py::TestOnBehalfOfInMemory::test_recorded_on_behalf_of
tests/test_validator_context_enrichment.py::TestOnBehalfOfNoneDefaultInMemory::test_on_behalf_of_defaults_to_none
tests/test_validator_context_enrichment.py::TestPostgresOnBehalfOf::test_recorded_on_behalf_of
tests/test_validator_context_enrichment.py::TestPostgresOnBehalfOfNoneDefault::test_on_behalf_of_defaults_to_none
tests/test_validator_context_enrichment.py::TestConformanceAcrossBackends::test_actor_kind_prior_events_on_behalf_of_equal
tests/test_validator_context_enrichment.py::TestPriorEventsCapInMemory::test_capped_to_most_recent
tests/test_validator_context_enrichment.py::TestPriorEventsCapPostgres::test_capped_to_most_recent
tests/test_validator_context_enrichment.py::TestDelegationSelfReviewScenario::test_rejects_when_principal_is_author
tests/test_validator_context_enrichment.py::TestDelegationSelfReviewScenario::test_accepts_when_principal_is_not_author
tests/test_validator_context_enrichment.py::TestDelegationSelfReviewScenarioPostgres::test_rejects_when_principal_is_author
tests/test_validator_context_enrichment.py::TestDelegationSelfReviewScenarioPostgres::test_accepts_when_principal_is_not_author
tests/test_validator_context_enrichment.py::TestValidatorCannotMutateOnBehalfOfInMemory::test_event_records_original_not_mutated_chain
tests/test_validator_context_enrichment.py::TestValidatorCannotMutateOnBehalfOfPostgres::test_event_records_original_not_mutated_chain
tests/test_validator_hardening.py::TestRunValidator::test_clean_validator_returns_normally
tests/test_validator_hardening.py::TestRunValidator::test_exception_becomes_validator_failed
tests/test_validator_hardening.py::TestRunValidator::test_regista_error_passes_through
tests/test_validator_hardening.py::TestRunValidator::test_slow_validator_logs_warning_but_does_not_raise
tests/test_validator_hardening.py::TestValidatorTransactionRollback::test_clean_validator_allows_transition
tests/test_validator_hardening.py::TestValidatorTransactionRollback::test_validator_failure_rolls_back
tests/test_validator_hardening.py::TestTrustedValidatorContract::test_io_referencing_handler_can_be_registered
tests/test_validator_hardening.py::TestTrustedValidatorContract::test_registration_is_purely_a_dict_update
tests/test_version_info.py::TestVersions::test_returns_version_info
tests/test_version_info.py::TestVersions::test_has_library_version
tests/test_version_info.py::TestVersions::test_schema_version_is_int
tests/test_version_info.py::TestVersions::test_envelope_version_is_int
tests/test_version_info.py::TestVersions::test_canonical_workflow_version
tests/test_version_info.py::TestVersions::test_canonical_workflow_hash
tests/test_version_info.py::TestVersions::test_available_signing_schemes
tests/test_version_info.py::TestVersions::test_to_dict
tests/test_version_info.py::TestVersions::test_schema_version_matches_latest_migration
tests/test_version_info.py::TestVersions::test_envelope_version_remains_5_until_v6_is_writable
tests/test_version_info.py::TestCLIVersion::test_version_json
tests/test_version_info.py::TestCLIVersion::test_version_text
tests/test_version_pinning.py::TestAC12PinnedVersionIsolation::test_v1_work_item_rejects_v2_only_transition
tests/test_version_pinning.py::TestAC12PinnedVersionIsolation::test_v2_work_item_accepts_shortcut
tests/test_version_pinning.py::TestAC12PinnedVersionIsolation::test_v1_work_item_uses_v1_transitions
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_register_webhook
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_list_webhooks
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_list_webhooks_by_status
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_unregister_webhook
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_register_webhook_with_workflows
tests/test_webhooks_archive.py::TestWebhookLifecycle::test_pause_resume_webhook
tests/test_webhooks_archive.py::TestArchiveEvents::test_archive_dry_run_empty
tests/test_webhooks_archive.py::TestArchiveEvents::test_archive_dry_run_with_events
tests/test_webhooks_archive.py::TestArchiveEvents::test_archive_actual
tests/test_webhooks_archive.py::TestArchiveEvents::test_archive_idempotent
tests/test_webhooks_archive.py::TestArchiveEvents::test_archive_skips_non_terminal_dormant_item
tests/test_webhooks_archive.py::TestWebhookSidecarRoutes::test_register_list_remove_via_sidecar
tests/test_webhooks_archive.py::TestWebhookSidecarRoutes::test_pause_resume_via_sidecar
tests/test_webhooks_archive.py::TestWebhookSidecarRoutes::test_register_requires_admin
tests/test_webhooks_archive.py::TestArchiveSidecarRoutes::test_archive_dry_run_via_sidecar
tests/test_webhooks_archive.py::TestArchiveSidecarRoutes::test_archive_requires_admin
tests/test_wi217_replay_memory.py::TestWI217ReplayMemory::test_replay_peak_does_not_track_log_size
tests/test_wi217_replay_memory.py::TestWI217ReplayMemory::test_stream_plan_has_no_sort
tests/test_wi218_pool_finalization.py::test_successful_command_exits_clean
tests/test_wi218_pool_finalization.py::test_failing_command_exits_clean
tests/test_wi218_pool_finalization.py::test_close_is_idempotent
tests/test_wi218_pool_finalization.py::test_close_detaches_the_exit_finalizer
tests/test_wi218_pool_finalization.py::test_finalizer_does_not_keep_the_manager_alive
tests/test_wi218_pool_finalization.py::test_context_manager_closes_the_pool
tests/test_wi218_pool_finalization.py::test_context_manager_closes_the_pool_on_error
tests/test_wi223_principal_binding.py::TestReplayCatchesCrossProjectKey::test_cross_project_key_is_a_binding_failure
tests/test_wi223_principal_binding.py::TestReplayCatchesCrossProjectKey::test_binding_failure_names_the_unregistered_key
tests/test_wi223_principal_binding.py::TestReplayCatchesCrossProjectKey::test_strict_binding_makes_replay_exit_nonzero
tests/test_wi223_principal_binding.py::TestCollapsedBranchIsSplit::test_asymmetric_event_from_unregistered_actor_fails
tests/test_wi223_principal_binding.py::TestCollapsedBranchIsSplit::test_error_says_unregistered_signer
tests/test_wi223_principal_binding.py::TestHmacOnlyDeploymentStaysGreen::test_hmac_only_chain_reports_no_binding_failures
tests/test_wi223_principal_binding.py::TestHmacOnlyDeploymentStaysGreen::test_unregistered_actor_alongside_registered_one_is_skipped
tests/test_wi223_principal_binding.py::TestProvisionPrincipalRefusesCollision::test_second_project_provisioning_is_refused
tests/test_wi223_principal_binding.py::TestProvisionPrincipalRefusesCollision::test_reuse_existing_key_registers_the_same_public_key
tests/test_wi223_principal_binding.py::TestProvisionPrincipalRefusesCollision::test_reprovisioning_same_project_is_still_idempotent
tests/test_wi223_principal_binding.py::TestReportNeverClaimsAnUncheckedZero::test_unverified_report_says_so
tests/test_wi223_principal_binding.py::TestReportNeverClaimsAnUncheckedZero::test_verified_report_publishes_the_zero
tests/test_wi223_principal_binding.py::TestReportNeverClaimsAnUncheckedZero::test_in_memory_backend_never_claims_verification
tests/test_wi223_principal_binding.py::TestReportNeverClaimsAnUncheckedZero::test_cli_replay_verifies_by_default
tests/test_wi223_principal_binding.py::TestReportNeverClaimsAnUncheckedZero::test_cli_opt_out_is_labelled_not_verified
tests/test_wi223_principal_binding.py::TestDoctorSeesTheCollision::test_registration_check_fails_on_cross_project_key
tests/test_wi223_principal_binding.py::TestDoctorSeesTheCollision::test_registration_check_passes_when_aligned
tests/test_wi223_principal_binding.py::TestDoctorSeesTheCollision::test_hmac_only_key_file_is_skipped_not_failed
tests/test_wi223_principal_binding.py::TestSelectionRuleIsShared::test_prefers_the_last_active_asymmetric_key
tests/test_wi223_principal_binding.py::TestSelectionRuleIsShared::test_matches_keyset_resolution
tests/test_wi223_principal_binding.py::TestRefusalIsClassifiedAsRefusal::test_message_lands_in_the_refused_branch
tests/test_wi223_principal_binding.py::TestRefusalIsClassifiedAsRefusal::test_guard_is_silent_when_the_key_file_is_clean
tests/test_wi223_principal_binding.py::TestRefusalIsClassifiedAsRefusal::test_guard_ignores_a_revoked_entry
tests/test_wi224_claim_lineage.py::TestClaimEventsRecordActorMetadata::test_claim_acquired_records_actor_metadata
tests/test_wi224_claim_lineage.py::TestClaimEventsRecordActorMetadata::test_claim_heartbeat_and_release_record_actor_metadata
tests/test_wi224_claim_lineage.py::TestClaimEventsRecordActorMetadata::test_claim_without_metadata_records_none
tests/test_wi224_claim_lineage.py::TestClaimEventsRecordActorMetadata::test_replay_verifies_claims_with_and_without_metadata
tests/test_wi224_claim_lineage.py::TestDeriveAuthorsReadsClaimLineage::test_claim_acquired_with_lineage_declares_the_author
tests/test_wi224_claim_lineage.py::TestDeriveAuthorsReadsClaimLineage::test_claim_acquired_without_lineage_still_flags_undeclared
tests/test_wi224_claim_lineage.py::TestCrossLineageGateOnClaimedItem::test_claimed_item_passes_cross_lineage_review
tests/test_wi224_claim_lineage.py::TestCrossLineageGateOnClaimedItem::test_heartbeat_with_lineage_does_not_poison_the_gate
tests/test_wi224_claim_lineage.py::TestCrossLineageGateOnClaimedItem::test_unattributed_claim_still_requires_acknowledgment
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_resolves_with_no_vault_token_in_the_environment
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_it_actually_logged_in_via_approle
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_secret_id_is_read_from_the_file
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_role_id_may_also_come_from_a_file
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_custom_approle_mount_is_honoured
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_approle_wins_when_a_token_is_also_present
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_response_wrapped_secret_id_is_unwrapped_on_the_host
tests/test_wi228_vault_approle.py::TestAppRoleOnlyResolve::test_unwrapped_secret_id_survives_for_relogin
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_reports_approle_and_where_each_credential_came_from
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_reports_the_token_method_distinctly
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_status_never_contains_credential_values
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_configured_method_is_known_before_any_network_call
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_probe_distinguishes_declared_from_working
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_lease_is_reported
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_module_level_status_reports_a_missing_provider_honestly
tests/test_wi228_vault_approle.py::TestAuthMethodReporting::test_public_facade_exports_it
tests/test_wi228_vault_approle.py::TestFailClosed::test_role_id_without_secret_id_refuses
tests/test_wi228_vault_approle.py::TestFailClosed::test_secret_id_without_role_id_refuses
tests/test_wi228_vault_approle.py::TestFailClosed::test_partial_approle_never_falls_back_to_the_dev_token
tests/test_wi228_vault_approle.py::TestFailClosed::test_missing_secret_id_file_names_the_path
tests/test_wi228_vault_approle.py::TestFailClosed::test_empty_secret_id_file_is_a_failed_delivery
tests/test_wi228_vault_approle.py::TestFailClosed::test_rejected_login_says_what_to_do
tests/test_wi228_vault_approle.py::TestFailClosed::test_no_credentials_at_all_names_both_options
tests/test_wi228_vault_approle.py::TestFailClosed::test_response_wrapped_without_a_file_refuses
tests/test_wi228_vault_approle.py::TestFailClosed::test_spent_wrapping_token_is_actionable
tests/test_wi228_vault_approle.py::TestFailClosed::test_unreachable_vault_does_not_blame_the_credentials
tests/test_wi228_vault_approle.py::TestFailClosed::test_a_real_refusal_still_points_at_the_secret_id
tests/test_wi228_vault_approle.py::TestFailClosed::test_no_vault_addr_still_reported_first
tests/test_wi228_vault_approle.py::TestFailClosed::test_failures_never_echo_credential_values
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_reauthenticates_before_the_lease_expires
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_recovers_when_the_token_dies_without_warning
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_a_policy_denial_is_not_retried_as_an_expiry
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_a_dead_static_token_is_reported_not_retried
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_reauth_failure_fails_closed_rather_than_looping
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_a_lease_less_token_is_not_re_authenticated_pointlessly
tests/test_wi228_vault_approle.py::TestTokenLifecycle::test_reauth_margin_scales_down_for_short_leases
tests/test_wi228_vault_approle.py::TestErrorMapping::test_absent_path_is_a_clear_error_not_a_traceback
tests/test_wi228_vault_approle.py::TestErrorMapping::test_a_403_carries_structured_remediation
tests/test_wi228_vault_approle.py::TestErrorMapping::test_backend_message_text_never_reaches_the_error
tests/test_wi228_vault_approle.py::TestErrorMapping::test_three_segment_and_hash_field_refs_are_rejected[kv/too/short]
tests/test_wi228_vault_approle.py::TestErrorMapping::test_three_segment_and_hash_field_refs_are_rejected[kv/agent-suite/regista#signing_key]
tests/test_wi228_vault_approle.py::TestErrorMapping::test_three_segment_and_hash_field_refs_are_rejected[secret/agent-suite/regista#signing_key]
tests/test_wi228_vault_approle.py::TestErrorMapping::test_delete_of_an_absent_secret_is_idempotent
tests/test_wi228_vault_approle.py::TestErrorMapping::test_delete_does_not_report_a_403_as_already_absent
tests/test_wi228_vault_approle.py::TestErrorMapping::test_delete_removes_only_the_named_field
tests/test_wi228_vault_approle.py::TestErrorMapping::test_store_round_trips
tests/test_wi228_vault_approle.py::TestNoAmbientCredential::test_client_is_constructed_with_an_empty_token
tests/test_wi228_vault_approle.py::TestNoAmbientCredential::test_hvac_really_does_pick_up_ambient_credentials
tests/test_wi228_vault_approle.py::TestNoAmbientCredential::test_a_dotfile_token_does_not_make_a_bare_host_resolve
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_resolves_from_an_acb_written_plane_file
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_export_prefix_quotes_and_comments_are_tolerated
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_non_vault_keys_are_ignored
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_process_environment_wins_over_the_plane_file
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_a_named_but_missing_plane_file_fails_closed
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_auth_status_reports_a_broken_plane_file_instead_of_raising
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_response_wrapped_delivery_still_available_alongside
tests/test_wi228_vault_approle.py::TestAcbPlaneFileInterop::test_acb_and_regista_agree_that_approle_beats_a_token
tests/test_wi228_vault_approle.py::TestAuthShape::test_token_only
tests/test_wi228_vault_approle.py::TestAuthShape::test_nothing_configured
tests/test_wi228_vault_approle.py::TestAuthShape::test_file_is_preferred_over_the_inline_variable
tests/test_wi228_vault_approle.py::TestAuthShape::test_inline_secret_id_is_still_accepted
tests/test_wi228_vault_approle.py::TestAuthShape::test_to_dict_carries_no_values
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_parsing[1]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_parsing[true]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_parsing[TRUE]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_parsing[yes]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_parsing[on]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_defaults_off[0]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_defaults_off[false]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_defaults_off[no]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_defaults_off[]
tests/test_wi228_vault_approle.py::TestAuthShape::test_response_wrapped_flag_defaults_off[maybe]
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_doctor_grades_approle_ok
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_doctor_warns_on_the_dev_token
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_doctor_fails_on_unusable_approle_material
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_doctor_skips_when_no_vault_is_configured
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_doctor_row_is_in_the_report
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_cli_auth_status_json
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_cli_auth_status_text
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_cli_auth_status_reports_without_probing
tests/test_wi228_vault_approle.py::TestDoctorAndCli::test_cli_probe_failure_exits_nonzero
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_resolves_with_no_vault_token
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_reports_approle_as_the_active_method
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_status_carries_no_credential_values
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_a_ref_outside_the_policy_is_a_clean_error
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_a_policy_denial_does_not_trigger_a_relogin
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_response_wrapped_secret_id_delivery
tests/test_wi228_vault_approle_live.py::TestLiveAppRole::test_survives_a_real_lease_expiry
tests/test_wi229_cli_contract.py::TestProvisionJsonExitCode::test_json_error_body_exits_nonzero
tests/test_wi229_cli_contract.py::TestProvisionJsonExitCode::test_machine_readable_channel_still_carries_the_answer
tests/test_wi229_cli_contract.py::TestProvisionJsonExitCode::test_text_and_json_agree_on_the_exit_code
tests/test_wi229_cli_contract.py::TestProvisionJsonExitCode::test_success_still_exits_zero
tests/test_wi229_cli_contract.py::TestProvisionJsonExitCode::test_partial_failure_picks_a_side
tests/test_wi229_cli_contract.py::TestProvisionPrincipalJsonExitCode::test_json_error_body_exits_nonzero
tests/test_wi229_cli_contract.py::TestVerifyVerbsJsonExitCode::test_bundle_verify_json_exits_nonzero_when_unverified
tests/test_wi229_cli_contract.py::TestVerifyVerbsJsonExitCode::test_archive_verify_exits_nonzero_when_unverified[json]
tests/test_wi229_cli_contract.py::TestVerifyVerbsJsonExitCode::test_archive_verify_exits_nonzero_when_unverified[text]
tests/test_wi229_cli_contract.py::TestVerifyVerbsJsonExitCode::test_archive_verify_still_zero_when_verified
tests/test_wi229_cli_contract.py::TestVerifyVerbsJsonExitCode::test_bundle_verify_json_still_zero_when_verified
tests/test_wi229_cli_contract.py::TestSecretsForbiddenEnvelope::test_forbidden_becomes_the_error_envelope
tests/test_wi229_cli_contract.py::TestSecretsForbiddenEnvelope::test_envelope_names_the_exception_type_not_its_text
tests/test_wi229_cli_contract.py::TestSecretsForbiddenEnvelope::test_text_mode_also_avoids_the_traceback
tests/test_wi229_cli_contract.py::TestSecretsForbiddenEnvelope::test_delete_path_is_covered_too
tests/test_wi229_cli_contract.py::TestSecretsForbiddenEnvelope::test_a_registaerror_still_reports_its_own_code
tests/test_wi229_cli_contract.py::TestPrincipalEnrollKeyPath::test_canonical_key_path_is_honoured
tests/test_wi229_cli_contract.py::TestPrincipalEnrollKeyPath::test_legacy_alias_still_works
tests/test_wi229_cli_contract.py::TestPrincipalEnrollKeyPath::test_canonical_wins_over_the_alias
tests/test_wi229_cli_contract.py::TestPrincipalEnrollKeyPath::test_explicit_flag_still_wins
tests/test_wi229_cli_contract.py::TestPrincipalEnrollKeyPath::test_the_fix_reaches_every_verb_on_the_shared_helper
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_exit_is_decided_outside_the_format_branch[archive verify-cmd_archive_verify]
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_exit_is_decided_outside_the_format_branch[archive verify-chain-cmd_archive_verify_chain]
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_exit_is_decided_outside_the_format_branch[bundle verify-cmd_bundle_verify]
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_exit_is_decided_outside_the_format_branch[provision-cmd_provision]
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_exit_is_decided_outside_the_format_branch[provision-principal-cmd_provision_principal]
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_the_scan_detects_the_shape_it_claims_to
tests/test_wi229_cli_contract.py::TestJsonExitCodeAudit::test_the_audit_list_covers_every_such_handler
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_raw_32_bytes_pass_through
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_base64url_unpadded_decodes
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_base64_standard_padded_decodes
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_base64url_alphabet_is_distinguished
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_trailing_newline_is_tolerated
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_hex_decodes
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_hex_with_newline_decodes
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_hex_is_never_misread_as_base64
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_32_char_text_is_used_raw
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_wrong_size_base64_fails_at_load
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_undecodable_text_names_the_contract
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_non_ascii_wrong_length_fails_at_load
tests/test_wi231_key_encoding.py::TestDecodeKeyMaterial::test_empty_material_fails
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_base64url_file_ref_roundtrips
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_raw_file_ref_still_roundtrips
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_hex_env_ref_roundtrips
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_encrypt_with_bad_key_fails_at_load_naming_ref
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_callable_resolver_output_is_decoded
tests/test_wi231_key_encoding.py::TestEncodedKeyEndToEnd::test_callable_resolver_bad_material_names_key_id
tests/test_wi234_actor_metadata_limit.py::TestValidateActorMetadata::test_none_passes
tests/test_wi234_actor_metadata_limit.py::TestValidateActorMetadata::test_small_metadata_passes
tests/test_wi234_actor_metadata_limit.py::TestValidateActorMetadata::test_exactly_at_limit_passes
tests/test_wi234_actor_metadata_limit.py::TestValidateActorMetadata::test_one_byte_over_limit_rejected
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_create_work_item_rejects_oversized_metadata
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_transition_rejects_oversized_metadata
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_create_link_rejects_oversized_metadata
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_update_not_before_rejects_oversized_metadata
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_metadata_between_64kb_and_1mib_is_now_rejected
tests/test_wi234_actor_metadata_limit.py::TestLimitEnforcedAtMutationEntryPoints::test_metadata_under_limit_still_accepted
tests/test_wi234_actor_metadata_limit.py::TestClaimPathHonoursTheLimit::test_oversized_claim_metadata_rejected
tests/test_wi234_actor_metadata_limit.py::TestClaimPathHonoursTheLimit::test_claim_metadata_under_limit_accepted
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_unknown_inline_encoding_fails_at_load
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_rejection_names_the_supported_encodings
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_unknown_encoding_on_a_secret_ref_entry_fails_at_load
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_unknown_encoding_fails_even_under_an_env_override
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_non_string_encoding_is_rejected_not_guessed
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_base64_still_decodes_inline
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_base64_still_decodes_through_a_secret_ref
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_explicit_utf8_is_the_spelled_out_default
tests/test_wi236_key_encoding_fingerprint.py::TestEncodingContract::test_absent_encoding_uses_textual_bytes_even_when_it_looks_base64
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_reports_source_kind_per_key
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_env_override_is_attributed_to_env
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_fingerprint_is_over_the_effective_bytes
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_reports_the_applied_encoding
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_never_contains_key_material
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_before_after_equality_across_a_custody_change
tests/test_wi236_key_encoding_fingerprint.py::TestDescribeKeys::test_the_trap_migration_is_caught_by_inequality
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_json_output_is_stable_and_parseable
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_honors_regista_key_path_like_doctor_does
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_honors_the_legacy_alias_too
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_explicit_flag_wins
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_single_key_filter
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_unknown_key_id_is_an_enveloped_error
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_no_key_path_configured_is_an_enveloped_error
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_text_output_never_contains_key_material
tests/test_wi236_key_encoding_fingerprint.py::TestKeysFingerprintCli::test_docstring_documents_the_before_after_primitive
tests/test_wi237_store_new.py::TestVaultStoreNew::test_creates_when_absent
tests/test_wi237_store_new.py::TestVaultStoreNew::test_the_create_is_cas_0
tests/test_wi237_store_new.py::TestVaultStoreNew::test_refuses_a_pre_existing_path_with_different_material
tests/test_wi237_store_new.py::TestVaultStoreNew::test_idempotent_rerun_reports_already_present
tests/test_wi237_store_new.py::TestVaultStoreNew::test_store_then_store_new_of_the_same_material_matches
tests/test_wi237_store_new.py::TestVaultStoreNew::test_a_path_with_only_other_fields_still_refuses
tests/test_wi237_store_new.py::TestVaultStoreNew::test_read_back_mismatch_raises
tests/test_wi237_store_new.py::TestVaultStoreNew::test_lost_cas_race_with_matching_material_is_already_present
tests/test_wi237_store_new.py::TestVaultStoreNew::test_lost_cas_race_with_different_material_refuses
tests/test_wi237_store_new.py::TestVaultStoreNew::test_short_ref_is_rejected_before_any_network_call
tests/test_wi237_store_new.py::TestFileStoreNew::test_creates_when_absent
tests/test_wi237_store_new.py::TestFileStoreNew::test_created_file_is_0600
tests/test_wi237_store_new.py::TestFileStoreNew::test_refuses_a_pre_existing_file_with_different_content
tests/test_wi237_store_new.py::TestFileStoreNew::test_idempotent_rerun_reports_already_present
tests/test_wi237_store_new.py::TestFileStoreNew::test_no_fallback_name_is_ever_created
tests/test_wi237_store_new.py::TestFileStoreNew::test_read_back_mismatch_raises
tests/test_wi237_store_new.py::TestDispatch::test_dispatches_to_the_file_provider
tests/test_wi237_store_new.py::TestDispatch::test_providers_without_create_only_semantics_refuse[env:SOME_VAR]
tests/test_wi237_store_new.py::TestDispatch::test_providers_without_create_only_semantics_refuse[literal:some-value]
tests/test_wi237_store_new.py::TestDispatch::test_empty_ref_is_invalid
tests/test_wi237_store_new.py::TestDispatch::test_public_facade_exports_it
tests/test_wi242_readonly.py::TestReplayNoResidue::test_replay_leaves_no_permanent_replay_tables
tests/test_wi242_readonly.py::TestReplayReadOnly::test_replay_works_under_read_only
tests/test_wi242_readonly.py::TestConnectReadOnly::test_read_only_connect_succeeds_on_migrated_schema
tests/test_wi242_readonly.py::TestConnectReadOnly::test_read_only_connect_fails_closed_on_missing_schema
tests/test_wi242_readonly.py::TestConnectReadOnly::test_read_only_connect_fails_closed_on_missing_migrations_table
tests/test_wi242_readonly.py::TestConnectReadOnly::test_normal_connect_creates_migrations_table
tests/test_wi242_readonly.py::TestReplayEntriesPortable::test_normal_mode_populates_entries
tests/test_wi242_readonly.py::TestReplayEntriesPortable::test_read_only_mode_populates_entries
tests/test_wi242_readonly.py::TestReplayEntriesPortable::test_entries_round_trip_with_warnings
tests/test_wi242_readonly.py::TestReplayTempTablesDropped::test_no_temp_table_residue_after_success
tests/test_wi243_schema_leak.py::TestDropProjectSchemaUnregistersCatalog::test_drop_removes_catalog_row
tests/test_wi243_schema_leak.py::TestDropProjectSchemaUnregistersCatalog::test_drop_is_idempotent_and_safe_on_missing_schema
tests/test_wi243_schema_leak.py::TestCreateProjectRegistersCatalog::test_create_registers_and_drop_cleans
tests/test_wi243_schema_leak.py::TestCatalogRowCountStableAcrossCreateDrop::test_create_drop_roundtrip_leaves_no_net_growth
tests/test_wi243_schema_leak.py::test_fixture_pattern_leaves_no_schema
tests/test_wi246_concurrent_create.py::TestConcurrentCreateProject::test_concurrent_create_project_no_deadlock
tests/test_wi246_concurrent_create.py::TestConcurrentCreateProject::test_concurrent_provision_plus_create_project_no_deadlock
tests/test_wi246_concurrent_create.py::TestCatalogBootstrapConcurrency::test_ensure_catalog_table_concurrent
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_matches_the_estates_principal_kind_vocabulary
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_every_valid_kind_is_accepted[agent]
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_every_valid_kind_is_accepted[break_glass]
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_every_valid_kind_is_accepted[human]
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_every_valid_kind_is_accepted[service]
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_absent_kind_is_still_legal
tests/test_wi262_principal_kind_ingress.py::TestClosedKindSet::test_explicit_null_kind_is_still_legal
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[ai-agent]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[robot]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[system]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[   ]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[42]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[True]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_unknown_kind_rejected[kind7]
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_error_names_the_allowed_set
tests/test_wi262_principal_kind_ingress.py::TestRejectsUnknownKinds::test_actor_kind_system_is_not_a_principal_kind
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_kind_is_canonicalised_in_place[Agent-agent]
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_kind_is_canonicalised_in_place[AGENT-agent]
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_kind_is_canonicalised_in_place[ agent -agent]
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_kind_is_canonicalised_in_place[\tHuman\n-human]
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_kind_is_canonicalised_in_place[Break_Glass-break_glass]
tests/test_wi262_principal_kind_ingress.py::TestCanonicalisation::test_canonical_value_reaches_the_stored_event
tests/test_wi262_principal_kind_ingress.py::TestIngressEndToEnd::test_transition_rejects_unknown_principal_kind
tests/test_wi262_principal_kind_ingress.py::TestIngressEndToEnd::test_legacy_stored_kind_still_fails_closed_at_the_gate
tests/test_wi262_principal_kind_ingress.py::TestIngressEndToEnd::test_recognised_kind_still_writes
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_per_work_item_hash_chain_break_counts_as_chain_breaks
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_global_chain_orphan_counts_as_chain_breaks
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_global_chain_head_mismatch_counts_as_chain_breaks
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_clean_replay_reports_zero_chain_breaks
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_cli_replay_exits_nonzero_and_prints_chain_breaks
tests/test_wi266_fail_closed.py::TestChainBreaksFailClosed::test_cli_replay_json_serializes_chain_breaks
tests/test_wi266_fail_closed.py::TestOrphanProjectionRowHaltsEverywhere::test_whole_store_orphan_with_created_event_halts
tests/test_wi266_fail_closed.py::TestOrphanProjectionRowHaltsEverywhere::test_scoped_orphan_with_created_event_halts
tests/test_wi266_fail_closed.py::TestOrphanProjectionRowHaltsEverywhere::test_in_memory_orphan_with_created_event_halts
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_work_item_with_deleted_events_halts
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_scoped_replay_of_work_item_with_deleted_events_halts
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_fabricated_projection_row_halts
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_empty_log_with_head_set_is_a_hard_halt
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_in_memory_work_item_with_deleted_events_halts
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_in_memory_empty_log_with_head_set_is_a_hard_halt
tests/test_wi266_fail_closed.py::TestUnvisitedProjectionRowsHalt::test_in_memory_clean_replay_reports_zero_chain_breaks
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[event_id]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[entity_kind]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[entity_id]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[actor_id]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[actor_kind]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[actor_metadata]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[key_id]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[event_seq]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[workflow_name]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[workflow_version]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[timestamp]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[hash_alg]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[on_behalf_of]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[transition]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[payload]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[prev_event_hash]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_row_rewrite_is_detected_and_named[prev_global_event_hash]
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_nulling_a_signed_chain_link_is_a_presence_mismatch
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_adding_an_unsigned_chain_link_is_a_presence_mismatch
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_work_item_id_entity_id_alias_break_is_detected
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_key_id_rewrite_reports_a_mismatch_not_an_unknown_key
tests/test_wi267_row_authentication.py::TestMutationMatrix::test_every_reconciled_field_is_covered_by_this_matrix
tests/test_wi267_row_authentication.py::TestGlobalSeqIsUnsignedByDesign::test_global_seq_rewrite_is_not_a_mismatch
tests/test_wi267_row_authentication.py::TestGlobalSeqIsUnsignedByDesign::test_global_seq_is_never_authenticated
tests/test_wi267_row_authentication.py::TestGlobalSeqIsUnsignedByDesign::test_a_signed_global_seq_still_has_to_agree
tests/test_wi267_row_authentication.py::TestNegativeControls::test_honest_v5_event_is_fully_authenticated
tests/test_wi267_row_authentication.py::TestNegativeControls::test_honest_v4_event_is_legacy_partial_and_names_what_it_did_not_sign
tests/test_wi267_row_authentication.py::TestNegativeControls::test_v4_row_field_the_version_does_sign_still_fails
tests/test_wi267_row_authentication.py::TestNegativeControls::test_v4_is_invalid_when_policy_does_not_name_it
tests/test_wi267_row_authentication.py::TestNegativeControls::test_cutover_watermark_bounds_legacy
tests/test_wi267_row_authentication.py::TestNoFallback::test_corrupted_envelope_is_not_rescued_by_the_row
tests/test_wi267_row_authentication.py::TestNoFallback::test_a_downgraded_stored_envelope_is_not_rescued
tests/test_wi267_row_authentication.py::TestNoFallback::test_missing_envelope_is_unverifiable_not_rebuilt
tests/test_wi267_row_authentication.py::TestNoFallback::test_an_unresolvable_key_never_passes
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_attacker_authored_object_is_unknown_schema_not_v1
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_subsets_are_unknown_schema[empty]
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_subsets_are_unknown_schema[junk]
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_subsets_are_unknown_schema[v1_subset]
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_subsets_are_unknown_schema[v1_missing_required]
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_a_v5_envelope_missing_actor_metadata_is_not_a_v4_event
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_an_unrecognised_key_halts_rather_than_degrading
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_known_versions_still_classify
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_duplicate_keys_are_refused
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_non_finite_numbers_are_refused
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_non_object_top_level_is_refused
tests/test_wi267_row_authentication.py::TestStrictEnvelopeParsing::test_unparseable_envelope_is_invalid
tests/test_wi267_row_authentication.py::TestSchemeBinding::test_site_1_dispatch_rejects_a_row_claiming_hmac_against_an_ed25519_key
tests/test_wi267_row_authentication.py::TestSchemeBinding::test_site_2_principal_registration_requirement_uses_the_resolved_key
tests/test_wi267_row_authentication.py::TestSchemeBinding::test_site_3_binding_does_not_let_a_row_claimed_hmac_skip_the_key_filter
tests/test_wi267_row_authentication.py::TestSchemeBinding::test_site_3_symmetric_only_registries_keep_the_legacy_allowance
tests/test_wi267_row_authentication.py::TestSchemeBinding::test_site_3_registry_scheme_disagreement_is_an_error
tests/test_wi267_row_authentication.py::TestKeylessInMemory::test_in_memory_keyless_is_unsigned_not_tampered
tests/test_wi267_row_authentication.py::TestKeylessInMemory::test_keyless_is_not_accepted_by_default
tests/test_wi267_row_authentication.py::TestKeylessInMemory::test_the_same_bytes_in_postgres_are_an_attack
tests/test_wi267_row_authentication.py::TestResultModelInvariants::test_a_mismatch_cannot_be_constructed_as_anything_but_invalid
tests/test_wi267_row_authentication.py::TestResultModelInvariants::test_global_seq_cannot_be_declared_authenticated
tests/test_wi267_row_authentication.py::TestResultModelInvariants::test_legacy_must_name_its_unsigned_fields
tests/test_wi267_row_authentication.py::TestResultModelInvariants::test_no_policy_turns_a_mismatch_into_a_pass
tests/test_wi267_row_authentication.py::TestResultModelInvariants::test_field_mismatch_repr_does_not_leak_payload_content
tests/test_wi267_row_authentication.py::TestNullColumnMasking::test_nulled_entity_id_is_a_mismatch_not_authenticated
tests/test_wi267_row_authentication.py::TestNullColumnMasking::test_nulled_work_item_id_breaks_the_alias
tests/test_wi267_row_authentication.py::TestNullColumnMasking::test_nulled_column_does_not_collapse_to_the_signed_default[hash_alg]
tests/test_wi267_row_authentication.py::TestNullColumnMasking::test_nulled_column_does_not_collapse_to_the_signed_default[entity_kind]
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_a_genuine_pre002_row_probes_consistent
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_the_on_behalf_of_dropped_v1_variant_probes_consistent
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_a_v2_pre002_row_probes_consistent
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_deleting_a_v5_envelope_probes_inconsistent
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_rewriting_a_pre002_row_probes_inconsistent
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_the_probe_is_unknown_when_it_cannot_run
tests/test_wi267_row_authentication.py::TestAbsentEnvelopeProbe::test_the_probe_can_never_grant_acceptance
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[transition-approve-transition]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[payload-{"rewritten": true}-payload]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[actor_id-attacker-actor_id]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[actor_kind-human-actor_kind]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[actor_metadata-{"role": "admin"}-actor_metadata]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[workflow_name-other_wf-workflow_name]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[workflow_version-9-workflow_version]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[key_id-other-key-key_id]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_row_column_rewrite_fails_verification[hash_alg-sha-512-hash_alg]
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_timestamp_rewrite_fails_verification
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_timestamp_rendering_in_another_timezone_is_not_tamper
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_payload_key_reorder_is_not_tamper
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_global_seq_rewrite_is_not_reported_as_a_mismatch
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_replay_halts_on_a_rewritten_transition
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_replay_halts_on_a_rewritten_payload
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_a_broken_work_item_entity_alias_fails_verification
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_replay_halts_on_an_unknown_envelope_schema
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_deleting_an_envelope_halts_because_the_row_contradicts_itself
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_a_missing_envelope_on_a_consistent_row_is_counted_not_halted
tests/test_wi267_row_authentication.py::TestEndToEndPostgres::test_unverifiable_is_zero_on_a_clean_store
tests/test_wi267_row_authentication.py::TestInMemoryBackendParity::test_in_memory_row_rewrite_halts_replay
tests/test_wi267_row_authentication.py::TestInMemoryBackendParity::test_in_memory_envelope_deletion_halts_like_postgres
tests/test_wi267_row_authentication.py::TestInMemoryBackendParity::test_keyless_in_memory_reports_unverifiable
tests/test_wi285_lineage_registry.py::test_registry_is_the_release_controlled_family_vocabulary
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[claude-haiku]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[claude-opus]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[claude-sonnet]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[deepseek]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[fable]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[glm]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[gpt-luna]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[gpt-sol]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[gpt-terra]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[kimi]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[longcat]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[minimax]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[nemotron]
tests/test_wi285_lineage_registry.py::test_every_registered_family_is_accepted[qwen]
tests/test_wi285_lineage_registry.py::test_explicit_null_lineage_remains_undeclared
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[claude]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[opus]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[opus-5]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[claude-opus-5]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[claude-opus-4-8]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[glm-5.2]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[nemotron-3-ultra]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[openai/gpt-5.6-sol]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[umans-glm-5.2]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[opencode]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[codex]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[gpt-codex]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[ CLAUDE-OPUS ]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[]
tests/test_wi285_lineage_registry.py::test_unknown_ambiguous_and_versioned_tokens_are_rejected[42]
tests/test_wi285_lineage_registry.py::test_delegated_lineage_uses_the_same_registry
tests/test_wi285_lineage_registry.py::test_delegated_lineage_is_validated_without_principal_kind
tests/test_wi285_lineage_registry.py::test_unresolvable_values_never_compare_distinct
tests/test_wi285_lineage_registry.py::test_same_family_builds_compare_same_after_canonical_mapping
tests/test_wi285_lineage_registry.py::test_v6_producer_rejects_an_unknown_family
tests/test_wi285_lineage_registry.py::test_in_memory_write_refuses_unknown_lineage_before_emitting_event
tests/test_witness.py::TestValidateUrl::test_valid_https
tests/test_witness.py::TestValidateUrl::test_valid_http
tests/test_witness.py::TestValidateUrl::test_empty_rejected
tests/test_witness.py::TestValidateUrl::test_ftp_rejected
tests/test_witness.py::TestValidateEventFilter::test_none_passes
tests/test_witness.py::TestValidateEventFilter::test_valid_filter
tests/test_witness.py::TestValidateEventFilter::test_all_fields
tests/test_witness.py::TestValidateEventFilter::test_unknown_key_rejected
tests/test_witness.py::TestValidateEventFilter::test_non_list_value_rejected
tests/test_witness.py::TestValidateEventFilter::test_non_string_element_rejected
tests/test_witness.py::TestEventMatchesFilter::test_none_filter_matches_all
tests/test_witness.py::TestEventMatchesFilter::test_transition_filter_match
tests/test_witness.py::TestEventMatchesFilter::test_transition_filter_no_match
tests/test_witness.py::TestEventMatchesFilter::test_null_transition_excluded_when_filter_set
tests/test_witness.py::TestEventMatchesFilter::test_workflows_filter
tests/test_witness.py::TestEventMatchesFilter::test_work_item_types_filter
tests/test_witness.py::TestEventMatchesFilter::test_and_semantics
tests/test_witness.py::TestEventMatchesFilter::test_null_transition_works_with_workflow_only_filter
tests/test_witness.py::TestInMemoryWitness::test_register_witness
tests/test_witness.py::TestInMemoryWitness::test_register_witness_with_filter
tests/test_witness.py::TestInMemoryWitness::test_unregister_witness
tests/test_witness.py::TestInMemoryWitness::test_unregister_nonexistent_raises
tests/test_witness.py::TestInMemoryWitness::test_pause_witness
tests/test_witness.py::TestInMemoryWitness::test_reactivate_witness
tests/test_witness.py::TestInMemoryWitness::test_list_witnesses_filtered
tests/test_witness.py::TestInMemoryWitness::test_witness_receipts_created_on_event
tests/test_witness.py::TestInMemoryWitness::test_filter_skips_event
tests/test_witness.py::TestInMemoryWitness::test_deliver_pending_witness_receipts_noop
tests/test_witness_in_memory.py::TestDeliverNoTransport::test_no_transport_returns_zero
tests/test_witness_in_memory.py::TestDeliverNoTransport::test_no_transport_with_receipts_returns_zero
tests/test_witness_in_memory.py::TestDeliverSuccess::test_successful_delivery_confirms_receipt
tests/test_witness_in_memory.py::TestDeliverSuccess::test_successful_delivery_stores_witness_signature
tests/test_witness_in_memory.py::TestDeliverSuccess::test_delivery_resets_consecutive_failures
tests/test_witness_in_memory.py::TestDeliverSuccess::test_multiple_receipts_delivered
tests/test_witness_in_memory.py::TestDeliverFailure::test_failure_increments_retry_count
tests/test_witness_in_memory.py::TestDeliverFailure::test_receipt_paused_after_max_retries
tests/test_witness_in_memory.py::TestDeliverFailure::test_paused_receipt_not_redelivered
tests/test_witness_in_memory.py::TestDeliverFailure::test_transport_exception_treated_as_failure
tests/test_witness_in_memory.py::TestDeliverFailure::test_http_error_code_without_error_field
tests/test_witness_in_memory.py::TestAutoPause::test_witness_auto_paused_after_max_failures
tests/test_witness_in_memory.py::TestAutoPause::test_paused_witness_not_processed
tests/test_witness_in_memory.py::TestSignSecret::test_signature_header_set_when_sign_secret_provided
tests/test_witness_in_memory.py::TestSignSecret::test_no_signature_header_without_sign_secret
tests/test_witness_in_memory.py::TestSignSecret::test_custom_headers_passed_through
tests/test_witness_in_memory.py::TestEventPayload::test_payload_contains_event_data
tests/test_witness_in_memory.py::TestEventPayload::test_witness_scheme_stored_on_receipt
tests/test_witness_in_memory.py::TestCreateProjectWithTransport::test_create_project_accepts_witness_transport
tests/test_witness_in_memory.py::TestConcurrentDelivery::test_concurrent_delivery_no_double_delivery
tests/test_witness_in_memory.py::TestConcurrentDelivery::test_concurrent_delivery_multiple_receipts_no_double
tests/test_witness_integration.py::TestWitnessRegistration::test_register_witness
tests/test_witness_integration.py::TestWitnessRegistration::test_register_witness_with_filter
tests/test_witness_integration.py::TestWitnessRegistration::test_register_witness_with_headers
tests/test_witness_integration.py::TestWitnessRegistration::test_unregister_witness
tests/test_witness_integration.py::TestWitnessRegistration::test_unregister_nonexistent_raises
tests/test_witness_integration.py::TestWitnessRegistration::test_pause_witness
tests/test_witness_integration.py::TestWitnessRegistration::test_reactivate_witness
tests/test_witness_integration.py::TestWitnessRegistration::test_list_witnesses_filtered
tests/test_witness_integration.py::TestWitnessRegistration::test_pause_nonexistent_raises
tests/test_witness_integration.py::TestWitnessReceipts::test_receipt_created_on_create_work_item
tests/test_witness_integration.py::TestWitnessReceipts::test_filter_skips_event
tests/test_witness_integration.py::TestWitnessReceipts::test_multiple_witnesses
tests/test_witness_integration.py::TestWitnessReceipts::test_receipt_created_on_transition
tests/test_witness_integration.py::TestWitnessReceipts::test_receipt_created_on_append_event
tests/test_witness_integration.py::TestWitnessReceipts::test_list_receipts_by_witness
tests/test_witness_integration.py::TestWitnessReceipts::test_deliver_pending_receipts_returns_zero
tests/test_witness_integration.py::TestWitnessReceipts::test_unregister_abandons_pending_receipts
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_register_witness_with_ed25519_public_key
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_ed25519_public_key_wrong_length_rejected
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_ed25519_without_public_key_rejected
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_invalid_key_scheme_rejected
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_hmac_witness_without_public_key_accepted
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_delivery_verifies_valid_ed25519_signature
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_delivery_rejects_missing_ed25519_signature
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_delivery_rejects_invalid_ed25519_signature
tests/test_witness_integration.py::TestBC297AsymmetricWitnessKeys::test_delivery_pauses_witness_and_receipt_after_invalid_ed25519_retries
tests/test_witness_key_enrollment.py::TestWitnessPrincipalId::test_format
tests/test_witness_key_enrollment.py::TestWitnessPrincipalId::test_accepts_str
tests/test_witness_key_enrollment.py::TestEnrollOnRegister::test_ed25519_witness_enrolls_into_registry
tests/test_witness_key_enrollment.py::TestEnrollOnRegister::test_enrolled_key_fingerprint_matches
tests/test_witness_key_enrollment.py::TestEnrollOnRegister::test_hmac_witness_not_enrolled
tests/test_witness_key_enrollment.py::TestEnrollOnRegister::test_enrolled_key_discoverable_via_principals_facade
tests/test_witness_key_enrollment.py::TestRotateWitnessKey::test_rotate_supersedes_old_key
tests/test_witness_key_enrollment.py::TestRotateWitnessKey::test_rotate_updates_witness_registration_pubkey
tests/test_witness_key_enrollment.py::TestRotateWitnessKey::test_rotate_hmac_witness_rejected
tests/test_witness_key_enrollment.py::TestRotateWitnessKey::test_rotate_nonexistent_raises
tests/test_witness_key_enrollment.py::TestRotateWitnessKey::test_rotate_wrong_length_rejected
tests/test_witness_key_enrollment.py::TestRevokeOnUnregister::test_unregister_revokes_enrolled_key
tests/test_witness_key_enrollment.py::TestRevokeOnUnregister::test_unregister_hmac_witness_no_principal_change
tests/test_witness_key_enrollment.py::TestEnrolledKeyAbsent::test_enrolled_key_none_for_unknown_witness
tests/test_witness_key_enrollment.py::TestDoctorCheck::test_check_ok_when_enrolled
tests/test_witness_key_enrollment.py::TestDoctorCheck::test_check_ok_when_no_ed25519_witnesses
tests/test_witness_key_enrollment.py::TestDoctorCheck::test_check_warns_on_enrollment_gap
tests/test_witness_key_enrollment.py::TestDoctorCheck::test_check_warns_on_fingerprint_mismatch
tests/test_witness_key_enrollment.py::TestDeliveryStillVerifies::test_enrolled_witness_delivery_succeeds
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryEnrollOnRegister::test_ed25519_witness_enrolled
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryEnrollOnRegister::test_hmac_witness_not_enrolled
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryEnrollOnRegister::test_enrolled_via_facade
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryRotate::test_rotate_supersedes_and_activates
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryRotate::test_rotate_hmac_rejected
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryRotate::test_rotate_nonexistent_raises
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryRevokeOnUnregister::test_unregister_revokes_enrolled_key
tests/test_witness_key_enrollment_in_memory.py::TestInMemoryRevokeOnUnregister::test_unregister_hmac_no_op_on_enrollment
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_nonexistent_uuid_rejected
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_wrong_type_rejected
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_correct_type_accepted
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_invalid_uuid_format_rejected
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_optional_ref_with_none_accepted
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_untyped_ref_accepts_any_existing_uuid
tests/test_work_item_ref_validation.py::TestWorkItemRefCreateValidation::test_untyped_ref_rejects_nonexistent
tests/test_work_item_ref_validation.py::TestWorkItemRefTransitionValidation::test_transition_rejects_nonexistent_ref
tests/test_work_item_ref_validation.py::TestWorkItemRefTransitionValidation::test_transition_rejects_wrong_type_ref
tests/test_work_item_ref_validation.py::TestWorkItemRefTransitionValidation::test_transition_accepts_correct_type_ref
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_accepts_review_ref[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_accepts_review_ref[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_accepts_jury_ref[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_accepts_jury_ref[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_rejects_wrong_type_ref[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_rejects_wrong_type_ref[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_rejects_nonexistent_ref[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_rejects_nonexistent_ref[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_transition_accepts_matching_type[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_transition_accepts_matching_type[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_transition_rejects_non_matching_type[postgres]
tests/test_work_item_ref_validation.py::TestMultiTargetWorkItemRefCreateValidation::test_transition_rejects_non_matching_type[in_memory]
tests/test_work_item_ref_validation.py::TestMultiTargetRegistrationValidation::test_both_singular_and_plural_rejected
tests/test_work_item_ref_validation.py::TestMultiTargetRegistrationValidation::test_schema_rejects_both_singular_and_plural
tests/test_work_item_ref_validation.py::TestMultiTargetRegistrationValidation::test_unknown_type_in_plural_rejected
tests/test_work_item_ref_validation.py::TestMultiTargetRegistrationValidation::test_plural_form_round_trips_to_dict
tests/test_workflow_compose.py::TestDeepMerge::test_override_scalar
tests/test_workflow_compose.py::TestDeepMerge::test_deep_merge_dicts
tests/test_workflow_compose.py::TestDeepMerge::test_list_replace_without_key
tests/test_workflow_compose.py::TestDeepMerge::test_append_list
tests/test_workflow_compose.py::TestDeepMerge::test_append_to_missing
tests/test_workflow_compose.py::TestDeepMerge::test_append_non_list_raises
tests/test_workflow_compose.py::TestMergeLists::test_keyed_merge_override
tests/test_workflow_compose.py::TestMergeLists::test_keyed_merge_append
tests/test_workflow_compose.py::TestMergeLists::test_keyed_merge_remove
tests/test_workflow_compose.py::TestMergeLists::test_composite_key
tests/test_workflow_compose.py::TestResolveIncludes::test_single_file_no_extends
tests/test_workflow_compose.py::TestResolveIncludes::test_simple_extends
tests/test_workflow_compose.py::TestResolveIncludes::test_cycle_detection
tests/test_workflow_compose.py::TestResolveIncludes::test_max_depth
tests/test_workflow_compose.py::TestResolveIncludes::test_path_escape
tests/test_workflow_compose.py::TestResolveIncludes::test_missing_parent_file
tests/test_workflow_compose.py::TestResolveIncludes::test_diamond_not_allowed
tests/test_workflow_compose.py::TestComposeWorkflow::test_compose_workflow_with_transitions
