{"vulnerability": "GHSA-w3rx-r6r6-pgpr", "sightings": [{"uuid": "5de6bb95-33e4-46df-bc0e-8f6b90a102f7", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-w3rx-r6r6-pgpr", "type": "seen", "source": "https://gist.github.com/alexjohnbyrne44/f77a0ac2192c769065a4fcc0db1ff771", "content": "PR #74 V9 COMPLETE EXACT-HEAD GATE LOG PACKAGE\ncandidate_commit=df3dcbae60b9a63714672880453896ab6313796f\ncandidate_tree=43cd3c9762752fbf33a325b5a4e058bc6c7c8709\nincludes_failed_harness_attempts=true\n\n===== BEGIN gate_started_at.txt =====\n2026-08-28T16:56:09.0716318Z\n===== END gate_started_at.txt =====\n\n===== BEGIN gate_completed_at.txt =====\n2026-08-28T17:52:18.4613352Z\n===== END gate_completed_at.txt =====\n\n===== BEGIN 01_validate_repository.log =====\nRepository contract passed\nRequired files: 182\nRegistered sources: 51\nTEST used for selection: false\nLive betting authorized: false\n===== END 01_validate_repository.log =====\n\n===== BEGIN 02_unittest_discover.log =====\ntest_dedicated_non_owner_evaluator_acl_can_be_ready (contracts.test_evaluator_isolation.EvaluatorIsolationTest.test_dedicated_non_owner_evaluator_acl_can_be_ready) ... ok\ntest_hash_drift_or_administrator_research_token_blocks (contracts.test_evaluator_isolation.EvaluatorIsolationTest.test_hash_drift_or_administrator_research_token_blocks) ... ok\ntest_malformed_fact_envelope_is_rejected (contracts.test_evaluator_isolation.EvaluatorIsolationTest.test_malformed_fact_envelope_is_rejected) ... ok\ntest_missing_evaluator_and_broad_inherited_access_fail_closed (contracts.test_evaluator_isolation.EvaluatorIsolationTest.test_missing_evaluator_and_broad_inherited_access_fail_closed) ... ok\ntest_deserialization_or_identifier_emission_fails_closed (contracts.test_evaluator_isolation_v2.EvaluatorIsolationV2Test.test_deserialization_or_identifier_emission_fails_closed) ... ok\ntest_probe_schema_is_exact_and_role_specific (contracts.test_evaluator_isolation_v2.EvaluatorIsolationV2Test.test_probe_schema_is_exact_and_role_specific) ... ok\ntest_same_identity_or_research_byte_read_fails_closed (contracts.test_evaluator_isolation_v2.EvaluatorIsolationV2Test.test_same_identity_or_research_byte_read_fails_closed) ... ok\ntest_separate_denial_and_integrity_probes_can_be_ready (contracts.test_evaluator_isolation_v2.EvaluatorIsolationV2Test.test_separate_denial_and_integrity_probes_can_be_ready) ... ok\ntest_v1_receipt_semantics_are_hash_anchored_and_superseded (contracts.test_evaluator_isolation_v2.EvaluatorIsolationV2Test.test_v1_receipt_semantics_are_hash_anchored_and_superseded) ... ok\ntest_cli_emits_precise_immutable_receipt (contracts.test_evaluator_isolation_v2_cli.EvaluatorIsolationV2CliTest.test_cli_emits_precise_immutable_receipt) ... ok\ntest_probe_hash_must_match_split_envelope_digest (contracts.test_evaluator_isolation_v2_cli.EvaluatorIsolationV2CliTest.test_probe_hash_must_match_split_envelope_digest) ... ok\ntest_approved_manifest_exposes_fit_and_val_only (contracts.test_split_manifest.SplitManifestTest.test_approved_manifest_exposes_fit_and_val_only) ... ok\ntest_counts_and_chronological_boundaries_are_verified (contracts.test_split_manifest.SplitManifestTest.test_counts_and_chronological_boundaries_are_verified) ... ok\ntest_duplicate_or_overlapping_identity_is_rejected (contracts.test_split_manifest.SplitManifestTest.test_duplicate_or_overlapping_identity_is_rejected) ... ok\ntest_eligible_start_and_game_type_are_manifest_authority (contracts.test_split_manifest.SplitManifestTest.test_eligible_start_and_game_type_are_manifest_authority) ... ok\ntest_test_uid_payload_is_rejected_anywhere_in_research_manifest (contracts.test_split_manifest.SplitManifestTest.test_test_uid_payload_is_rejected_anywhere_in_research_manifest) ... ok\ntest_unapproved_boundaries_fail_closed_for_research_use (contracts.test_split_manifest.SplitManifestTest.test_unapproved_boundaries_fail_closed_for_research_use) ... ok\ntest_exact_record_comparison_reports_field_level_mismatch (evaluation.test_nflfastr_parity.NflfastRParityTest.test_exact_record_comparison_reports_field_level_mismatch) ... ok\ntest_expected_points_uses_released_seven_class_values (evaluation.test_nflfastr_parity.NflfastRParityTest.test_expected_points_uses_released_seven_class_values) ... ok\ntest_key_set_or_null_asymmetry_fails_parity (evaluation.test_nflfastr_parity.NflfastRParityTest.test_key_set_or_null_asymmetry_fails_parity) ... ok\ntest_r_tier1_receipt_is_pinned_and_never_reads_game_data (evaluation.test_nflfastr_parity.NflfastRParityTest.test_r_tier1_receipt_is_pinned_and_never_reads_game_data) ... ok\ntest_released_epa_field_contract_is_exact (evaluation.test_nflfastr_parity.NflfastRParityTest.test_released_epa_field_contract_is_exact) ... ok\ntest_scoring_probabilities_must_form_simplex (evaluation.test_nflfastr_parity.NflfastRParityTest.test_scoring_probabilities_must_form_simplex) ... ok\ntest_state_transition_signs_post_state_by_possession (evaluation.test_nflfastr_parity.NflfastRParityTest.test_state_transition_signs_post_state_by_possession) ... ok\ntest_edge_case_contract_is_complete_and_grouped (evaluation.test_nflfastr_tier2.NflfastRTier2Test.test_edge_case_contract_is_complete_and_grouped) ... ok\ntest_edge_selector_uses_full_game_adjacency_and_scoring_team (evaluation.test_nflfastr_tier2.NflfastRTier2Test.test_edge_selector_uses_full_game_adjacency_and_scoring_team) ... ok\ntest_embedded_release_metadata_recovers_version_and_timestamp (evaluation.test_nflfastr_tier2.NflfastRTier2Test.test_embedded_release_metadata_recovers_version_and_timestamp) ... ok\ntest_filtered_table_rejects_unapproved_or_wrong_season_rows (evaluation.test_nflfastr_tier2.NflfastRTier2Test.test_filtered_table_rejects_unapproved_or_wrong_season_rows) ... ok\ntest_identifier_hash_is_order_independent_but_duplicate_safe (evaluation.test_nflfastr_tier2.NflfastRTier2Test.test_identifier_hash_is_order_independent_but_duplicate_safe) ... ok\ntest_asset_integrity_is_content_addressed (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_asset_integrity_is_content_addressed) ... ok\ntest_asset_manifest_is_rights_and_hash_gated (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_asset_manifest_is_rights_and_hash_gated) ... ok\ntest_asset_selection_is_exactly_manifest_seasons (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_asset_selection_is_exactly_manifest_seasons) ... ok\ntest_coverage_audit_reads_only_allowed_game_ids (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_coverage_audit_reads_only_allowed_game_ids) ... ok\ntest_missing_required_season_fails_closed (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_missing_required_season_fails_closed) ... ok\ntest_parquet_predicate_excludes_unlisted_row_before_table_return (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_parquet_predicate_excludes_unlisted_row_before_table_return) ... ok\ntest_raw_destination_must_be_outside_repository (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_raw_destination_must_be_outside_repository) ... ok\ntest_receipt_proves_zero_test_access (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_receipt_proves_zero_test_access) ... ok\ntest_release_pin_selects_only_manifest_seasons (ingest.test_nflverse_pbp.NflversePbpAdapterTest.test_release_pin_selects_only_manifest_seasons) ... ok\ntest_builds_research_and_external_test_envelopes (ingest.test_nflverse_schedule.NflverseScheduleSnapshotTest.test_builds_research_and_external_test_envelopes) ... ok\ntest_rejects_test_envelope_inside_repository (ingest.test_nflverse_schedule.NflverseScheduleSnapshotTest.test_rejects_test_envelope_inside_repository) ... ok\ntest_rejects_unapproved_proposal_and_wrong_schedule_hash (ingest.test_nflverse_schedule.NflverseScheduleSnapshotTest.test_rejects_unapproved_proposal_and_wrong_schedule_hash) ... ok\ntest_existing_raw_asset_is_never_redownloaded_over (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_existing_raw_asset_is_never_redownloaded_over) ... ok\ntest_future_release_receipt_uses_open_attribution_lane (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_future_release_receipt_uses_open_attribution_lane) ... ok\ntest_historical_rights_correction_is_hash_anchored (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_historical_rights_correction_is_hash_anchored) ... ok\ntest_nflverse_rights_semantics_have_one_authority (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_nflverse_rights_semantics_have_one_authority) ... ok\ntest_release_metadata_digest_names_snapshot_root (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_release_metadata_digest_names_snapshot_root) ... ok\ntest_repository_receipts_are_written_once (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_repository_receipts_are_written_once) ... ok\ntest_split_envelopes_are_written_once (ingest.test_release_pin_immutability.ReleasePinImmutabilityTest.test_split_envelopes_are_written_once) ... ok\ntest_cc_by_receipt_uses_open_attribution_lane (ingest.test_snapshot_receipt_provenance.SnapshotReceiptProvenanceTest.test_cc_by_receipt_uses_open_attribution_lane) ... ok\ntest_receipt_rejects_malformed_commit (ingest.test_snapshot_receipt_provenance.SnapshotReceiptProvenanceTest.test_receipt_rejects_malformed_commit) ... ok\ntest_receipt_requires_nonempty_assets (ingest.test_snapshot_receipt_provenance.SnapshotReceiptProvenanceTest.test_receipt_requires_nonempty_assets) ... ok\ntest_receipt_requires_utc_creation_time (ingest.test_snapshot_receipt_provenance.SnapshotReceiptProvenanceTest.test_receipt_requires_utc_creation_time) ... ok\ntest_artifact_manifest_records_zero_data_and_test_use (research.test_epa_catalog.EpaCatalogTest.test_artifact_manifest_records_zero_data_and_test_use) ... ok\ntest_attribution_only_license_is_not_share_alike (research.test_epa_catalog.EpaCatalogTest.test_attribution_only_license_is_not_share_alike) ... ok\ntest_automated_collection_is_rights_gated (research.test_epa_catalog.EpaCatalogTest.test_automated_collection_is_rights_gated) ... ok\ntest_fantasy_points_is_never_an_automated_target (research.test_epa_catalog.EpaCatalogTest.test_fantasy_points_is_never_an_automated_target) ... ok\ntest_nflfastr_field_catalog_is_exact_and_noncanonical (research.test_epa_catalog.EpaCatalogTest.test_nflfastr_field_catalog_is_exact_and_noncanonical) ... ok\ntest_probe_receipts_redact_signed_query_strings (research.test_epa_catalog.EpaCatalogTest.test_probe_receipts_redact_signed_query_strings) ... ok\ntest_registry_contract (research.test_epa_catalog.EpaCatalogTest.test_registry_contract) ... ok\ntest_registry_has_unique_source_ids_and_core_classes (research.test_epa_catalog.EpaCatalogTest.test_registry_has_unique_source_ids_and_core_classes) ... ok\ntest_binary_metrics_accepts_ties_as_half_wins (research.test_historical_wave1.HistoricalWave1Tests.test_binary_metrics_accepts_ties_as_half_wins) ... ok\ntest_cluster_bootstrap_uses_cluster_counts (research.test_historical_wave1.HistoricalWave1Tests.test_cluster_bootstrap_uses_cluster_counts) ... ok\ntest_deterministic_sample_is_stable_and_bounded (research.test_historical_wave1.HistoricalWave1Tests.test_deterministic_sample_is_stable_and_bounded) ... ok\ntest_invalid_probability_shape_fails (research.test_historical_wave1.HistoricalWave1Tests.test_invalid_probability_shape_fails) ... ok\ntest_json_hash_is_key_order_stable (research.test_historical_wave1.HistoricalWave1Tests.test_json_hash_is_key_order_stable) ... ok\ntest_multiclass_metrics_rewards_correct_probabilities (research.test_historical_wave1.HistoricalWave1Tests.test_multiclass_metrics_rewards_correct_probabilities) ... ok\ntest_pythagorean_functions_are_bounded (research.test_historical_wave1.HistoricalWave1Tests.test_pythagorean_functions_are_bounded) ... ok\ntest_regression_metrics_reports_exact_error (research.test_historical_wave1.HistoricalWave1Tests.test_regression_metrics_reports_exact_error) ... ok\ntest_reliability_and_ece (research.test_historical_wave1.HistoricalWave1Tests.test_reliability_and_ece) ... ok\ntest_running_state_uses_only_prior_updates (research.test_historical_wave1.HistoricalWave1Tests.test_running_state_uses_only_prior_updates) ... ok\ntest_srs_recovers_relative_order (research.test_historical_wave1.HistoricalWave1Tests.test_srs_recovers_relative_order) ... ok\ntest_binary_metrics_rejects_out_of_range_probabilities (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_binary_metrics_rejects_out_of_range_probabilities) ... ok\ntest_cluster_bootstrap_rejects_nonfinite_losses (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_cluster_bootstrap_rejects_nonfinite_losses) ... ok\ntest_expected_calibration_error_rejects_nonfinite_bins (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_expected_calibration_error_rejects_nonfinite_bins) ... ok\ntest_multiclass_zero_mass_fails_closed (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_multiclass_zero_mass_fails_closed) ... ok\ntest_pythagenpat_requires_positive_game_count (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_pythagenpat_requires_positive_game_count) ... ok\ntest_pythagorean_probability_rejects_negative_points (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_pythagorean_probability_rejects_negative_points) ... ok\ntest_regression_metrics_rejects_partial_nonfinite_rows (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_regression_metrics_rejects_partial_nonfinite_rows) ... ok\ntest_reliability_rejects_nonfinite_inputs (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_reliability_rejects_nonfinite_inputs) ... ok\ntest_sampling_rejects_duplicate_keys (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_sampling_rejects_duplicate_keys) ... ok\ntest_srs_rejects_incomplete_game_rows (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_srs_rejects_incomplete_game_rows) ... ok\ntest_srs_rejects_negative_ridge (research.test_historical_wave1_safety.HistoricalWave1SafetyTests.test_srs_rejects_negative_ridge) ... ok\ntest_feature_builder_has_exact_neutral_contract (research.test_neutral_ep.NeutralEpContractTest.test_feature_builder_has_exact_neutral_contract) ... ok\ntest_feature_builder_rejects_missing_and_unknown_roof (research.test_neutral_ep.NeutralEpContractTest.test_feature_builder_rejects_missing_and_unknown_roof) ... ok\ntest_input_manifest_rejects_any_test_surface_before_data_access (research.test_neutral_ep.NeutralEpContractTest.test_input_manifest_rejects_any_test_surface_before_data_access) ... ok\ntest_input_manifest_rejects_cherry_picked_season_and_changed_asset_set (research.test_neutral_ep.NeutralEpContractTest.test_input_manifest_rejects_cherry_picked_season_and_changed_asset_set) ... ok\ntest_label_builder_rejects_boolean_quarter (research.test_neutral_ep.NeutralEpContractTest.test_label_builder_rejects_boolean_quarter) ... ok\ntest_label_builder_rejects_malformed_quarter_instead_of_no_score (research.test_neutral_ep.NeutralEpContractTest.test_label_builder_rejects_malformed_quarter_instead_of_no_score) ... ok\ntest_metrics_fail_closed_on_probability_nonclosure (research.test_neutral_ep.NeutralEpContractTest.test_metrics_fail_closed_on_probability_nonclosure) ... ok\ntest_next_score_labels_handle_defensive_scores_half_boundary_and_safety (research.test_neutral_ep.NeutralEpContractTest.test_next_score_labels_handle_defensive_scores_half_boundary_and_safety) ... ok\ntest_training_weights_are_fold_local_finite_and_bounded (research.test_neutral_ep.NeutralEpContractTest.test_training_weights_are_fold_local_finite_and_bounded) ... ok\ntest_future_producers_use_central_nflverse_rights_authority (research.test_neutral_ep_rights_lineage.NeutralEpRightsLineageTests.test_future_producers_use_central_nflverse_rights_authority) ... ok\ntest_historical_tier2_and_neutral_receipts_are_hash_amended (research.test_neutral_ep_rights_lineage.NeutralEpRightsLineageTests.test_historical_tier2_and_neutral_receipts_are_hash_amended) ... ok\ntest_atomic_publish_failure_exposes_neither_output_nor_receipt (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_atomic_publish_failure_exposes_neither_output_nor_receipt) ... ok\ntest_empty_pycache_prefix_ignores_timestamp_matched_adjacent_bytecode (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_empty_pycache_prefix_ignores_timestamp_matched_adjacent_bytecode) ... ok\ntest_exact_manifest_binding_rejects_changed_bytes (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_exact_manifest_binding_rejects_changed_bytes) ... ok\ntest_final_staged_artifact_mutation_is_rejected_before_publish (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_final_staged_artifact_mutation_is_rejected_before_publish) ... ok\ntest_git_identity_binds_imported_repository_modules_and_packages (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_git_identity_binds_imported_repository_modules_and_packages) ... ok\ntest_git_identity_rejects_changed_preregistration_bytes (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_git_identity_rejects_changed_preregistration_bytes) ... ok\ntest_git_identity_rejects_false_commit_and_dirty_execution_bytes (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_git_identity_rejects_false_commit_and_dirty_execution_bytes) ... ok\ntest_git_identity_uses_a_bound_executable_without_worker_path (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_git_identity_uses_a_bound_executable_without_worker_path) ... ok\ntest_input_capture_survives_source_replacement_without_reopen (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_input_capture_survives_source_replacement_without_reopen) ... ok\ntest_interruption_after_atomic_rename_exposes_complete_bundle (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_interruption_after_atomic_rename_exposes_complete_bundle) ... ok\ntest_isolated_launch_uses_an_empty_bytecode_cache_and_cleans_it (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_isolated_launch_uses_an_empty_bytecode_cache_and_cleans_it) ... ok\ntest_isolated_worker_receives_only_the_explicit_system_locale_allowlist (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_isolated_worker_receives_only_the_explicit_system_locale_allowlist) ... ok\ntest_main_failure_never_deletes_after_the_last_staging_identity_check (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_main_failure_never_deletes_after_the_last_staging_identity_check) ... ok\ntest_no_site_worker_derives_the_launching_virtualenv_package_roots (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_no_site_worker_derives_the_launching_virtualenv_package_roots) ... ok\ntest_output_and_receipt_publish_as_one_successful_bundle (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_output_and_receipt_publish_as_one_successful_bundle) ... ok\ntest_parquet_reader_consumes_captured_bytes_after_source_mutation (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_parquet_reader_consumes_captured_bytes_after_source_mutation) ... ok\ntest_population_binding_rejects_changed_game_identity_hash (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_population_binding_rejects_changed_game_identity_hash) ... ok\ntest_population_binding_rejects_omitted_game (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_population_binding_rejects_omitted_game) ... ok\ntest_post_install_failure_never_deletes_after_the_last_identity_check (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_post_install_failure_never_deletes_after_the_last_identity_check) ... ok\ntest_post_install_verification_preserves_a_replacement_destination (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_post_install_verification_preserves_a_replacement_destination) ... ok\ntest_receipt_cannot_replace_a_staged_output_artifact (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_receipt_cannot_replace_a_staged_output_artifact) ... ok\ntest_receipt_must_be_inside_the_atomic_output_bundle (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_receipt_must_be_inside_the_atomic_output_bundle) ... ok\ntest_runner_does_not_claim_it_applied_the_upstream_row_predicate (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runner_does_not_claim_it_applied_the_upstream_row_predicate) ... ok\ntest_runtime_bootstrap_rejects_pythonpath_and_startup_hooks (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_bootstrap_rejects_pythonpath_and_startup_hooks) ... ok\ntest_runtime_lock_accepts_only_the_governed_path_and_contract (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_lock_accepts_only_the_governed_path_and_contract) ... ok\ntest_runtime_lock_rejects_package_set_and_version_mutations (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_lock_rejects_package_set_and_version_mutations) ... ok\ntest_runtime_lock_rejects_schema_and_python_contract_mutations (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_lock_rejects_schema_and_python_contract_mutations) ... ok\ntest_runtime_module_binding_rejects_in_root_record_mutation (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_module_binding_rejects_in_root_record_mutation) ... ok\ntest_runtime_module_binding_rejects_substituted_origin (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_runtime_module_binding_rejects_substituted_origin) ... ok\ntest_scientific_imports_are_deferred_until_runtime_authority (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_scientific_imports_are_deferred_until_runtime_authority) ... ok\ntest_worker_rejects_a_caller_selected_distribution_root (research.test_neutral_ep_runner_contract.NeutralEpRunnerContractTest.test_worker_rejects_a_caller_selected_distribution_root) ... ok\ntest_exact_workflow_with_floating_packages_is_not_exact_producer (research.test_nflfastr_lineage.NflfastRLineageTest.test_exact_workflow_with_floating_packages_is_not_exact_producer) ... ok\ntest_missing_run_is_inferred_only (research.test_nflfastr_lineage.NflfastRLineageTest.test_missing_run_is_inferred_only) ... ok\ntest_workflow_job_must_envelope_asset_update (research.test_nflfastr_lineage.NflfastRLineageTest.test_workflow_job_must_envelope_asset_update) ... ok\ntest_archive_hash_mismatch_fails_closed (research.test_public_analytics_archive.PublicAnalyticsArchiveTests.test_archive_hash_mismatch_fails_closed) ... ok\ntest_forbidden_attribution_inside_archive_fails_closed (research.test_public_analytics_archive.PublicAnalyticsArchiveTests.test_forbidden_attribution_inside_archive_fails_closed) ... ok\ntest_manifest_member_mismatch_fails_closed (research.test_public_analytics_archive.PublicAnalyticsArchiveTests.test_manifest_member_mismatch_fails_closed) ... ok\ntest_receipt_cannot_be_canonical (research.test_public_analytics_archive.PublicAnalyticsArchiveTests.test_receipt_cannot_be_canonical) ... ok\ntest_repository_archive_contract (research.test_public_analytics_archive.PublicAnalyticsArchiveTests.test_repository_archive_contract) ... ok\ntest_coaching_publishers_never_delete_a_replaced_staging_path (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_coaching_publishers_never_delete_a_replaced_staging_path) ... ok\ntest_coaching_publishers_preserve_racing_bytes_and_clean_interruptions (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_coaching_publishers_preserve_racing_bytes_and_clean_interruptions) ... ok\ntest_coaching_publishers_reject_redirected_destination_parents (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_coaching_publishers_reject_redirected_destination_parents) ... ok\ntest_coaching_publishers_stage_atomically_and_preserve_collisions (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_coaching_publishers_stage_atomically_and_preserve_collisions) ... ok\ntest_coaching_publishers_verify_final_installed_bytes (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_coaching_publishers_verify_final_installed_bytes) ... ok\ntest_committed_graph_packet_reconciles_exactly_to_manifest (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_committed_graph_packet_reconciles_exactly_to_manifest) ... ok\ntest_committed_graph_packet_waits_for_real_independent_reviewer (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_committed_graph_packet_waits_for_real_independent_reviewer) ... ok\ntest_extraction_record_identity_is_simple_and_confined_to_root (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_extraction_record_identity_is_simple_and_confined_to_root) ... ok\ntest_extraction_record_rejects_symlink_escape_before_reading (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_extraction_record_rejects_symlink_escape_before_reading) ... ok\ntest_graph_intake_propagates_the_captured_manifest_validation_clock (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_graph_intake_propagates_the_captured_manifest_validation_clock) ... ok\ntest_graph_packet_is_deterministic_private_and_review_only (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_graph_packet_is_deterministic_private_and_review_only) ... ok\ntest_graph_packet_preserves_actual_source_scope_and_internal_identity (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_graph_packet_preserves_actual_source_scope_and_internal_identity) ... ok\ntest_integrated_coaching_validator_reuses_one_captured_clock (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_integrated_coaching_validator_reuses_one_captured_clock) ... ok\ntest_manifest_allows_file_time_equal_to_manifest_creation (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_allows_file_time_equal_to_manifest_creation) ... ok\ntest_manifest_created_at_uses_one_real_validation_clock (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_created_at_uses_one_real_validation_clock) ... ok\ntest_manifest_numeric_fields_exclude_booleans_with_schema_parity (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_numeric_fields_exclude_booleans_with_schema_parity) ... ok\ntest_manifest_producer_identity_does_not_require_branch_commit_objects (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_producer_identity_does_not_require_branch_commit_objects) ... ok\ntest_manifest_recomputes_each_root_snapshot_from_file_rows (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_recomputes_each_root_snapshot_from_file_rows) ... ok\ntest_manifest_rejects_duplicate_root_and_reordered_file_rows (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_duplicate_root_and_reordered_file_rows) ... ok\ntest_manifest_rejects_false_producer_identity (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_false_producer_identity) ... ok\ntest_manifest_rejects_file_time_after_manifest_creation (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_file_time_after_manifest_creation) ... ok\ntest_manifest_rejects_legacy_ephemeral_git_commit_identity (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_legacy_ephemeral_git_commit_identity) ... ok\ntest_manifest_rejects_malformed_utc_timestamps (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_malformed_utc_timestamps) ... ok\ntest_manifest_rejects_producer_snapshot_omission_addition_and_bad_path (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_producer_snapshot_omission_addition_and_bad_path) ... ok\ntest_manifest_rejects_raw_content_and_native_drive_fields (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_raw_content_and_native_drive_fields) ... ok\ntest_manifest_rejects_registry_snapshot_after_manifest_creation (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_registry_snapshot_after_manifest_creation) ... ok\ntest_manifest_rejects_test_or_canonical_provenance_instead_of_sanitizing_it (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_rejects_test_or_canonical_provenance_instead_of_sanitizing_it) ... ok\ntest_manifest_requires_the_exact_registered_root_set (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_manifest_requires_the_exact_registered_root_set) ... ok\ntest_posix_coaching_publication_consumes_its_owned_stage (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_posix_coaching_publication_consumes_its_owned_stage) ... ok\ntest_private_analytical_use_passes_while_public_export_remains_denied (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_private_analytical_use_passes_while_public_export_remains_denied) ... ok\ntest_private_inventory_roots_must_be_objects_and_unique_before_indexing (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_private_inventory_roots_must_be_objects_and_unique_before_indexing) ... ok\ntest_repository_manifest_and_source_registry_are_valid (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_repository_manifest_and_source_registry_are_valid) ... ok\ntest_source_registry_rejects_malformed_and_future_as_of_dates (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_source_registry_rejects_malformed_and_future_as_of_dates) ... ok\ntest_source_registry_season_follows_the_governed_schema (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_source_registry_season_follows_the_governed_schema) ... ok\ntest_source_registry_validates_every_scope_field (test_coaching_packet_intake.CoachingPacketIntakeSafetyTest.test_source_registry_validates_every_scope_field) ... ok\ntest_2024_49ers_choice_audit_is_registered_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_2024_49ers_choice_audit_is_registered_fail_closed) ... ok\ntest_accepted_authority_baseline_is_append_only (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_authority_baseline_is_append_only) ... ok\ntest_accepted_main_baseline_rejects_divergent_refs (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_main_baseline_rejects_divergent_refs) ... ok\ntest_accepted_main_baseline_rejects_equally_stale_cached_refs (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_main_baseline_rejects_equally_stale_cached_refs) ... ok\ntest_accepted_main_baseline_rejects_untrusted_origin_identity (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_main_baseline_rejects_untrusted_origin_identity) ... ok\ntest_accepted_scope_membership_is_append_only (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_scope_membership_is_append_only) ... ok\ntest_accepted_visibility_baseline_is_append_only (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_visibility_baseline_is_append_only) ... ok\ntest_accepted_visibility_evidence_is_append_only (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_visibility_evidence_is_append_only) ... ok\ntest_accepted_visibility_snapshot_date_cannot_regress (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_accepted_visibility_snapshot_date_cannot_regress) ... ok\ntest_active_source_visibility_requires_current_rights_authority (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_active_source_visibility_requires_current_rights_authority) ... ok\ntest_authority_registry_resolves_exact_decision_policy (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_authority_registry_resolves_exact_decision_policy) ... ok\ntest_authority_replacement_chains_resolve_to_an_active_terminal (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_authority_replacement_chains_resolve_to_an_active_terminal) ... ok\ntest_baltimore_sources_are_registered_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_baltimore_sources_are_registered_fail_closed) ... ok\ntest_choice_membership_embedded_material_is_squash_safe (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_choice_membership_embedded_material_is_squash_safe) ... ok\ntest_choice_membership_embeds_complete_upstream_git_proof (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_choice_membership_embeds_complete_upstream_git_proof) ... ok\ntest_choice_membership_falls_back_when_only_live_tree_is_pruned (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_choice_membership_falls_back_when_only_live_tree_is_pruned) ... ok\ntest_choice_membership_manifest_blocks_constituent_games_and_plays (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_choice_membership_manifest_blocks_constituent_games_and_plays) ... ok\ntest_choice_membership_manifest_is_validated_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_choice_membership_manifest_is_validated_fail_closed) ... ok\ntest_cli_reconciliation_reuses_selected_authority_registry (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_cli_reconciliation_reuses_selected_authority_registry) ... ok\ntest_committed_registry_passes_contract (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_committed_registry_passes_contract) ... ok\ntest_complete_stage_title_is_bound_to_decision_authority (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_complete_stage_title_is_bound_to_decision_authority) ... ok\ntest_content_receipt_authorizes_private_film_asset_visibility (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_content_receipt_authorizes_private_film_asset_visibility) ... ok\ntest_content_receipt_cannot_self_authorize_film_rights (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_content_receipt_cannot_self_authorize_film_rights) ... ok\ntest_custom_registry_treats_all_records_as_new_authority_uses (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_custom_registry_treats_all_records_as_new_authority_uses) ... ok\ntest_duplicate_ids_invalid_enums_and_broken_supersession_fail (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_duplicate_ids_invalid_enums_and_broken_supersession_fail) ... ok\ntest_embedded_visibility_evidence_is_squash_safe (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_embedded_visibility_evidence_is_squash_safe) ... ok\ntest_embedded_visibility_tree_survives_a_missing_reachable_git_tree (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_embedded_visibility_tree_survives_a_missing_reachable_git_tree) ... ok\ntest_evidence_commit_must_be_reachable_from_governed_head (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_evidence_commit_must_be_reachable_from_governed_head) ... ok\ntest_evidence_receipts_bind_governed_head_and_material_blob (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_evidence_receipts_bind_governed_head_and_material_blob) ... ok\ntest_first_visibility_cannot_postdate_exact_validation_time (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_first_visibility_cannot_postdate_exact_validation_time) ... ok\ntest_first_visibility_is_bound_to_content_addressed_receipts (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_first_visibility_is_bound_to_content_addressed_receipts) ... ok\ntest_future_visibility_timestamp_fails_snapshot_chronology (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_future_visibility_timestamp_fails_snapshot_chronology) ... ok\ntest_governed_source_authority_is_data_driven (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_governed_source_authority_is_data_driven) ... ok\ntest_inactive_authority_cannot_authorize_a_new_visibility_record (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_inactive_authority_cannot_authorize_a_new_visibility_record) ... ok\ntest_inactive_authority_preserves_historical_visibility (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_inactive_authority_preserves_historical_visibility) ... ok\ntest_inactive_session_review_accepts_governed_supersession_banner (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_inactive_session_review_accepts_governed_supersession_banner) ... ok\ntest_known_scope_blocks_and_unknown_scope_is_indeterminate (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_known_scope_blocks_and_unknown_scope_is_indeterminate) ... ok\ntest_malformed_authority_collection_members_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_malformed_authority_collection_members_fail_closed) ... ok\ntest_malformed_authority_scopes_do_not_crash_registry_validation (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_malformed_authority_scopes_do_not_crash_registry_validation) ... ok\ntest_malformed_identity_fields_do_not_crash_scope_authorization (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_malformed_identity_fields_do_not_crash_scope_authorization) ... ok\ntest_malformed_types_and_inexact_timestamps_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_malformed_types_and_inexact_timestamps_fail_closed) ... ok\ntest_pinned_upstream_objects_are_materialized_by_exact_sha (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_pinned_upstream_objects_are_materialized_by_exact_sha) ... ok\ntest_reconciliation_uses_governed_source_authorities (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_reconciliation_uses_governed_source_authorities) ... ok\ntest_registry_snapshot_cannot_be_future_dated (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_registry_snapshot_cannot_be_future_dated) ... ok\ntest_registry_snapshot_requires_exact_iso_date_syntax (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_registry_snapshot_requires_exact_iso_date_syntax) ... ok\ntest_registry_snapshot_uses_the_utc_validation_date (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_registry_snapshot_uses_the_utc_validation_date) ... ok\ntest_required_fields_and_fail_closed_flags (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_required_fields_and_fail_closed_flags) ... ok\ntest_schema_self_check_binds_full_safety_contract (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_schema_self_check_binds_full_safety_contract) ... ok\ntest_source_rights_and_uses_resolve_through_authority (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_source_rights_and_uses_resolve_through_authority) ... ok\ntest_sumersports_corpus_is_registered_fail_closed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_sumersports_corpus_is_registered_fail_closed) ... ok\ntest_superseded_decision_cannot_authorize_visibility (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_superseded_decision_cannot_authorize_visibility) ... ok\ntest_superseded_session_review_cannot_authorize_visibility (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_superseded_session_review_cannot_authorize_visibility) ... ok\ntest_supersession_can_only_preserve_or_move_first_visibility_earlier (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_supersession_can_only_preserve_or_move_first_visibility_earlier) ... ok\ntest_supersession_chain_terminates_at_active_same_scope (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_supersession_chain_terminates_at_active_same_scope) ... ok\ntest_unaccepted_visibility_source_ref_must_be_governed (test_development_visibility_contract.DevelopmentVisibilityContractTests.test_unaccepted_visibility_source_ref_must_be_governed) ... ok\ntest_alternate_game_and_play_identity_keys_fail_closed (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_alternate_game_and_play_identity_keys_fail_closed) ... ok\ntest_approval_and_compilation_capture_one_validation_clock (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_approval_and_compilation_capture_one_validation_clock) ... ok\ntest_approval_digest_rejects_post_approval_mutation (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_approval_digest_rejects_post_approval_mutation) ... ok\ntest_approval_does_not_upgrade_claim_state (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_approval_does_not_upgrade_claim_state) ... ok\ntest_approval_requires_independent_governed_domain_reviewer (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_approval_requires_independent_governed_domain_reviewer) ... ok\ntest_bootstrap_does_not_read_current_validation_authorities (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_bootstrap_does_not_read_current_validation_authorities) ... ok\ntest_bootstrap_release_identity_is_bound_to_exact_contents (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_bootstrap_release_identity_is_bound_to_exact_contents) ... ok\ntest_build_provenance_rejects_a_different_committed_blob_identity (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_build_provenance_rejects_a_different_committed_blob_identity) ... ok\ntest_build_rejects_dirty_bytes_for_every_producer_class (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_build_rejects_dirty_bytes_for_every_producer_class) ... ok\ntest_claim_review_states_require_exact_governed_claim_receipts (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_claim_review_states_require_exact_governed_claim_receipts) ... ok\ntest_cli_accepts_source_and_explicit_private_rights_state (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_cli_accepts_source_and_explicit_private_rights_state) ... ok\ntest_committed_empirical_receipt_rejects_camel_case_test_declarations (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_committed_empirical_receipt_rejects_camel_case_test_declarations) ... ok\ntest_committed_empirical_receipt_rejects_duplicate_test_members (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_committed_empirical_receipt_rejects_duplicate_test_members) ... ok\ntest_committed_empirical_receipt_rejects_nested_test_declarations (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_committed_empirical_receipt_rejects_nested_test_declarations) ... ok\ntest_committed_empirical_receipt_requires_exact_zero_test_counts (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_committed_empirical_receipt_requires_exact_zero_test_counts) ... ok\ntest_compilation_preserves_rights_and_build_provenance (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compilation_preserves_rights_and_build_provenance) ... ok\ntest_compile_is_idempotent_but_rejects_conflicting_uid (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compile_is_idempotent_but_rejects_conflicting_uid) ... ok\ntest_compile_rejects_draft_packet (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compile_rejects_draft_packet) ... ok\ntest_compile_rejects_wrong_base_release (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compile_rejects_wrong_base_release) ... ok\ntest_compile_seal_and_query_reject_non_finite_values (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compile_seal_and_query_reject_non_finite_values) ... ok\ntest_compile_uses_review_time_and_rejects_review_after_compilation (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_compile_uses_review_time_and_rejects_review_after_compilation) ... ok\ntest_contradiction_references_are_type_checked (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_contradiction_references_are_type_checked) ... ok\ntest_contributor_requires_active_authoring_authority_for_uid_and_alias (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_contributor_requires_active_authoring_authority_for_uid_and_alias) ... ok\ntest_cumulative_release_binds_inherited_projection_to_exact_parent (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_cumulative_release_binds_inherited_projection_to_exact_parent) ... ok\ntest_digest_rejects_nested_non_finite_json_numbers (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_digest_rejects_nested_non_finite_json_numbers) ... ok\ntest_digest_rejects_non_string_json_object_keys (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_digest_rejects_non_string_json_object_keys) ... ok\ntest_divergent_compilations_have_distinct_content_addressed_ids (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_divergent_compilations_have_distinct_content_addressed_ids) ... ok\ntest_edge_evidence_observation_cannot_postdate_submission (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_edge_evidence_observation_cannot_postdate_submission) ... ok\ntest_editing_an_approved_packet_resets_its_review (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_editing_an_approved_packet_resets_its_review) ... ok\ntest_every_game_identity_route_requires_fit_or_val_membership (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_every_game_identity_route_requires_fit_or_val_membership) ... ok\ntest_every_producer_path_rejects_a_matching_wrong_blob_pair (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_every_producer_path_rejects_a_matching_wrong_blob_pair) ... ok\ntest_evidence_observation_cannot_postdate_submission (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_evidence_observation_cannot_postdate_submission) ... ok\ntest_exact_governed_empirical_provenance_can_qualify_a_claim (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_exact_governed_empirical_provenance_can_qualify_a_claim) ... ok\ntest_expert_adjudication_receipt_requires_exact_expert_authority (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_expert_adjudication_receipt_requires_exact_expert_authority) ... ok\ntest_forged_reviewer_role_fails_validation_and_compile (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_forged_reviewer_role_fails_validation_and_compile) ... ok\ntest_fully_resealed_receipt_cannot_mutate_approved_envelope_fields (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_fully_resealed_receipt_cannot_mutate_approved_envelope_fields) ... ok\ntest_generated_submission_ids_do_not_collide_within_one_second (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_generated_submission_ids_do_not_collide_within_one_second) ... ok\ntest_generated_submission_round_trip (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_generated_submission_round_trip) ... ok\ntest_governed_alias_cannot_bypass_independent_review (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_governed_alias_cannot_bypass_independent_review) ... ok\ntest_governed_claim_review_receipt_binds_exact_claim_and_reviewer (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_governed_claim_review_receipt_binds_exact_claim_and_reviewer) ... ok\ntest_governed_split_loader_rejects_malformed_future_and_duplicate_rows (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_governed_split_loader_rejects_malformed_future_and_duplicate_rows) ... ok\ntest_graph_cli_writer_cleans_only_owned_stage_on_write_failure (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_cleans_only_owned_stage_on_write_failure) ... ok\ntest_graph_cli_writer_cleans_owned_stage_on_interruption (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_cleans_owned_stage_on_interruption) ... ok\ntest_graph_cli_writer_no_clobber_survives_destination_race (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_no_clobber_survives_destination_race) ... ok\ntest_graph_cli_writer_no_clobber_survives_publication_race (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_no_clobber_survives_publication_race) ... ok\ntest_graph_cli_writer_overwrites_only_when_explicit (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_overwrites_only_when_explicit) ... ok\ntest_graph_cli_writer_rejects_non_file_collision (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_rejects_non_file_collision) ... ok\ntest_graph_cli_writer_rejects_output_symlink (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_rejects_output_symlink) ... ok\ntest_graph_cli_writer_uses_unique_staging_and_exact_bytes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_uses_unique_staging_and_exact_bytes) ... ok\ntest_graph_cli_writer_verifies_published_bytes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_graph_cli_writer_verifies_published_bytes) ... ok\ntest_historical_release_uses_recorded_compiler_blob_not_checkout_bytes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_historical_release_uses_recorded_compiler_blob_not_checkout_bytes) ... ok\ntest_historical_release_uses_recorded_registry_blobs_not_checkout_bytes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_historical_release_uses_recorded_registry_blobs_not_checkout_bytes) ... ok\ntest_idempotence_rejects_corrupted_compiled_release (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_idempotence_rejects_corrupted_compiled_release) ... ok\ntest_json_file_boundaries_reject_non_finite_constants (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_json_file_boundaries_reject_non_finite_constants) ... ok\ntest_json_file_writer_rejects_non_finite_values (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_json_file_writer_rejects_non_finite_values) ... ok\ntest_manual_empirical_evidence_requires_governed_provenance_and_no_test (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_empirical_evidence_requires_governed_provenance_and_no_test) ... ok\ntest_manual_observation_rejects_unknown_game_identity (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_observation_rejects_unknown_game_identity) ... ok\ntest_manual_reading_source_requires_restricted_reference_lane (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_reading_source_requires_restricted_reference_lane) ... ok\ntest_manual_submission_rejects_placeholder_identity (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_submission_rejects_placeholder_identity) ... ok\ntest_manual_submission_requires_an_explicit_base_release (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_submission_requires_an_explicit_base_release) ... ok\ntest_manual_submission_schema_is_valid_json (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_submission_schema_is_valid_json) ... ok\ntest_manual_submission_schema_keeps_unresolved_rights_blocked (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_submission_schema_keeps_unresolved_rights_blocked) ... ok\ntest_manual_unsourced_low_confidence_hypothesis_is_allowed (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_unsourced_low_confidence_hypothesis_is_allowed) ... ok\ntest_manual_unsourced_observation_is_rejected (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_manual_unsourced_observation_is_rejected) ... ok\ntest_mixed_private_and_restricted_sources_choose_most_restrictive_lane (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_mixed_private_and_restricted_sources_choose_most_restrictive_lane) ... ok\ntest_non_nfl_scope_is_limited_to_system_source_evidence (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_non_nfl_scope_is_limited_to_system_source_evidence) ... ok\ntest_play_scoped_manual_observation_with_visibility_provenance_is_allowed (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_play_scoped_manual_observation_with_visibility_provenance_is_allowed) ... ok\ntest_populated_release_requires_receipts_covering_exact_graph_items (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_populated_release_requires_receipts_covering_exact_graph_items) ... ok\ntest_producer_commit_and_tree_must_be_reachable_and_exact (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_producer_commit_and_tree_must_be_reachable_and_exact) ... ok\ntest_production_registry_does_not_invent_an_independent_reviewer (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_production_registry_does_not_invent_an_independent_reviewer) ... ok\ntest_programmatic_non_json_containers_cannot_hide_test_or_game_identity (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_programmatic_non_json_containers_cannot_hide_test_or_game_identity) ... ok\ntest_public_validators_reject_caller_selected_clock_authority (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_public_validators_reject_caller_selected_clock_authority) ... ok\ntest_query_carries_private_rights_and_denies_public_export (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_carries_private_rights_and_denies_public_export) ... ok\ntest_query_counts_the_complete_pre_limit_candidate_universe (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_counts_the_complete_pre_limit_candidate_universe) ... ok\ntest_query_dedup_preserves_distinct_connected_error_under_limit (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_dedup_preserves_distinct_connected_error_under_limit) ... ok\ntest_query_globally_deduplicates_matches_and_context_before_limit (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_globally_deduplicates_matches_and_context_before_limit) ... ok\ntest_query_includes_connected_error_case_and_bounds_total_result (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_includes_connected_error_case_and_bounds_total_result) ... ok\ntest_query_projection_rejects_private_material_in_scope_identifier (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_projection_rejects_private_material_in_scope_identifier) ... ok\ntest_query_projection_uses_only_controlled_values_and_opaque_references (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_projection_uses_only_controlled_values_and_opaque_references) ... ok\ntest_query_returns_match_and_connected_evidence (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_returns_match_and_connected_evidence) ... ok\ntest_query_returns_open_set_instead_of_forcing_empty_match (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_returns_open_set_instead_of_forcing_empty_match) ... ok\ntest_query_rights_include_referenced_evidence_truncated_by_limit (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_rights_include_referenced_evidence_truncated_by_limit) ... ok\ntest_query_source_content_flag_is_backed_by_metadata_only_projection (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_query_source_content_flag_is_backed_by_metadata_only_projection) ... ok\ntest_registry_provenance_blob_identities_match_runtime_bytes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_registry_provenance_blob_identities_match_runtime_bytes) ... ok\ntest_release_identity_is_deterministic_across_internal_clock_values (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_identity_is_deterministic_across_internal_clock_values) ... ok\ntest_release_parent_identity_is_exact_and_content_addressed (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_parent_identity_is_exact_and_content_addressed) ... ok\ntest_release_receipt_attests_exact_approved_submission_and_decision (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_receipt_attests_exact_approved_submission_and_decision) ... ok\ntest_release_receipt_rechecks_contributor_authority_including_aliases (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_receipt_rechecks_contributor_authority_including_aliases) ... ok\ntest_release_receipt_validates_all_identities (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_receipt_validates_all_identities) ... ok\ntest_release_receipts_reapply_item_source_subset_and_rights_contract (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_receipts_reapply_item_source_subset_and_rights_contract) ... ok\ntest_release_rejects_canonical_or_test_claims (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_canonical_or_test_claims) ... ok\ntest_release_rejects_dangling_edge_endpoint (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_dangling_edge_endpoint) ... ok\ntest_release_rejects_duplicate_node_uids (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_duplicate_node_uids) ... ok\ntest_release_rejects_future_creation_and_impossible_receipt_time (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_future_creation_and_impossible_receipt_time) ... ok\ntest_release_rejects_multiple_receipts_claiming_one_introduction (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_multiple_receipts_claiming_one_introduction) ... ok\ntest_release_rejects_non_finite_nodes_edges_and_receipts (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_non_finite_nodes_edges_and_receipts) ... ok\ntest_release_rejects_unknown_source_uid (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_unknown_source_uid) ... ok\ntest_release_rejects_unresolved_external_uid (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_rejects_unresolved_external_uid) ... ok\ntest_release_resolves_governed_decision_and_handbook_identities (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_resolves_governed_decision_and_handbook_identities) ... ok\ntest_release_schema_vocabulary_matches_runtime (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_release_schema_vocabulary_matches_runtime) ... ok\ntest_repository_seed_release_and_template_are_valid (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_repository_seed_release_and_template_are_valid) ... ok\ntest_resealed_release_rejects_fabricated_build_provenance (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_resealed_release_rejects_fabricated_build_provenance) ... ok\ntest_resealed_release_rejects_observation_after_receipt_submission (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_resealed_release_rejects_observation_after_receipt_submission) ... ok\ntest_reserved_proposal_mentions_are_not_governed_decisions (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_reserved_proposal_mentions_are_not_governed_decisions) ... ok\ntest_review_packet_exposes_manual_provenance_and_uncertainty (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_review_packet_exposes_manual_provenance_and_uncertainty) ... ok\ntest_review_packet_renders_malformed_string_lists_as_findings (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_review_packet_renders_malformed_string_lists_as_findings) ... ok\ntest_reviewed_claim_requires_qualifying_evidence_type_and_status (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_reviewed_claim_requires_qualifying_evidence_type_and_status) ... ok\ntest_scope_identifiers_are_bounded_and_canonical (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_scope_identifiers_are_bounded_and_canonical) ... ok\ntest_source_alias_chain_applies_narrowest_lane_without_collapsing_ids (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_alias_chain_applies_narrowest_lane_without_collapsing_ids) ... ok\ntest_source_alias_group_inherits_narrowest_governed_rights_lane (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_alias_group_inherits_narrowest_governed_rights_lane) ... ok\ntest_source_aliases_reject_broken_cyclic_and_ambiguous_mappings (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_aliases_reject_broken_cyclic_and_ambiguous_mappings) ... ok\ntest_source_backed_creator_requires_catalog_and_exact_rights (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_backed_creator_requires_catalog_and_exact_rights) ... ok\ntest_source_backed_interpretation_requires_evidence_provenance (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_backed_interpretation_requires_evidence_provenance) ... ok\ntest_source_backed_observation_requires_complete_provenance (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_backed_observation_requires_complete_provenance) ... ok\ntest_source_backed_packet_requires_non_user_authored_rights_lane (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_backed_packet_requires_non_user_authored_rights_lane) ... ok\ntest_source_registry_index_is_single_runtime_authority (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_registry_index_is_single_runtime_authority) ... ok\ntest_source_registry_index_rejects_unsupported_schema_versions (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_registry_index_rejects_unsupported_schema_versions) ... ok\ntest_source_scope_must_match_the_governed_registry_record (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_source_scope_must_match_the_governed_registry_record) ... ok\ntest_submission_and_review_cannot_predate_bound_base_release (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_and_review_cannot_predate_bound_base_release) ... ok\ntest_submission_and_review_timestamps_follow_real_chronology (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_and_review_timestamps_follow_real_chronology) ... ok\ntest_submission_can_reference_a_node_in_its_bound_base_release (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_can_reference_a_node_in_its_bound_base_release) ... ok\ntest_submission_cannot_reintroduce_existing_graph_items (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_cannot_reintroduce_existing_graph_items) ... ok\ntest_submission_rejects_nested_non_finite_node_and_edge_attributes (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_rejects_nested_non_finite_node_and_edge_attributes) ... ok\ntest_submission_rejects_non_string_attribute_keys (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_rejects_non_string_attribute_keys) ... ok\ntest_submission_rejects_non_utc_timestamp (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_submission_rejects_non_utc_timestamp) ... ok\ntest_terms_review_source_is_explicitly_blocked (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_terms_review_source_is_explicitly_blocked) ... ok\ntest_unknown_and_ambiguous_contributor_identities_fail_closed (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_unknown_and_ambiguous_contributor_identities_fail_closed) ... ok\ntest_unresolved_rights_creation_and_edit_reset_remain_blocked (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_unresolved_rights_creation_and_edit_reset_remain_blocked) ... ok\ntest_unresolved_rights_force_packet_to_blocked (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_unresolved_rights_force_packet_to_blocked) ... ok\ntest_unsourced_expert_observation_cannot_qualify_validated_claim (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_unsourced_expert_observation_cannot_qualify_validated_claim) ... ok\ntest_unsourced_observation_requires_complete_provenance (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_unsourced_observation_requires_complete_provenance) ... ok\ntest_validated_prediction_rejects_weak_empirical_node (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_validated_prediction_rejects_weak_empirical_node) ... ok\ntest_validated_predictive_claim_requires_empirical_evidence (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_validated_predictive_claim_requires_empirical_evidence) ... ok\ntest_validation_bearing_edge_requires_qualifying_evidence (test_football_knowledge_graph.FootballKnowledgeGraphSafetyTest.test_validation_bearing_edge_requires_qualifying_evidence) ... ok\ntest_accepted_baltimore_seed_receipt_is_immutable (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_accepted_baltimore_seed_receipt_is_immutable) ... ok\ntest_accepted_film_asset_content_is_append_only (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_accepted_film_asset_content_is_append_only) ... ok\ntest_accepted_participation_assets_are_append_only (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_accepted_participation_assets_are_append_only) ... ok\ntest_accepted_permission_authority_history_cannot_expand (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_accepted_permission_authority_history_cannot_expand) ... ok\ntest_accepted_synchronization_evidence_is_append_only (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_accepted_synchronization_evidence_is_append_only) ... ok\ntest_active_ledger_advances_to_the_delayed_thirteenth_review (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_active_ledger_advances_to_the_delayed_thirteenth_review) ... ok\ntest_active_ledger_advances_to_the_twelfth_review (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_active_ledger_advances_to_the_twelfth_review) ... ok\ntest_active_ledger_records_the_completed_pr41_replay (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_active_ledger_records_the_completed_pr41_replay) ... ok\ntest_baltimore_registry_does_not_promote_source_synthesis (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_registry_does_not_promote_source_synthesis) ... ok\ntest_baltimore_run_force_remains_team_season_scoped (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_run_force_remains_team_season_scoped) ... ok\ntest_baltimore_scope_is_resolved_from_governed_authority (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_scope_is_resolved_from_governed_authority) ... ok\ntest_baltimore_seed_receipt_is_squash_safe (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_seed_receipt_is_squash_safe) ... ok\ntest_baltimore_source_registry_can_expand_from_governed_visibility (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_source_registry_can_expand_from_governed_visibility) ... ok\ntest_baltimore_sources_have_private_only_rights_records (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_baltimore_sources_have_private_only_rights_records) ... ok\ntest_directory_exposes_every_governed_canonicalization_scope (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_directory_exposes_every_governed_canonicalization_scope) ... ok\ntest_directory_has_no_placeholder_local_functions (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_directory_has_no_placeholder_local_functions) ... ok\ntest_directory_specific_persistence_rules_remain_proposals (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_directory_specific_persistence_rules_remain_proposals) ... ok\ntest_event_membership_resolves_against_safe_filtered_pbp (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_event_membership_resolves_against_safe_filtered_pbp) ... ok\ntest_foundation_source_scope_ignores_unrelated_live_source (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_foundation_source_scope_ignores_unrelated_live_source) ... ok\ntest_foundation_source_scope_is_loaded_from_validated_checkout (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_foundation_source_scope_is_loaded_from_validated_checkout) ... ok\ntest_frame_scope_interval_must_be_ordered_and_covered (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_frame_scope_interval_must_be_ordered_and_covered) ... ok\ntest_frame_scopes_resolve_assets_and_synchronization_receipts (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_frame_scopes_resolve_assets_and_synchronization_receipts) ... ok\ntest_governed_geometric_classes_are_enforced (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_governed_geometric_classes_are_enforced) ... ok\ntest_governed_json_loader_rejects_duplicate_keys (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_governed_json_loader_rejects_duplicate_keys) ... ok\ntest_governed_seed_receipt_is_required (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_governed_seed_receipt_is_required) ... ok\ntest_handbook_contract (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_handbook_contract) ... ok\ntest_historical_receipt_uses_accepted_reviewer_authority (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_historical_receipt_uses_accepted_reviewer_authority) ... ok\ntest_integration_handoff_starts_from_verified_pr39_merge (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_integration_handoff_starts_from_verified_pr39_merge) ... ok\ntest_live_accepted_membership_requires_current_resolution (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_live_accepted_membership_requires_current_resolution) ... ok\ntest_lower_canonicalization_scopes_require_event_identities (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_lower_canonicalization_scopes_require_event_identities) ... ok\ntest_membership_resolution_accepts_permission_authorities (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_membership_resolution_accepts_permission_authorities) ... ok\ntest_new_execution_documents_are_executor_neutral (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_new_execution_documents_are_executor_neutral) ... ok\ntest_owner_backed_entries_bind_to_scope_specific_decisions (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_owner_backed_entries_bind_to_scope_specific_decisions) ... ok\ntest_owner_backed_entries_require_an_adopted_decision (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_owner_backed_entries_require_an_adopted_decision) ... ok\ntest_owner_backed_syntheses_have_accurate_evidence_classes (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_owner_backed_syntheses_have_accurate_evidence_classes) ... ok\ntest_owner_scope_authority_is_pinned_to_accepted_main (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_owner_scope_authority_is_pinned_to_accepted_main) ... ok\ntest_participation_assets_cannot_self_authenticate (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_assets_cannot_self_authenticate) ... ok\ntest_participation_authority_lifecycle_is_consumption_scoped (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_authority_lifecycle_is_consumption_scoped) ... ok\ntest_participation_denominator_requires_independent_record (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_denominator_requires_independent_record) ... ok\ntest_participation_history_allows_new_producer_version (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_history_allows_new_producer_version) ... ok\ntest_participation_permission_record_binds_declared_scope (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_permission_record_binds_declared_scope) ... ok\ntest_participation_producer_binds_denominator_record_before_source_read (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_binds_denominator_record_before_source_read) ... ok\ntest_participation_producer_builds_a_governed_fit_val_asset (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_builds_a_governed_fit_val_asset) ... ok\ntest_participation_producer_preserves_existing_assets_when_appending (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_preserves_existing_assets_when_appending) ... ok\ntest_participation_producer_rejects_alternate_split_before_source_read (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_rejects_alternate_split_before_source_read) ... ok\ntest_participation_producer_rejects_incomplete_denominator (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_rejects_incomplete_denominator) ... ok\ntest_participation_producer_rejects_permission_mismatch_before_read (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_rejects_permission_mismatch_before_read) ... ok\ntest_participation_producer_rejects_schema_less_receipt_before_read (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_rejects_schema_less_receipt_before_read) ... ok\ntest_participation_producer_requires_accepted_authority_before_source_read (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_producer_requires_accepted_authority_before_source_read) ... ok\ntest_participation_source_receipt_requires_permission_authority (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_participation_source_receipt_requires_permission_authority) ... ok\ntest_pbp_manifest_is_loaded_from_validated_checkout (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_pbp_manifest_is_loaded_from_validated_checkout) ... ok\ntest_player_participation_spine_is_committed_and_fail_closed (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_player_participation_spine_is_committed_and_fail_closed) ... ok\ntest_predictive_gate_uses_the_governed_lifecycle (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_predictive_gate_uses_the_governed_lifecycle) ... ok\ntest_pressure_boundaries_match_decision_017 (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_pressure_boundaries_match_decision_017) ... ok\ntest_registered_sources_require_current_rights_authority (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_registered_sources_require_current_rights_authority) ... ok\ntest_required_views_and_refusal_conditions_are_nonempty (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_required_views_and_refusal_conditions_are_nonempty) ... ok\ntest_resolution_and_observation_registries_are_required (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_resolution_and_observation_registries_are_required) ... ok\ntest_retired_unreferenced_source_does_not_require_active_rights (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_retired_unreferenced_source_does_not_require_active_rights) ... ok\ntest_rfc3339_checker_accepts_numeric_offsets (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_rfc3339_checker_accepts_numeric_offsets) ... ok\ntest_source_links_resolve_by_lineage_and_era (test_football_knowledge_handbook_contract.FootballKnowledgeHandbookContractTest.test_source_links_resolve_by_lineage_and_era) ... ok\ntest_baltimore_seed_receipt_is_verified_against_pinned_git_blob (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_baltimore_seed_receipt_is_verified_against_pinned_git_blob) ... ok\ntest_baltimore_seed_term_identity_is_preserved (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_baltimore_seed_term_identity_is_preserved) ... ok\ntest_concepts_artifacts_are_validated_against_declared_schemas (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_concepts_artifacts_are_validated_against_declared_schemas) ... ok\ntest_concepts_schema_date_time_formats_are_enforced (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_concepts_schema_date_time_formats_are_enforced) ... ok\ntest_directory_page_paths_cannot_traverse_outside_concepts (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_directory_page_paths_cannot_traverse_outside_concepts) ... ok\ntest_directory_parent_cycles_fail_closed (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_directory_parent_cycles_fail_closed) ... ok\ntest_geometric_vocabulary_cannot_drop_a_required_marker (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_geometric_vocabulary_cannot_drop_a_required_marker) ... ok\ntest_invalid_concepts_json_returns_a_scoped_diagnostic (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_invalid_concepts_json_returns_a_scoped_diagnostic) ... ok\ntest_missing_final_newline_returns_a_scoped_diagnostic (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_missing_final_newline_returns_a_scoped_diagnostic) ... ok\ntest_placeholder_local_function_is_rejected (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_placeholder_local_function_is_rejected) ... ok\ntest_private_google_drive_identifier_forms_fail_closed (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_private_google_drive_identifier_forms_fail_closed) ... ok\ntest_private_google_drive_identifier_in_csv_fails_closed (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_private_google_drive_identifier_in_csv_fails_closed) ... ok\ntest_reserved_proposal_cannot_back_owner_decision_evidence (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_reserved_proposal_cannot_back_owner_decision_evidence) ... ok\ntest_schema_and_validator_status_vocabularies_must_match (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_schema_and_validator_status_vocabularies_must_match) ... ok\ntest_unanchored_source_report_cannot_be_external_anchor (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_unanchored_source_report_cannot_be_external_anchor) ... ok\ntest_unanchored_source_report_must_remain_discovery (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_unanchored_source_report_must_remain_discovery) ... ok\ntest_unknown_decision_reference_fails_closed (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_unknown_decision_reference_fails_closed) ... ok\ntest_unknown_registry_entry_field_fails_closed (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_unknown_registry_entry_field_fails_closed) ... ok\ntest_validator_does_not_pin_source_reported_numbers (test_football_knowledge_handbook_safety.FootballKnowledgeHandbookSafetyTest.test_validator_does_not_pin_source_reported_numbers) ... ok\ntest_committed_context_matches_active_release_and_source_registries (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_committed_context_matches_active_release_and_source_registries) ... ok\ntest_context_generation_is_byte_deterministic (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_context_generation_is_byte_deterministic) ... ok\ntest_registry_digest_mutation_is_rejected (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_registry_digest_mutation_is_rejected) ... ok\ntest_release_identity_mutation_is_rejected (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_release_identity_mutation_is_rejected) ... ok\ntest_repository_validator_rejects_stale_export_context (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_repository_validator_rejects_stale_export_context) ... ok\ntest_rights_lane_mutation_is_rejected (test_football_understanding_export_context.FootballUnderstandingExportContextTest.test_rights_lane_mutation_is_rejected) ... ok\ntest_interface_contract (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_interface_contract) ... ok\ntest_validator_rejects_canonical_export (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_canonical_export) ... ok\ntest_validator_rejects_invented_observation_provenance (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_invented_observation_provenance) ... ok\ntest_validator_rejects_missing_approval_and_evidence_contract (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_missing_approval_and_evidence_contract) ... ok\ntest_validator_rejects_persistent_storage (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_persistent_storage) ... ok\ntest_validator_rejects_synthetic_or_free_form_contributor (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_synthetic_or_free_form_contributor) ... ok\ntest_validator_rejects_unresolved_rights_without_blocked_state (test_football_understanding_interface_contract.FootballUnderstandingInterfaceContractTest.test_validator_rejects_unresolved_rights_without_blocked_state) ... ok\ntest_contract (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_contract) ... ok\ntest_rejects_invented_observation_provenance (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_invented_observation_provenance) ... ok\ntest_rejects_missing_approval_and_evidence_contract (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_missing_approval_and_evidence_contract) ... ok\ntest_rejects_missing_noncanonical_boundary (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_missing_noncanonical_boundary) ... ok\ntest_rejects_persistence_binding (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_persistence_binding) ... ok\ntest_rejects_rendered_text_geometry_read (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_rendered_text_geometry_read) ... ok\ntest_rejects_synthetic_or_free_form_contributor_identity (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_synthetic_or_free_form_contributor_identity) ... ok\ntest_rejects_unprotected_segmenter_use_and_invisible_toggle_focus (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_unprotected_segmenter_use_and_invisible_toggle_focus) ... ok\ntest_rejects_unresolved_rights_without_blocked_state (test_football_understanding_pretext_contract.FootballUnderstandingPretextContractTest.test_rejects_unresolved_rights_without_blocked_state) ... ok\ntest_contract (test_movement_skill_contract.MovementSkillContractTest.test_contract) ... ok\ntest_large_scale_readiness_is_explicitly_blocked (test_movement_skill_contract.MovementSkillContractTest.test_large_scale_readiness_is_explicitly_blocked) ... ok\ntest_mover_sequence (test_movement_skill_contract.MovementSkillContractTest.test_mover_sequence) ... ok\ntest_pilot_is_balanced_and_empty (test_movement_skill_contract.MovementSkillContractTest.test_pilot_is_balanced_and_empty) ... ok\ntest_approval_receipt_hash_binds_exact_permissions (test_movement_skill_safety.MovementSkillSafetyTest.test_approval_receipt_hash_binds_exact_permissions) ... ok\ntest_automatic_transcript_enablement_fails_without_approval_receipt (test_movement_skill_safety.MovementSkillSafetyTest.test_automatic_transcript_enablement_fails_without_approval_receipt) ... ok\ntest_balanced_slot_sampling_design_passes (test_movement_skill_safety.MovementSkillSafetyTest.test_balanced_slot_sampling_design_passes) ... ok\ntest_caller_root_cannot_inject_capture_rights_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_caller_root_cannot_inject_capture_rights_authority) ... ok\ntest_caller_root_cannot_inject_population_owner_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_caller_root_cannot_inject_population_owner_authority) ... ok\ntest_candidate_asset_authority_rejects_rights_and_receipt_attacks (test_movement_skill_safety.MovementSkillSafetyTest.test_candidate_asset_authority_rejects_rights_and_receipt_attacks) ... ok\ntest_candidate_membership_rejects_unknown_balanced_substitution (test_movement_skill_safety.MovementSkillSafetyTest.test_candidate_membership_rejects_unknown_balanced_substitution) ... ok\ntest_candidate_rejects_self_declared_open_license_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_candidate_rejects_self_declared_open_license_authority) ... ok\ntest_collection_plan_rejects_unknown_fields_and_operations (test_movement_skill_safety.MovementSkillSafetyTest.test_collection_plan_rejects_unknown_fields_and_operations) ... ok\ntest_collection_plan_requires_exact_boolean_values (test_movement_skill_safety.MovementSkillSafetyTest.test_collection_plan_requires_exact_boolean_values) ... ok\ntest_collection_plan_requires_exact_git_policy (test_movement_skill_safety.MovementSkillSafetyTest.test_collection_plan_requires_exact_git_policy) ... ok\ntest_collector_receipt_rejects_changed_command_output_and_time (test_movement_skill_safety.MovementSkillSafetyTest.test_collector_receipt_rejects_changed_command_output_and_time) ... ok\ntest_complete_fit_only_fixture_reaches_large_scale_ready (test_movement_skill_safety.MovementSkillSafetyTest.test_complete_fit_only_fixture_reaches_large_scale_ready) ... ok\ntest_completed_adjudication_requires_two_completed_review_times (test_movement_skill_safety.MovementSkillSafetyTest.test_completed_adjudication_requires_two_completed_review_times) ... ok\ntest_completed_episode_timestamp_chronology_fails_closed (test_movement_skill_safety.MovementSkillSafetyTest.test_completed_episode_timestamp_chronology_fails_closed) ... ok\ntest_completed_episode_timestamp_equality_is_allowed (test_movement_skill_safety.MovementSkillSafetyTest.test_completed_episode_timestamp_equality_is_allowed) ... ok\ntest_content_capture_switch_fails_without_approval_receipt (test_movement_skill_safety.MovementSkillSafetyTest.test_content_capture_switch_fails_without_approval_receipt) ... ok\ntest_draft_selection_provenance_requires_fixed_membership (test_movement_skill_safety.MovementSkillSafetyTest.test_draft_selection_provenance_requires_fixed_membership) ... ok\ntest_duplicate_publication_url_fails_validation (test_movement_skill_safety.MovementSkillSafetyTest.test_duplicate_publication_url_fails_validation) ... ok\ntest_eligible_episode_allows_ordered_phases_that_touch (test_movement_skill_safety.MovementSkillSafetyTest.test_eligible_episode_allows_ordered_phases_that_touch) ... ok\ntest_eligible_episode_fails_closed_when_selection_authority_crashes (test_movement_skill_safety.MovementSkillSafetyTest.test_eligible_episode_fails_closed_when_selection_authority_crashes) ... ok\ntest_eligible_episode_rejects_resealed_selection_substitutions (test_movement_skill_safety.MovementSkillSafetyTest.test_eligible_episode_rejects_resealed_selection_substitutions) ... ok\ntest_episode_collection_requires_exact_unique_slot_coverage (test_movement_skill_safety.MovementSkillSafetyTest.test_episode_collection_requires_exact_unique_slot_coverage) ... ok\ntest_episode_interval_geometry_rejects_resealed_adversarial_mutations (test_movement_skill_safety.MovementSkillSafetyTest.test_episode_interval_geometry_rejects_resealed_adversarial_mutations) ... ok\ntest_episode_split_loader_rejects_non_repository_module (test_movement_skill_safety.MovementSkillSafetyTest.test_episode_split_loader_rejects_non_repository_module) ... ok\ntest_episode_validation_captures_one_utc_clock (test_movement_skill_safety.MovementSkillSafetyTest.test_episode_validation_captures_one_utc_clock) ... ok\ntest_every_content_use_rights_status_requires_fixed_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_every_content_use_rights_status_requires_fixed_authority) ... ok\ntest_exact_selector_replay_excludes_ambient_test_paths_and_credentials (test_movement_skill_safety.MovementSkillSafetyTest.test_exact_selector_replay_excludes_ambient_test_paths_and_credentials) ... ok\ntest_exact_selector_replay_rejects_balanced_cherry_pick (test_movement_skill_safety.MovementSkillSafetyTest.test_exact_selector_replay_rejects_balanced_cherry_pick) ... ok\ntest_exact_selector_replay_rejects_slot_omission_and_addition (test_movement_skill_safety.MovementSkillSafetyTest.test_exact_selector_replay_rejects_slot_omission_and_addition) ... ok\ntest_fabricated_receipt_cannot_enable_content_capture (test_movement_skill_safety.MovementSkillSafetyTest.test_fabricated_receipt_cannot_enable_content_capture) ... ok\ntest_false_frozen_pilot_claim_fails_validation (test_movement_skill_safety.MovementSkillSafetyTest.test_false_frozen_pilot_claim_fails_validation) ... ok\ntest_false_pilot_readiness_claim_fails_validation (test_movement_skill_safety.MovementSkillSafetyTest.test_false_pilot_readiness_claim_fails_validation) ... ok\ntest_fixed_rights_authority_rejects_fully_resealed_fake_decision (test_movement_skill_safety.MovementSkillSafetyTest.test_fixed_rights_authority_rejects_fully_resealed_fake_decision) ... ok\ntest_fixed_rights_authority_rejects_self_declared_decision_scope (test_movement_skill_safety.MovementSkillSafetyTest.test_fixed_rights_authority_rejects_self_declared_decision_scope) ... ok\ntest_frozen_population_preregistration_rejects_unknown_selector_and_seed (test_movement_skill_safety.MovementSkillSafetyTest.test_frozen_population_preregistration_rejects_unknown_selector_and_seed) ... ok\ntest_frozen_population_rejects_nonselected_candidate_omission_and_substitution (test_movement_skill_safety.MovementSkillSafetyTest.test_frozen_population_rejects_nonselected_candidate_omission_and_substitution) ... ok\ntest_gold_approval_binds_exact_promoted_episode_artifact (test_movement_skill_safety.MovementSkillSafetyTest.test_gold_approval_binds_exact_promoted_episode_artifact) ... ok\ntest_gold_eligibility_requires_fixed_selection_membership (test_movement_skill_safety.MovementSkillSafetyTest.test_gold_eligibility_requires_fixed_selection_membership) ... ok\ntest_gold_rejects_disagreement_insufficient_visibility_and_null_adjudicator (test_movement_skill_safety.MovementSkillSafetyTest.test_gold_rejects_disagreement_insufficient_visibility_and_null_adjudicator) ... ok\ntest_large_scale_gate_captures_one_utc_validation_clock (test_movement_skill_safety.MovementSkillSafetyTest.test_large_scale_gate_captures_one_utc_validation_clock) ... ok\ntest_large_scale_readiness_rejects_placeholder_paths_and_hashes (test_movement_skill_safety.MovementSkillSafetyTest.test_large_scale_readiness_rejects_placeholder_paths_and_hashes) ... ok\ntest_missing_rights_status_fails_validation (test_movement_skill_safety.MovementSkillSafetyTest.test_missing_rights_status_fails_validation) ... ok\ntest_movement_episode_schema_requires_governed_provenance_and_review_labels (test_movement_skill_safety.MovementSkillSafetyTest.test_movement_episode_schema_requires_governed_provenance_and_review_labels) ... ok\ntest_nonselected_candidate_requires_governed_asset_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_nonselected_candidate_requires_governed_asset_authority) ... ok\ntest_population_approval_rejects_future_owner_time (test_movement_skill_safety.MovementSkillSafetyTest.test_population_approval_rejects_future_owner_time) ... ok\ntest_population_approval_rejects_injected_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_population_approval_rejects_injected_authority) ... ok\ntest_population_authority_rejects_fully_forged_current_journal (test_movement_skill_safety.MovementSkillSafetyTest.test_population_authority_rejects_fully_forged_current_journal) ... ok\ntest_population_substitution_and_denominator_reseal_remain_blocked (test_movement_skill_safety.MovementSkillSafetyTest.test_population_substitution_and_denominator_reseal_remain_blocked) ... ok\ntest_production_independent_decision_authority_is_loadable (test_movement_skill_safety.MovementSkillSafetyTest.test_production_independent_decision_authority_is_loadable) ... ok\ntest_production_journal_does_not_approve_synthetic_publication_evidence (test_movement_skill_safety.MovementSkillSafetyTest.test_production_journal_does_not_approve_synthetic_publication_evidence) ... ok\ntest_public_episode_collection_rejects_alternate_authority_root (test_movement_skill_safety.MovementSkillSafetyTest.test_public_episode_collection_rejects_alternate_authority_root) ... ok\ntest_public_episode_validator_rejects_caller_authority_root (test_movement_skill_safety.MovementSkillSafetyTest.test_public_episode_validator_rejects_caller_authority_root) ... ok\ntest_public_episode_validator_rejects_fabricated_fit_and_authorities (test_movement_skill_safety.MovementSkillSafetyTest.test_public_episode_validator_rejects_fabricated_fit_and_authorities) ... ok\ntest_public_episode_validator_rejects_self_declared_selection_membership (test_movement_skill_safety.MovementSkillSafetyTest.test_public_episode_validator_rejects_self_declared_selection_membership) ... ok\ntest_publication_authority_rejects_fully_forged_current_journal (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_authority_rejects_fully_forged_current_journal) ... ok\ntest_publication_timestamp_rejects_approved_packet_replayed_to_another_row (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_approved_packet_replayed_to_another_row) ... ok\ntest_publication_timestamp_rejects_boolean_wordpress_post_id (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_boolean_wordpress_post_id) ... ok\ntest_publication_timestamp_rejects_changed_or_fabricated_upstream_response (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_changed_or_fabricated_upstream_response) ... ok\ntest_publication_timestamp_rejects_duplicate_packet_identities (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_duplicate_packet_identities) ... ok\ntest_publication_timestamp_rejects_future_observation_and_retrieval (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_future_observation_and_retrieval) ... ok\ntest_publication_timestamp_rejects_uncontrolled_self_asserted_extraction (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_uncontrolled_self_asserted_extraction) ... ok\ntest_publication_timestamp_rejects_unknown_or_unadopted_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_rejects_unknown_or_unadopted_authority) ... ok\ntest_publication_timestamp_requires_exact_governed_evidence (test_movement_skill_safety.MovementSkillSafetyTest.test_publication_timestamp_requires_exact_governed_evidence) ... ok\ntest_ready_phase_is_evaluated_from_governed_artifacts (test_movement_skill_safety.MovementSkillSafetyTest.test_ready_phase_is_evaluated_from_governed_artifacts) ... ok\ntest_ready_phase_requires_content_bound_collector_evidence (test_movement_skill_safety.MovementSkillSafetyTest.test_ready_phase_requires_content_bound_collector_evidence) ... ok\ntest_ready_phase_requires_matching_document_states (test_movement_skill_safety.MovementSkillSafetyTest.test_ready_phase_requires_matching_document_states) ... ok\ntest_registry_and_collection_plan_are_fail_closed (test_movement_skill_safety.MovementSkillSafetyTest.test_registry_and_collection_plan_are_fail_closed) ... ok\ntest_runtime_episode_accepts_fixed_open_license_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_accepts_fixed_open_license_authority) ... ok\ntest_runtime_episode_asset_must_bind_governed_game_and_event (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_asset_must_bind_governed_game_and_event) ... ok\ntest_runtime_episode_binds_review_submissions_and_accepts_qualified_gold (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_binds_review_submissions_and_accepts_qualified_gold) ... ok\ntest_runtime_episode_rejects_self_declared_open_license_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_rejects_self_declared_open_license_authority) ... ok\ntest_runtime_episode_rejects_self_declared_private_rights_authority (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_rejects_self_declared_private_rights_authority) ... ok\ntest_runtime_episode_rejects_source_rights_and_asset_self_declaration (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_rejects_source_rights_and_asset_self_declaration) ... ok\ntest_runtime_episode_rejects_unreviewed_gold_and_model_eligibility (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_rejects_unreviewed_gold_and_model_eligibility) ... ok\ntest_runtime_episode_requires_governed_asset_receipt_and_batch (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_requires_governed_asset_receipt_and_batch) ... ok\ntest_runtime_episode_schema_fails_closed_on_required_evidence (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_schema_fails_closed_on_required_evidence) ... ok\ntest_runtime_episode_validator_accepts_governed_fit_identity (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_accepts_governed_fit_identity) ... ok\ntest_runtime_episode_validator_rejects_changed_asset_hash (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_rejects_changed_asset_hash) ... ok\ntest_runtime_episode_validator_rejects_changed_manifest_hash (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_rejects_changed_manifest_hash) ... ok\ntest_runtime_episode_validator_rejects_declared_split_substitution (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_rejects_declared_split_substitution) ... ok\ntest_runtime_episode_validator_rejects_unknown_or_test_identity (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_rejects_unknown_or_test_identity) ... ok\ntest_runtime_episode_validator_requires_distinct_reviewers (test_movement_skill_safety.MovementSkillSafetyTest.test_runtime_episode_validator_requires_distinct_reviewers) ... ok\ntest_selection_receipt_rejects_fabricated_output_digest (test_movement_skill_safety.MovementSkillSafetyTest.test_selection_receipt_rejects_fabricated_output_digest) ... ok\ntest_selector_executes_verified_snapshots_and_cleans_them_up (test_movement_skill_safety.MovementSkillSafetyTest.test_selector_executes_verified_snapshots_and_cleans_them_up) ... ok\ntest_slot_sampling_design_rejects_missing_position_and_view_controls (test_movement_skill_safety.MovementSkillSafetyTest.test_slot_sampling_design_rejects_missing_position_and_view_controls) ... ok\ntest_slot_sampling_design_rejects_player_and_game_concentration (test_movement_skill_safety.MovementSkillSafetyTest.test_slot_sampling_design_rejects_player_and_game_concentration) ... ok\ntest_slot_sampling_design_rejects_prevalence_and_blinding_bypass (test_movement_skill_safety.MovementSkillSafetyTest.test_slot_sampling_design_rejects_prevalence_and_blinding_bypass) ... ok\ntest_slot_sampling_design_rejects_quota_substitution (test_movement_skill_safety.MovementSkillSafetyTest.test_slot_sampling_design_rejects_quota_substitution) ... ok\ntest_slot_sampling_design_rejects_undeclared_outcome_fields (test_movement_skill_safety.MovementSkillSafetyTest.test_slot_sampling_design_rejects_undeclared_outcome_fields) ... ok\ntest_split_resolution_timestamp_chronology_fails_closed (test_movement_skill_safety.MovementSkillSafetyTest.test_split_resolution_timestamp_chronology_fails_closed) ... ok\ntest_unverified_publication_timestamps_cannot_claim_reconciliation (test_movement_skill_safety.MovementSkillSafetyTest.test_unverified_publication_timestamps_cannot_claim_reconciliation) ... ok\ntest_verified_json_consumes_the_exact_bytes_that_were_hashed (test_movement_skill_safety.MovementSkillSafetyTest.test_verified_json_consumes_the_exact_bytes_that_were_hashed) ... ok\ntest_canonical_read_order_rejects_duplicate_marker_blocks (test_programme_context_contract.ProgrammeContextContractTests.test_canonical_read_order_rejects_duplicate_marker_blocks) ... ok\ntest_complete_stage_title_is_machine_bound (test_programme_context_contract.ProgrammeContextContractTests.test_complete_stage_title_is_machine_bound) ... ok\ntest_completed_pr39_handoff_is_retired (test_programme_context_contract.ProgrammeContextContractTests.test_completed_pr39_handoff_is_retired) ... ok\ntest_context_and_visibility_contracts_are_required_by_central_gate (test_programme_context_contract.ProgrammeContextContractTests.test_context_and_visibility_contracts_are_required_by_central_gate) ... ok\ntest_context_declares_stage_sequence_and_evidence_layers (test_programme_context_contract.ProgrammeContextContractTests.test_context_declares_stage_sequence_and_evidence_layers) ... ok\ntest_context_separates_the_three_validation_regimes (test_programme_context_contract.ProgrammeContextContractTests.test_context_separates_the_three_validation_regimes) ... ok\ntest_every_orientation_surface_has_one_canonical_read_order (test_programme_context_contract.ProgrammeContextContractTests.test_every_orientation_surface_has_one_canonical_read_order) ... ok\ntest_full_supported_gate_discovers_context_contract (test_programme_context_contract.ProgrammeContextContractTests.test_full_supported_gate_discovers_context_contract) ... ok\ntest_live_orientation_surfaces_agree_on_stage_and_non_authority (test_programme_context_contract.ProgrammeContextContractTests.test_live_orientation_surfaces_agree_on_stage_and_non_authority) ... ok\ntest_owner_directed_stage_one_decision_is_recorded (test_programme_context_contract.ProgrammeContextContractTests.test_owner_directed_stage_one_decision_is_recorded) ... ok\ntest_post_pr39_live_state_is_reconciled (test_programme_context_contract.ProgrammeContextContractTests.test_post_pr39_live_state_is_reconciled) ... ok\ntest_successor_decision_becomes_current_stage_authority (test_programme_context_contract.ProgrammeContextContractTests.test_successor_decision_becomes_current_stage_authority) ... ok\ntest_transcript_release_gate_remains_in_active_queue (test_programme_context_contract.ProgrammeContextContractTests.test_transcript_release_gate_remains_in_active_queue) ... ok\ntest_duplicate_url_requires_one_explicit_anchor_and_alias (test_public_source_identity_audit.PublicSourceIdentityAuditTest.test_duplicate_url_requires_one_explicit_anchor_and_alias) ... ok\ntest_experiment_id_cannot_identify_different_publications (test_public_source_identity_audit.PublicSourceIdentityAuditTest.test_experiment_id_cannot_identify_different_publications) ... ok\ntest_missing_experiment_id_does_not_disable_other_collision_checks (test_public_source_identity_audit.PublicSourceIdentityAuditTest.test_missing_experiment_id_does_not_disable_other_collision_checks) ... ok\ntest_repository_registries_resolve_aliases_without_experiment_collisions (test_public_source_identity_audit.PublicSourceIdentityAuditTest.test_repository_registries_resolve_aliases_without_experiment_collisions) ... ok\ntest_canonical_registry_fails (test_public_study_registry.PublicStudyRegistryTest.test_canonical_registry_fails) ... ok\ntest_duplicate_source_id_fails (test_public_study_registry.PublicStudyRegistryTest.test_duplicate_source_id_fails) ... ok\ntest_pff_registry (test_public_study_registry.PublicStudyRegistryTest.test_pff_registry) ... ok\ntest_substack_registry (test_public_study_registry.PublicStudyRegistryTest.test_substack_registry) ... ok\ntest_approved_snapshot_receipts_reject_test_access (test_repository_contract.RepositoryContractTest.test_approved_snapshot_receipts_reject_test_access) ... ok\ntest_central_validator_aggregates_movement_contract (test_repository_contract.RepositoryContractTest.test_central_validator_aggregates_movement_contract) ... ok\ntest_neutral_ep_aggregate_validator_rejects_changed_correction_hash (test_repository_contract.RepositoryContractTest.test_neutral_ep_aggregate_validator_rejects_changed_correction_hash) ... ok\ntest_neutral_ep_aggregate_validator_requires_rights_amendment (test_repository_contract.RepositoryContractTest.test_neutral_ep_aggregate_validator_requires_rights_amendment) ... ok\ntest_neutral_ep_receipt_preserves_chronology_and_zero_test_use (test_repository_contract.RepositoryContractTest.test_neutral_ep_receipt_preserves_chronology_and_zero_test_use) ... ok\ntest_neutral_ep_reproduction_binds_byte_exact_noncanonical_replay (test_repository_contract.RepositoryContractTest.test_neutral_ep_reproduction_binds_byte_exact_noncanonical_replay) ... ok\ntest_owner_split_approval_cannot_silently_regress (test_repository_contract.RepositoryContractTest.test_owner_split_approval_cannot_silently_regress) ... ok\ntest_parity_source_manifest_requires_exact_code_commit (test_repository_contract.RepositoryContractTest.test_parity_source_manifest_requires_exact_code_commit) ... ok\ntest_producer_lineage_does_not_overclaim_exact_environment (test_repository_contract.RepositoryContractTest.test_producer_lineage_does_not_overclaim_exact_environment) ... ok\ntest_repository_contract (test_repository_contract.RepositoryContractTest.test_repository_contract) ... ok\ntest_tier1_runtime_lock_hash_is_portable_across_lf_and_crlf (test_repository_contract.RepositoryContractTest.test_tier1_runtime_lock_hash_is_portable_across_lf_and_crlf) ... ok\ntest_tier1_runtime_lock_hash_rejects_bare_carriage_returns (test_repository_contract.RepositoryContractTest.test_tier1_runtime_lock_hash_rejects_bare_carriage_returns) ... ok\ntest_tier1_runtime_lock_hash_rejects_substantive_mutation (test_repository_contract.RepositoryContractTest.test_tier1_runtime_lock_hash_rejects_substantive_mutation) ... ok\ntest_tier2_content_addressed_artifacts_use_stable_lf_bytes (test_repository_contract.RepositoryContractTest.test_tier2_content_addressed_artifacts_use_stable_lf_bytes) ... ok\ntest_tier2_receipt_binds_exact_runtime_lock (test_repository_contract.RepositoryContractTest.test_tier2_receipt_binds_exact_runtime_lock) ... ok\ntest_eagles_registry_is_read_only_and_rights_explicit (test_specialist_research_contract.SpecialistResearchContractTest.test_eagles_registry_is_read_only_and_rights_explicit) ... ok\ntest_historical_registry_is_metadata_only_and_noncanonical (test_specialist_research_contract.SpecialistResearchContractTest.test_historical_registry_is_metadata_only_and_noncanonical) ... ok\ntest_media_manifest_is_unacquired_and_six_identities_are_pending (test_specialist_research_contract.SpecialistResearchContractTest.test_media_manifest_is_unacquired_and_six_identities_are_pending) ... ok\ntest_sumersports_sources_and_catalog_remain_manual_reading_only (test_specialist_research_contract.SpecialistResearchContractTest.test_sumersports_sources_and_catalog_remain_manual_reading_only) ... ok\ntest_all_public_research_artifacts_have_resolved_identity_state (test_specialist_source_identity_audit.SpecialistSourceIdentityAuditTest.test_all_public_research_artifacts_have_resolved_identity_state) ... ok\ntest_approved_metadata_manifest_hash_binds_the_exact_item (test_sumersports_transcript_contract.TranscriptContractTests.test_approved_metadata_manifest_hash_binds_the_exact_item) ... ok\ntest_approved_publication_duration_follows_manifest_null_semantics (test_sumersports_transcript_contract.TranscriptContractTests.test_approved_publication_duration_follows_manifest_null_semantics) ... ok\ntest_approved_publication_duration_must_match_known_manifest_value (test_sumersports_transcript_contract.TranscriptContractTests.test_approved_publication_duration_must_match_known_manifest_value) ... ok\ntest_approved_publication_rejects_ungoverned_publisher (test_sumersports_transcript_contract.TranscriptContractTests.test_approved_publication_rejects_ungoverned_publisher) ... ok\ntest_automated_scrape_fails (test_sumersports_transcript_contract.TranscriptContractTests.test_automated_scrape_fails) ... ok\ntest_builder_and_grader_scan_the_complete_registry_for_material (test_sumersports_transcript_contract.TranscriptContractTests.test_builder_and_grader_scan_the_complete_registry_for_material) ... ok\ntest_builder_rejects_camel_case_unclassified_and_unsafe_export_fields (test_sumersports_transcript_contract.TranscriptContractTests.test_builder_rejects_camel_case_unclassified_and_unsafe_export_fields) ... ok\ntest_builder_rejects_material_fields_in_the_metadata_export (test_sumersports_transcript_contract.TranscriptContractTests.test_builder_rejects_material_fields_in_the_metadata_export) ... ok\ntest_builder_validates_every_supplied_alias_before_projection (test_sumersports_transcript_contract.TranscriptContractTests.test_builder_validates_every_supplied_alias_before_projection) ... ok\ntest_built_manifest_is_consumed_directly_by_transcript_grader (test_sumersports_transcript_contract.TranscriptContractTests.test_built_manifest_is_consumed_directly_by_transcript_grader) ... ok\ntest_complete_registry_requires_unique_referentially_valid_authority (test_sumersports_transcript_contract.TranscriptContractTests.test_complete_registry_requires_unique_referentially_valid_authority) ... ok\ntest_completed_transcript_timestamps_reject_future_under_one_clock (test_sumersports_transcript_contract.TranscriptContractTests.test_completed_transcript_timestamps_reject_future_under_one_clock) ... ok\ntest_duplicate_visibility_state_conflict_fails (test_sumersports_transcript_contract.TranscriptContractTests.test_duplicate_visibility_state_conflict_fails) ... ok\ntest_every_governed_approval_requires_exact_types_and_bound_hashes (test_sumersports_transcript_contract.TranscriptContractTests.test_every_governed_approval_requires_exact_types_and_bound_hashes) ... ok\ntest_every_registry_manifest_uses_the_exact_metadata_envelope (test_sumersports_transcript_contract.TranscriptContractTests.test_every_registry_manifest_uses_the_exact_metadata_envelope) ... ok\ntest_extreme_timezone_offsets_fail_closed_without_clock_overflow (test_sumersports_transcript_contract.TranscriptContractTests.test_extreme_timezone_offsets_fail_closed_without_clock_overflow) ... ok\ntest_full_text_approval_rejects_an_unapproved_publication_identity (test_sumersports_transcript_contract.TranscriptContractTests.test_full_text_approval_rejects_an_unapproved_publication_identity) ... ok\ntest_full_text_approval_requires_metadata_manifest_binding (test_sumersports_transcript_contract.TranscriptContractTests.test_full_text_approval_requires_metadata_manifest_binding) ... ok\ntest_full_text_without_approval_fails (test_sumersports_transcript_contract.TranscriptContractTests.test_full_text_without_approval_fails) ... ok\ntest_governed_approval_hash_binds_exact_permissions (test_sumersports_transcript_contract.TranscriptContractTests.test_governed_approval_hash_binds_exact_permissions) ... ok\ntest_governed_registry_rejects_free_text_shape_and_metadata_budget_abuse (test_sumersports_transcript_contract.TranscriptContractTests.test_governed_registry_rejects_free_text_shape_and_metadata_budget_abuse) ... ok\ntest_governed_source_topics_require_an_exact_normalized_list (test_sumersports_transcript_contract.TranscriptContractTests.test_governed_source_topics_require_an_exact_normalized_list) ... ok\ntest_grader_captures_one_utc_validation_clock (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_captures_one_utc_validation_clock) ... ok\ntest_grader_cli_publication_is_no_clobber (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_is_no_clobber) ... ok\ntest_grader_cli_publication_preserves_installed_post_interrupt_output (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_preserves_installed_post_interrupt_output) ... ok\ntest_grader_cli_publication_preserves_owned_stage_on_interruption (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_preserves_owned_stage_on_interruption) ... ok\ntest_grader_cli_publication_preserves_owned_stage_on_write_failure (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_preserves_owned_stage_on_write_failure) ... ok\ntest_grader_cli_publication_rejects_install_collision (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_rejects_install_collision) ... ok\ntest_grader_cli_publication_success_binds_input_and_result (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_publication_success_binds_input_and_result) ... ok\ntest_grader_cli_rejects_duplicate_critical_keys_before_report (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_rejects_duplicate_critical_keys_before_report) ... ok\ntest_grader_cli_rejects_nonstandard_and_overflow_numbers_before_report (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_cli_rejects_nonstandard_and_overflow_numbers_before_report) ... ok\ntest_grader_publication_rejects_dangling_output_symlink_before_resolve (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_publication_rejects_dangling_output_symlink_before_resolve) ... ok\ntest_grader_publication_rejects_symlinked_parent_before_resolve (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_publication_rejects_symlinked_parent_before_resolve) ... ok\ntest_grader_rejects_a_loosened_schema_override (test_sumersports_transcript_contract.TranscriptContractTests.test_grader_rejects_a_loosened_schema_override) ... ok\ntest_incomplete_gold_fails (test_sumersports_transcript_contract.TranscriptContractTests.test_incomplete_gold_fails) ... ok\ntest_knowledge_layer_cannot_claim_a_transcript_material_class (test_sumersports_transcript_contract.TranscriptContractTests.test_knowledge_layer_cannot_claim_a_transcript_material_class) ... ok\ntest_limitations_require_a_rights_or_evidence_limitation_phrase (test_sumersports_transcript_contract.TranscriptContractTests.test_limitations_require_a_rights_or_evidence_limitation_phrase) ... ok\ntest_manifest_accepts_empty_description (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_accepts_empty_description) ... ok\ntest_manifest_builder_rejects_free_text_registry_shape_abuse (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_builder_rejects_free_text_registry_shape_abuse) ... ok\ntest_manifest_builder_rejects_oversized_embedded_metadata (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_builder_rejects_oversized_embedded_metadata) ... ok\ntest_manifest_builder_rejects_registry_authority_injection (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_builder_rejects_registry_authority_injection) ... ok\ntest_manifest_classifies_priority_item (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_classifies_priority_item) ... ok\ntest_manifest_cli_publication_is_no_clobber (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_is_no_clobber) ... ok\ntest_manifest_cli_publication_preserves_installed_post_interrupt_output (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_preserves_installed_post_interrupt_output) ... ok\ntest_manifest_cli_publication_preserves_owned_stage_on_interruption (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_preserves_owned_stage_on_interruption) ... ok\ntest_manifest_cli_publication_preserves_owned_stage_on_write_failure (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_preserves_owned_stage_on_write_failure) ... ok\ntest_manifest_cli_publication_rejects_install_collision (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_rejects_install_collision) ... ok\ntest_manifest_cli_publication_success_is_exact (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_publication_success_is_exact) ... ok\ntest_manifest_cli_rejects_duplicate_item_keys_before_output (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_rejects_duplicate_item_keys_before_output) ... ok\ntest_manifest_cli_rejects_nonstandard_and_overflow_numbers_before_output (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_cli_rejects_nonstandard_and_overflow_numbers_before_output) ... ok\ntest_manifest_conflicting_duplicate_fails (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_conflicting_duplicate_fails) ... ok\ntest_manifest_description_summary_fields_are_consistent_and_bounded (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_description_summary_fields_are_consistent_and_bounded) ... ok\ntest_manifest_duration_accepts_null_and_finite_values (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_duration_accepts_null_and_finite_values) ... ok\ntest_manifest_duration_requires_finite_nonnegative_value (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_duration_requires_finite_nonnegative_value) ... ok\ntest_manifest_emits_deterministic_grader_consumable_hashes (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_emits_deterministic_grader_consumable_hashes) ... ok\ntest_manifest_extreme_timezone_offset_fails_closed (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_extreme_timezone_offset_fails_closed) ... ok\ntest_manifest_generation_timestamp_uses_one_clock_and_allows_equality (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_generation_timestamp_uses_one_clock_and_allows_equality) ... ok\ntest_manifest_item_publication_may_equal_generation (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_item_publication_may_equal_generation) ... ok\ntest_manifest_item_publication_must_not_follow_generation (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_item_publication_must_not_follow_generation) ... ok\ntest_manifest_public_helper_captures_one_exact_source_export (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_public_helper_captures_one_exact_source_export) ... ok\ntest_manifest_publication_rejects_dangling_output_symlink_before_resolve (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_publication_rejects_dangling_output_symlink_before_resolve) ... ok\ntest_manifest_publication_rejects_symlinked_parent_before_resolve (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_publication_rejects_symlinked_parent_before_resolve) ... ok\ntest_manifest_rejects_mutated_governed_approval_receipt (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_rejects_mutated_governed_approval_receipt) ... ok\ntest_manifest_rejects_nonfinite_values_before_authority_resolution (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_rejects_nonfinite_values_before_authority_resolution) ... ok\ntest_manifest_rejects_self_declared_or_wrong_source_approval (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_rejects_self_declared_or_wrong_source_approval) ... ok\ntest_manifest_requires_rights_receipt (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_requires_rights_receipt) ... ok\ntest_manifest_status_fields_are_closed_metadata_enums (test_sumersports_transcript_contract.TranscriptContractTests.test_manifest_status_fields_are_closed_metadata_enums) ... ok\ntest_material_layer_requires_explicit_full_text_storage_flag (test_sumersports_transcript_contract.TranscriptContractTests.test_material_layer_requires_explicit_full_text_storage_flag) ... ok\ntest_material_layer_requires_explicit_storage_visibility (test_sumersports_transcript_contract.TranscriptContractTests.test_material_layer_requires_explicit_storage_visibility) ... ok\ntest_metadata_and_transcript_approval_receipts_remain_separate (test_sumersports_transcript_contract.TranscriptContractTests.test_metadata_and_transcript_approval_receipts_remain_separate) ... ok\ntest_metadata_only_bronze_passes (test_sumersports_transcript_contract.TranscriptContractTests.test_metadata_only_bronze_passes) ... ok\ntest_metadata_only_record_accepts_a_governed_manifest_binding (test_sumersports_transcript_contract.TranscriptContractTests.test_metadata_only_record_accepts_a_governed_manifest_binding) ... ok\ntest_metadata_only_record_rejects_ungoverned_manifest_binding (test_sumersports_transcript_contract.TranscriptContractTests.test_metadata_only_record_rejects_ungoverned_manifest_binding) ... ok\ntest_metadata_text_is_nfc_normalized_end_to_end (test_sumersports_transcript_contract.TranscriptContractTests.test_metadata_text_is_nfc_normalized_end_to_end) ... ok\ntest_nonexistent_approval_cannot_authorize_full_text (test_sumersports_transcript_contract.TranscriptContractTests.test_nonexistent_approval_cannot_authorize_full_text) ... ok\ntest_nonexistent_layer_cannot_retain_public_storage_reference (test_sumersports_transcript_contract.TranscriptContractTests.test_nonexistent_layer_cannot_retain_public_storage_reference) ... ok\ntest_nonfinite_manifest_and_publication_duration_fail_closed (test_sumersports_transcript_contract.TranscriptContractTests.test_nonfinite_manifest_and_publication_duration_fail_closed) ... ok\ntest_nonfinite_transcript_metrics_fail_before_quality_status (test_sumersports_transcript_contract.TranscriptContractTests.test_nonfinite_transcript_metrics_fail_before_quality_status) ... ok\ntest_official_export_is_bound_to_expected_channel (test_sumersports_transcript_contract.TranscriptContractTests.test_official_export_is_bound_to_expected_channel) ... ok\ntest_public_canonical_source_url_is_not_a_material_export (test_sumersports_transcript_contract.TranscriptContractTests.test_public_canonical_source_url_is_not_a_material_export) ... ok\ntest_public_graders_reject_registry_authority_injection (test_sumersports_transcript_contract.TranscriptContractTests.test_public_graders_reject_registry_authority_injection) ... ok\ntest_public_material_export_passes_only_with_redistribution_approval (test_sumersports_transcript_contract.TranscriptContractTests.test_public_material_export_passes_only_with_redistribution_approval) ... ok\ntest_public_material_uri_requires_redistribution_approval (test_sumersports_transcript_contract.TranscriptContractTests.test_public_material_uri_requires_redistribution_approval) ... ok\ntest_publication_helpers_preserve_replacement_during_post_install_rollback (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_helpers_preserve_replacement_during_post_install_rollback) ... ok\ntest_publication_helpers_reject_parent_swap_before_staging (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_helpers_reject_parent_swap_before_staging) ... ok\ntest_publication_helpers_reject_symlink_observed_only_by_lstat (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_helpers_reject_symlink_observed_only_by_lstat) ... ok\ntest_publication_helpers_rollback_owned_install_after_binding_failure (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_helpers_rollback_owned_install_after_binding_failure) ... ok\ntest_publication_object_requires_complete_typed_identity (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_object_requires_complete_typed_identity) ... ok\ntest_publication_rejects_future_and_post_acquisition_timestamps (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_rejects_future_and_post_acquisition_timestamps) ... ok\ntest_publication_timestamp_cannot_be_null_or_naive (test_sumersports_transcript_contract.TranscriptContractTests.test_publication_timestamp_cannot_be_null_or_naive) ... ok\ntest_publishers_preserve_a_foreign_replacement_at_the_stage_name (test_sumersports_transcript_contract.TranscriptContractTests.test_publishers_preserve_a_foreign_replacement_at_the_stage_name) ... ok\ntest_qa_complete_requires_review_completion_timestamp (test_sumersports_transcript_contract.TranscriptContractTests.test_qa_complete_requires_review_completion_timestamp) ... ok\ntest_record_metadata_rejects_oversized_nonnormalized_and_aggregate_text (test_sumersports_transcript_contract.TranscriptContractTests.test_record_metadata_rejects_oversized_nonnormalized_and_aggregate_text) ... ok\ntest_resealed_approved_publication_cannot_postdate_acquisition (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_approved_publication_cannot_postdate_acquisition) ... ok\ntest_resealed_metadata_manifest_allows_publication_generation_equality (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_allows_publication_generation_equality) ... ok\ntest_resealed_metadata_manifest_rejects_exact_contract_attacks (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_rejects_exact_contract_attacks) ... ok\ntest_resealed_metadata_manifest_rejects_invalid_generation_time (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_rejects_invalid_generation_time) ... ok\ntest_resealed_metadata_manifest_rejects_material_content_anywhere (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_rejects_material_content_anywhere) ... ok\ntest_resealed_metadata_manifest_rejects_unsafe_state (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_rejects_unsafe_state) ... ok\ntest_resealed_metadata_manifest_validates_every_item (test_sumersports_transcript_contract.TranscriptContractTests.test_resealed_metadata_manifest_validates_every_item) ... ok\ntest_schema_rejects_generic_transcript_field_in_decoding_metadata (test_sumersports_transcript_contract.TranscriptContractTests.test_schema_rejects_generic_transcript_field_in_decoding_metadata) ... ok\ntest_schema_rejects_smuggled_inline_or_nested_transcript_text (test_sumersports_transcript_contract.TranscriptContractTests.test_schema_rejects_smuggled_inline_or_nested_transcript_text) ... ok\ntest_schema_validator_rejects_nonfinite_number_instances (test_sumersports_transcript_contract.TranscriptContractTests.test_schema_validator_rejects_nonfinite_number_instances) ... ok\ntest_search_retrieval_use_requires_exact_governed_approval (test_sumersports_transcript_contract.TranscriptContractTests.test_search_retrieval_use_requires_exact_governed_approval) ... ok\ntest_sensitive_approved_uses_cannot_disagree_with_permission_flags (test_sumersports_transcript_contract.TranscriptContractTests.test_sensitive_approved_uses_cannot_disagree_with_permission_flags) ... ok\ntest_sensitive_rights_state_requires_exact_governed_approval (test_sumersports_transcript_contract.TranscriptContractTests.test_sensitive_rights_state_requires_exact_governed_approval) ... ok\ntest_short_or_promo_precedes_technical_series (test_sumersports_transcript_contract.TranscriptContractTests.test_short_or_promo_precedes_technical_series) ... ok\ntest_silver_requires_completed_independent_comparison (test_sumersports_transcript_contract.TranscriptContractTests.test_silver_requires_completed_independent_comparison) ... ok\ntest_speaker_count_and_ids_are_reconciled (test_sumersports_transcript_contract.TranscriptContractTests.test_speaker_count_and_ids_are_reconciled) ... ok\ntest_transcript_timeline_rejects_reversed_completion_order (test_sumersports_transcript_contract.TranscriptContractTests.test_transcript_timeline_rejects_reversed_completion_order) ... ok\ntest_transcript_timestamp_equality_is_explicitly_allowed (test_sumersports_transcript_contract.TranscriptContractTests.test_transcript_timestamp_equality_is_explicitly_allowed) ... ok\ntest_unauthorized_public_export_fails_even_when_flag_is_true (test_sumersports_transcript_contract.TranscriptContractTests.test_unauthorized_public_export_fails_even_when_flag_is_true) ... ok\ntest_valid_gold_passes (test_sumersports_transcript_contract.TranscriptContractTests.test_valid_gold_passes) ... ok\ntest_accepted_private_release_requires_full_text_storage_rights (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_accepted_private_release_requires_full_text_storage_rights) ... ok\ntest_adopted_core_is_recorded_in_decision_journal (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_adopted_core_is_recorded_in_decision_journal) ... ok\ntest_adoption_decision_binds_the_complete_journal_entry (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_adoption_decision_binds_the_complete_journal_entry) ... ok\ntest_all_shared_time_ranges_reject_inverted_intervals (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_all_shared_time_ranges_reject_inverted_intervals) ... ok\ntest_analysis_index_coverage_must_cover_each_release_universe (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_analysis_index_coverage_must_cover_each_release_universe) ... ok\ntest_analysis_index_rejects_nonaccepted_release (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_analysis_index_rejects_nonaccepted_release) ... ok\ntest_analysis_index_requires_private_search_rights_for_each_release (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_analysis_index_requires_private_search_rights_for_each_release) ... ok\ntest_asset_acquisition_must_precede_item_version_observation (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_asset_acquisition_must_precede_item_version_observation) ... ok\ntest_asset_and_candidate_rights_must_authorize_their_source_item (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_asset_and_candidate_rights_must_authorize_their_source_item) ... ok\ntest_automated_review_cannot_make_reviewed_claim (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_automated_review_cannot_make_reviewed_claim) ... ok\ntest_backdated_rights_record_cannot_authorize_an_earlier_operation (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_backdated_rights_record_cannot_authorize_an_earlier_operation) ... ok\ntest_candidate_requires_a_lineage_matched_content_asset (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_candidate_requires_a_lineage_matched_content_asset) ... ok\ntest_claim_anchor_must_fit_source_duration (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_claim_anchor_must_fit_source_duration) ... ok\ntest_claim_interval_must_be_contained_by_visual_alignment (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_claim_interval_must_be_contained_by_visual_alignment) ... ok\ntest_claim_references_share_one_source_lineage_and_index (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_claim_references_share_one_source_lineage_and_index) ... ok\ntest_claim_requires_claim_extraction_rights (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_claim_requires_claim_extraction_rights) ... ok\ntest_claim_visual_alignment_reference_is_typed_and_present (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_claim_visual_alignment_reference_is_typed_and_present) ... ok\ntest_content_uid_changes_with_payload (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_content_uid_changes_with_payload) ... ok\ntest_coverage_ledger_matches_its_universe_population (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_coverage_ledger_matches_its_universe_population) ... ok\ntest_coverage_release_count_must_match_releases_at_as_of (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_coverage_release_count_must_match_releases_at_as_of) ... ok\ntest_declared_mirror_cannot_form_an_independent_family (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_declared_mirror_cannot_form_an_independent_family) ... ok\ntest_draft_claim_schema_allows_an_empty_review_list (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_draft_claim_schema_allows_an_empty_review_list) ... ok\ntest_exact_active_reviewer_scope_is_accepted (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_exact_active_reviewer_scope_is_accepted) ... warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_exact_historical_rights_authority_is_required_and_accepted (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_exact_historical_rights_authority_is_required_and_accepted) ... warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_family_human_review_cannot_predate_family_creation (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_family_human_review_cannot_predate_family_creation) ... ok\ntest_human_review_requires_an_exact_qualified_registry_binding (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_human_review_requires_an_exact_qualified_registry_binding) ... ok\ntest_inverted_claim_time_range_fails (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_inverted_claim_time_range_fails) ... ok\ntest_item_version_observation_must_precede_candidate_generation (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_item_version_observation_must_precede_candidate_generation) ... ok\ntest_item_version_rejects_asset_receipt_from_another_item (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_item_version_rejects_asset_receipt_from_another_item) ... ok\ntest_json_schema_file_is_strict_json (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_json_schema_file_is_strict_json) ... ok\ntest_later_revocation_blocks_an_earlier_grant (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_later_revocation_blocks_an_earlier_grant) ... ok\ntest_migration_denominator_is_exact (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_migration_denominator_is_exact) ... ok\ntest_migration_sources_resolve_to_exact_git_objects (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_migration_sources_resolve_to_exact_git_objects) ... ok\ntest_migration_targets_and_rules_are_content_bound (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_migration_targets_and_rules_are_content_bound) ... ok\ntest_mirror_lineage_outside_family_members_cannot_count_as_independent (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_mirror_lineage_outside_family_members_cannot_count_as_independent) ... ok\ntest_missing_list_reference_fails (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_missing_list_reference_fails) ... ok\ntest_missing_supplied_contract_cannot_be_marked_present (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_missing_supplied_contract_cannot_be_marked_present) ... ok\ntest_no_speech_visual_alignment_does_not_require_transcript (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_no_speech_visual_alignment_does_not_require_transcript) ... ok\ntest_nonempty_analysis_index_requires_source_inputs (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_nonempty_analysis_index_requires_source_inputs) ... ok\ntest_nonindependent_family_cannot_inflate_evidence_count (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_nonindependent_family_cannot_inflate_evidence_count) ... ok\ntest_parallel_roots_for_one_semantic_identity_are_rejected (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_parallel_roots_for_one_semantic_identity_are_rejected) ... ok\ntest_payload_chronology_binds_generation_qa_release_and_review (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_payload_chronology_binds_generation_qa_release_and_review) ... ok\ntest_private_locator_is_credential_and_traversal_free (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_private_locator_is_credential_and_traversal_free) ... ok\ntest_publication_rejects_a_hard_link_added_during_install (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_publication_rejects_a_hard_link_added_during_install) ... ok\ntest_publication_rejects_linked_parent_before_creating_outside_root (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_publication_rejects_linked_parent_before_creating_outside_root) ... ok\ntest_publication_retry_accepts_identical_installed_bytes (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_publication_retry_accepts_identical_installed_bytes) ... ok\ntest_publication_retry_rejects_preexisting_hard_link (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_publication_retry_rejects_preexisting_hard_link) ... ok\ntest_publication_time_status_and_value_must_agree (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_publication_time_status_and_value_must_agree) ... ok\ntest_release_rejects_ineligible_candidate_and_version (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_release_rejects_ineligible_candidate_and_version) ... ok\ntest_repository_contract_is_complete (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_repository_contract_is_complete) ... ok\ntest_review_receipt_must_predate_reviewed_claim (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_review_receipt_must_predate_reviewed_claim) ... ok\ntest_reviewed_claim_requires_football_or_adjudication_scope (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_reviewed_claim_requires_football_or_adjudication_scope) ... warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_reviewer_registry_revision_must_govern_review_time (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_reviewer_registry_revision_must_govern_review_time) ... warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_rights_event_cannot_exceed_authenticated_authority_permissions (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_rights_event_cannot_exceed_authenticated_authority_permissions) ... warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_rights_grant_requires_authenticated_authority_bytes (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_rights_grant_requires_authenticated_authority_bytes) ... ok\ntest_rights_scope_type_must_match_scope_object (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_rights_scope_type_must_match_scope_object) ... ok\ntest_schema_accepts_minimal_universe (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_schema_accepts_minimal_universe) ... ok\ntest_schema_rejects_material_payload_field (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_schema_rejects_material_payload_field) ... ok\ntest_schema_rejects_unknown_top_level_field (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_schema_rejects_unknown_top_level_field) ... ok\ntest_semantic_identity_normalizes_json_number_spellings (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_semantic_identity_normalizes_json_number_spellings) ... ok\ntest_set_like_identity_fields_are_order_independent (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_set_like_identity_fields_are_order_independent) ... ok\ntest_strict_loader_rejects_duplicate_keys_and_nonfinite_values (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_strict_loader_rejects_duplicate_keys_and_nonfinite_values) ... ok\ntest_structural_qa_pass_requires_every_structural_boolean (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_structural_qa_pass_requires_every_structural_boolean) ... ok\ntest_supersession_preserves_source_item_semantic_identity (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_supersession_preserves_source_item_semantic_identity) ... ok\ntest_terminal_count_disagreement_fails (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_terminal_count_disagreement_fails) ... ok\ntest_timestamp_fraction_precision_is_bounded (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_timestamp_fraction_precision_is_bounded) ... ok\ntest_transactional_publication_never_replaces (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_transactional_publication_never_replaces) ... ok\ntest_v6_candidate_manifest_is_closed_and_content_addressed (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_candidate_manifest_is_closed_and_content_addressed) ... ok\ntest_v6_directory_durability_is_reported (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_directory_durability_is_reported) ... ok\ntest_v6_exact_authority_commit_is_required_by_validation_context (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_exact_authority_commit_is_required_by_validation_context) ... ok\ntest_v6_release_series_is_stable_across_corrected_artifacts (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_release_series_is_stable_across_corrected_artifacts) ... ok\ntest_v6_reviewed_states_require_exact_draft_binding (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_reviewed_states_require_exact_draft_binding) ... ok\ntest_v6_reviewed_successor_requires_attestation_to_exact_draft (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_v6_reviewed_successor_requires_attestation_to_exact_draft) ... ok\ntest_valid_universe_semantics_pass (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_valid_universe_semantics_pass) ... ok\ntest_visual_alignment_stays_within_one_source_item_lineage (test_transcript_core_contract.TranscriptCoreRepositoryContractTests.test_visual_alignment_stays_within_one_source_item_lineage) ... ok\ntest_v7_authority_events_resolve_terminal_state_at_operation_time (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_authority_events_resolve_terminal_state_at_operation_time) ... ok\ntest_v7_candidate_and_accepted_release_are_exact_tree_bound (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_and_accepted_release_are_exact_tree_bound) ... warning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'later.txt', LF will be replaced by CRLF the next time Git touches it\nok\ntest_v7_candidate_attempts_cannot_supersede (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_attempts_cannot_supersede) ... ok\ntest_v7_candidate_manifest_structural_mutation_matrix (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_manifest_structural_mutation_matrix) ... ok\ntest_v7_candidate_validator_has_pr_and_accepted_release_modes (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_validator_has_pr_and_accepted_release_modes) ... ok\ntest_v7_candidate_validator_is_tree_bound_and_head_independent (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_validator_is_tree_bound_and_head_independent) ... ok\ntest_v7_claim_requires_index_family_and_visual_before_draft (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_claim_requires_index_family_and_visual_before_draft) ... ok\ntest_v7_claim_schema_is_readable_and_tiered (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_claim_schema_is_readable_and_tiered) ... ok\ntest_v7_coverage_recomputes_effective_population (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_coverage_recomputes_effective_population) ... ok\ntest_v7_evidence_family_schema_supports_series_and_unknown_count (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_evidence_family_schema_supports_series_and_unknown_count) ... ok\ntest_v7_facade_decomposition_has_one_implementation_per_domain (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_facade_decomposition_has_one_implementation_per_domain) ... ok\ntest_v7_family_rejects_stale_effective_member (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_family_rejects_stale_effective_member) ... ok\ntest_v7_family_series_allows_classification_and_membership_correction (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_family_series_allows_classification_and_membership_correction) ... ok\ntest_v7_independent_tier_requires_distinct_reviewer_identities (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_independent_tier_requires_distinct_reviewer_identities) ... ok\ntest_v7_origin_cycles_are_rejected (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_origin_cycles_are_rejected) ... ok\ntest_v7_positive_claim_projection_and_owner_tier (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_positive_claim_projection_and_owner_tier) ... ok\ntest_v7_production_context_rejects_untrusted_authority_commit (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_production_context_rejects_untrusted_authority_commit) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nok\ntest_v7_review_attestation_schema_binds_complete_projection (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_attestation_schema_binds_complete_projection) ... ok\ntest_v7_review_lifecycle_bypass_matrix (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_lifecycle_bypass_matrix) ... ok\ntest_v7_review_list_order_and_full_projection (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_list_order_and_full_projection) ... ok\ntest_v7_review_span_must_cover_claim_interval (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_span_must_cover_claim_interval) ... ok\ntest_v7_reviewed_projection_mutation_matrix (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_reviewed_projection_mutation_matrix) ... ok\ntest_v7_rights_event_requires_effective_issuing_authority (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_rights_event_requires_effective_issuing_authority) ... ok\ntest_v7_rights_terminal_lineage_matrix (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_rights_terminal_lineage_matrix) ... ok\ntest_v7_unresolved_family_still_validates_origin_graph (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_unresolved_family_still_validates_origin_graph) ... ok\ntest_v7_valid_family_draft_review_successor_chronology (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_valid_family_draft_review_successor_chronology) ... ok\ntest_v7_validation_context_and_production_entrypoint_exist (test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_validation_context_and_production_entrypoint_exist) ... ok\ntest_accepted_release_requires_trusted_integration_and_valid_method (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_accepted_release_requires_trusted_integration_and_valid_method) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_adjudicated_independent_count_equals_effective_origins (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_adjudicated_independent_count_equals_effective_origins) ... ok\ntest_analysis_index_rejects_future_evidence_family (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_analysis_index_rejects_future_evidence_family) ... ok\ntest_authority_commit_cannot_postdate_review_or_rights_operation (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_authority_commit_cannot_postdate_review_or_rights_operation) ... warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_candidate_validation_ignores_dirty_worktree_manifest (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_candidate_validation_ignores_dirty_worktree_manifest) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_claim_projection_binds_analysis_index_build_uid (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_claim_projection_binds_analysis_index_build_uid) ... ok\ntest_claim_rejects_release_quarantined_before_draft (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_claim_rejects_release_quarantined_before_draft) ... ok\ntest_coverage_rejects_omitted_universe_member (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_coverage_rejects_omitted_universe_member) ... ok\ntest_coverage_rejects_visual_created_after_as_of (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_coverage_rejects_visual_created_after_as_of) ... ok\ntest_independent_tier_exact_validates_every_counted_attestation (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_independent_tier_exact_validates_every_counted_attestation) ... ok\ntest_production_context_cannot_self_declare_feature_as_trusted_main (test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_production_context_cannot_self_declare_feature_as_trusted_main) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'feature.txt', LF will be replaced by CRLF the next time Git touches it\nok\ntest_backdated_authority_rejects_post_operation_ancestor (test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_backdated_authority_rejects_post_operation_ancestor) ... ok\ntest_effective_time_rejects_future_roots_and_stale_family (test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_effective_time_rejects_future_roots_and_stale_family) ... ok\ntest_every_adjudicated_family_type_has_exact_origin_count (test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_every_adjudicated_family_type_has_exact_origin_count) ... ok\ntest_mutable_local_main_cannot_anchor_production_or_release (test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_mutable_local_main_cannot_anchor_production_or_release) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_supplied_manifest_must_equal_candidate_commit_blob (test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_supplied_manifest_must_equal_candidate_commit_blob) ... ok\ntest_ambient_extra_distribution_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_ambient_extra_distribution_fails_closed) ... ok\ntest_ambient_required_import_path_is_rejected_before_import (test_validation_environment.ValidationEnvironmentTest.test_ambient_required_import_path_is_rejected_before_import) ... ok\ntest_console_wrapper_projection_is_path_independent_and_content_bound (test_validation_environment.ValidationEnvironmentTest.test_console_wrapper_projection_is_path_independent_and_content_bound) ... ok\ntest_current_validation_environment_matches_lock (test_validation_environment.ValidationEnvironmentTest.test_current_validation_environment_matches_lock) ... ok\ntest_declared_requirements_digest_mutation_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_declared_requirements_digest_mutation_fails_closed) ... ok\ntest_excluded_bytecode_row_must_remain_inside_environment (test_validation_environment.ValidationEnvironmentTest.test_excluded_bytecode_row_must_remain_inside_environment) ... ok\ntest_installed_distribution_exact_record_and_files_pass (test_validation_environment.ValidationEnvironmentTest.test_installed_distribution_exact_record_and_files_pass) ... ok\ntest_installed_distribution_file_bytes_are_record_bound (test_validation_environment.ValidationEnvironmentTest.test_installed_distribution_file_bytes_are_record_bound) ... ok\ntest_installed_distribution_record_is_independently_bound (test_validation_environment.ValidationEnvironmentTest.test_installed_distribution_record_is_independently_bound) ... ok\ntest_invalid_pyvenv_configuration_stops_required_imports (test_validation_environment.ValidationEnvironmentTest.test_invalid_pyvenv_configuration_stops_required_imports) ... ok\ntest_missing_installed_package_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_missing_installed_package_fails_closed) ... ok\ntest_non_virtual_environment_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_non_virtual_environment_fails_closed) ... ok\ntest_observation_enumerates_bootstrap_and_ambient_packages (test_validation_environment.ValidationEnvironmentTest.test_observation_enumerates_bootstrap_and_ambient_packages) ... ok\ntest_pyvenv_configuration_mutations_fail_closed (test_validation_environment.ValidationEnvironmentTest.test_pyvenv_configuration_mutations_fail_closed) ... ok\ntest_pyvenv_configuration_reconciles_without_binding_install_path (test_validation_environment.ValidationEnvironmentTest.test_pyvenv_configuration_reconciles_without_binding_install_path) ... ok\ntest_pyvenv_configuration_requires_unique_exact_fields (test_validation_environment.ValidationEnvironmentTest.test_pyvenv_configuration_requires_unique_exact_fields) ... ok\ntest_requirement_version_mutation_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_requirement_version_mutation_fails_closed) ... ok\ntest_requirements_are_hash_complete_and_byte_bound (test_validation_environment.ValidationEnvironmentTest.test_requirements_are_hash_complete_and_byte_bound) ... ok\ntest_scripts_pyvenv_configuration_cannot_override_governed_root (test_validation_environment.ValidationEnvironmentTest.test_scripts_pyvenv_configuration_cannot_override_governed_root) ... ok\ntest_site_packages_inventory_rejects_unowned_files_but_ignores_caches (test_validation_environment.ValidationEnvironmentTest.test_site_packages_inventory_rejects_unowned_files_but_ignores_caches) ... ok\ntest_wrong_python_runtime_fails_closed (test_validation_environment.ValidationEnvironmentTest.test_wrong_python_runtime_fails_closed) ... ok\ntest_audit_governance_and_generated_intake_are_required (test_validator_fail_closed.ValidatorFailClosedTest.test_audit_governance_and_generated_intake_are_required) ... ok\ntest_canonical_executor_charter_path_exists (test_validator_fail_closed.ValidatorFailClosedTest.test_canonical_executor_charter_path_exists) ... ok\ntest_decision_lineage_capsule_is_self_contained_and_fails_closed (test_validator_fail_closed.ValidatorFailClosedTest.test_decision_lineage_capsule_is_self_contained_and_fails_closed) ... ok\ntest_decision_lineage_capsule_rejects_every_object_and_path_mutation (test_validator_fail_closed.ValidatorFailClosedTest.test_decision_lineage_capsule_rejects_every_object_and_path_mutation) ... ok\ntest_downstream_cache_cleanup_fails_closed_on_replacement (test_validator_fail_closed.ValidatorFailClosedTest.test_downstream_cache_cleanup_fails_closed_on_replacement) ... ok\ntest_downstream_compileall_supports_long_checkout_with_short_cache (test_validator_fail_closed.ValidatorFailClosedTest.test_downstream_compileall_supports_long_checkout_with_short_cache) ... ok\ntest_downstream_python_rejects_each_base_site_configuration_route (test_validator_fail_closed.ValidatorFailClosedTest.test_downstream_python_rejects_each_base_site_configuration_route) ... ok\ntest_downstream_python_uses_locked_origins_and_fresh_owned_cache (test_validator_fail_closed.ValidatorFailClosedTest.test_downstream_python_uses_locked_origins_and_fresh_owned_cache) ... ok\ntest_every_required_source_field_is_typed_and_non_empty (test_validator_fail_closed.ValidatorFailClosedTest.test_every_required_source_field_is_typed_and_non_empty) ... ok\ntest_file_scan_uses_git_index_and_ignores_local_data (test_validator_fail_closed.ValidatorFailClosedTest.test_file_scan_uses_git_index_and_ignores_local_data) ... ok\ntest_format_gate_catches_committed_clean_tree_path_with_spaces (test_validator_fail_closed.ValidatorFailClosedTest.test_format_gate_catches_committed_clean_tree_path_with_spaces) ... ok\ntest_format_gate_fails_closed_without_review_base (test_validator_fail_closed.ValidatorFailClosedTest.test_format_gate_fails_closed_without_review_base) ... ok\ntest_format_gate_handles_zero_python_paths (test_validator_fail_closed.ValidatorFailClosedTest.test_format_gate_handles_zero_python_paths) ... ok\ntest_git_attribution_commit_receipt_fails_closed_without_source_object (test_validator_fail_closed.ValidatorFailClosedTest.test_git_attribution_commit_receipt_fails_closed_without_source_object) ... ok\ntest_git_attribution_record_preserves_github_misassociation_warning (test_validator_fail_closed.ValidatorFailClosedTest.test_git_attribution_record_preserves_github_misassociation_warning) ... ok\ntest_git_attribution_record_reconciles_history_and_identity (test_validator_fail_closed.ValidatorFailClosedTest.test_git_attribution_record_reconciles_history_and_identity) ... ok\ntest_git_attribution_record_rejects_changed_declared_counts (test_validator_fail_closed.ValidatorFailClosedTest.test_git_attribution_record_rejects_changed_declared_counts) ... ok\ntest_hard_fences_are_structural_and_fail_on_semantic_change (test_validator_fail_closed.ValidatorFailClosedTest.test_hard_fences_are_structural_and_fail_on_semantic_change) ... ok\ntest_historical_decision_lineage_and_reserved_ids_fail_closed (test_validator_fail_closed.ValidatorFailClosedTest.test_historical_decision_lineage_and_reserved_ids_fail_closed) ... ok\ntest_interface_and_movement_authority_inputs_are_repository_required (test_validator_fail_closed.ValidatorFailClosedTest.test_interface_and_movement_authority_inputs_are_repository_required) ... ok\ntest_manual_pr_lifecycle_semantics_fail_closed (test_validator_fail_closed.ValidatorFailClosedTest.test_manual_pr_lifecycle_semantics_fail_closed) ... ok\ntest_nflverse_umbrella_source_fails_closed (test_validator_fail_closed.ValidatorFailClosedTest.test_nflverse_umbrella_source_fails_closed) ... ok\ntest_one_local_validation_entrypoint_covers_required_surfaces (test_validator_fail_closed.ValidatorFailClosedTest.test_one_local_validation_entrypoint_covers_required_surfaces) ... ok\ntest_operational_authority_is_loaded_from_governance (test_validator_fail_closed.ValidatorFailClosedTest.test_operational_authority_is_loaded_from_governance) ... ok\ntest_private_coaching_rights_decision_cannot_be_omitted (test_validator_fail_closed.ValidatorFailClosedTest.test_private_coaching_rights_decision_cannot_be_omitted) ... ok\ntest_private_coaching_rights_decision_semantics_fail_closed (test_validator_fail_closed.ValidatorFailClosedTest.test_private_coaching_rights_decision_semantics_fail_closed) ... ok\ntest_remediation_register_rejects_unresolved_p0_p1_and_pending_evidence (test_validator_fail_closed.ValidatorFailClosedTest.test_remediation_register_rejects_unresolved_p0_p1_and_pending_evidence) ... ok\ntest_validation_entrypoint_rejects_ambient_python_path_before_modes (test_validator_fail_closed.ValidatorFailClosedTest.test_validation_entrypoint_rejects_ambient_python_path_before_modes) ... ok\ntest_validation_environment_contract_is_repository_required (test_validator_fail_closed.ValidatorFailClosedTest.test_validation_environment_contract_is_repository_required) ... ok\ntest_validation_only_modes_are_mutually_exclusive (test_validator_fail_closed.ValidatorFailClosedTest.test_validation_only_modes_are_mutually_exclusive) ... ok\ntest_whitespace_gate_accepts_clean_untracked_unicode_path (test_validator_fail_closed.ValidatorFailClosedTest.test_whitespace_gate_accepts_clean_untracked_unicode_path) ... ok\ntest_whitespace_gate_covers_committed_staged_and_worktree_changes (test_validator_fail_closed.ValidatorFailClosedTest.test_whitespace_gate_covers_committed_staged_and_worktree_changes) ... ok\ntest_whitespace_gate_passes_clean_review_state (test_validator_fail_closed.ValidatorFailClosedTest.test_whitespace_gate_passes_clean_review_state) ... ok\ntest_whitespace_gate_rejects_untracked_trailing_whitespace (test_validator_fail_closed.ValidatorFailClosedTest.test_whitespace_gate_rejects_untracked_trailing_whitespace) ... ok\n\n----------------------------------------------------------------------\nRan 881 tests in 574.947s\n\nOK\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: C:\\Users\\Alex Byrne\\AppData\\Local\\Temp\\tmp2iog0vx1\\receipt.json\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: C:\\Users\\Alex Byrne\\AppData\\Local\\Temp\\tmp2iog0vx1\\receipt.json\nwrote 1 governed participation assets\nTEST identities read: 0\nwrote 1 governed participation assets\nTEST identities read: 0\n===== END 02_unittest_discover.log =====\n\n===== BEGIN 03_pytest.log =====\n.................................................................................................................... [ 13%]\n................................ [ 16%]\n.......................................... [ 21%]\n.................................................................................. [ 30%]\n........................................................................................................... [ 43%]\n.......................................................... [ 49%]\n................................................................................................................................ [ 64%]\n............................................................................................ [ 74%]\n............................................................................ [ 83%]\n........................................................ [ 89%]\n............................................................................................                           [100%]\n881 passed, 821 subtests passed in 671.94s (0:11:11)\n===== END 03_pytest.log =====\n\n===== BEGIN 04_git_diff_check.log =====\ngit diff --check: PASS\n===== END 04_git_diff_check.log =====\n\n===== BEGIN 05_validate_all_windows.log =====\n==&gt; Validation environment\nValidation environment passed\nScope: repository validation only\nExact installed distribution count: 21\nTEST data accessed: false\nNeutral EP runtime included: false\ndownstream Python cache parent must share the validation drive\nAt D:\\CodexTemp\\nfl-transcript-core-v5-20260827\\scripts\\validate_all.ps1:352 char:9\n+         throw \"downstream Python cache parent must share the validati ...\n+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    + CategoryInfo          : OperationStopped: (downstream Pyth...alidation drive:String) [], RuntimeException\n    + FullyQualifiedErrorId : downstream Python cache parent must share the validation drive\n \n===== END 05_validate_all_windows.log =====\n\n===== BEGIN 05b_validate_all_windows_rerun.log =====\n==&gt; Validation environment\nValidation environment passed\nScope: repository validation only\nExact installed distribution count: 21\nTEST data accessed: false\nNeutral EP runtime included: false\n==&gt; Repository contract\nRepository contract passed\nRequired files: 182\nRegistered sources: 51\nTEST used for selection: false\nLive betting authorized: false\n==&gt; Coaching intake\nCoaching packet intake contract passed\nFiles: 439\nRoots: 8\nPrivate analytical use: APPROVED\nPublic redistribution: NOT_APPROVED\nGraph compilation: BLOCKED_PENDING_INDEPENDENT_REVIEWER\nCanonical: false\nTEST accessed: false\nTEST used for selection: false\n==&gt; Knowledge graph\nFootball knowledge graph contract passed\nCanonical: false\nTEST used for selection: false\n==&gt; Movement structure\nmovement-skill contract passed\nlarge-scale readiness: BLOCKED\n- The governed pilot has not entered the ready state.\n- Deterministic slot-selection seed is absent.\n- Selection contract SHA-256 does not bind the governed sampling design.\n- Governed candidate-universe manifest path is absent.\n- Governed slot manifest path is absent.\n- Governed movement population contract path is absent.\n- Governed movement selection receipt path is absent.\n- Deterministic slot-selection implementation path is absent.\n- Deterministic slot-selection algorithm identity is absent.\n- Deterministic slot selection is not bound to executable file bytes.\n- Governed collector implementation path is absent.\n- Governed collector dry-run receipt path is absent.\n- Mover publication timestamp is unresolved for season 2013.\n- Mover publication timestamp is unresolved for season 2014.\n- Mover publication timestamp is unresolved for season 2015.\n- Mover publication timestamp is unresolved for season 2016.\n- Mover publication timestamp is unresolved for season 2017.\n- Mover publication timestamp is unresolved for season 2018.\n- Mover publication timestamp is unresolved for season 2019.\n- Mover publication timestamp is unresolved for season 2020.\n- Mover publication timestamp is unresolved for season 2021.\n- Mover publication timestamp is unresolved for season 2022.\n- Mover publication timestamp is unresolved for season 2023.\n- Mover publication timestamp is unresolved for season 2024.\n- Mover publication timestamp is unresolved for season 2025.\n==&gt; Football Understanding export context\nfootball-understanding export context passed: apps/football-understanding-export-context.json\n==&gt; Football Understanding\nFootball Understanding interface contract passed\n==&gt; Football Understanding Pretext\nFootball Understanding Pretext interface contract passed\nRendered-text geometry reads: 0\nPersistent storage bindings: 0\n==&gt; Unit tests\n..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\n............................warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\n.......................warning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'later.txt', LF will be replaced by CRLF the next time Git touches it\n...............warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\n...........warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n...warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n......warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'feature.txt', LF will be replaced by CRLF the next time Git touches it\n....warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n............................F............................\n======================================================================\nFAIL: test_downstream_compileall_supports_long_checkout_with_short_cache (test_validator_fail_closed.ValidatorFailClosedTest.test_downstream_compileall_supports_long_checkout_with_short_cache)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"D:\\CodexTemp\\nfl-transcript-core-v5-20260827\\tests\\test_validator_fail_closed.py\", line 985, in test_downstream_compileall_supports_long_checkout_with_short_cache\n    self.assertGreater(\nAssertionError: 246 not greater than 260\n\n----------------------------------------------------------------------\nRan 881 tests in 580.600s\n\nFAILED (failures=1)\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: D:\\CodexTemp\\tmplm_d5lj7\\receipt.json\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: D:\\CodexTemp\\tmplm_d5lj7\\receipt.json\nwrote 1 governed participation assets\nTEST identities read: 0\nwrote 1 governed participation assets\nTEST identities read: 0\nUnit tests failed with exit code 1\nAt D:\\CodexTemp\\nfl-transcript-core-v5-20260827\\scripts\\validate_all.ps1:170 char:9\n+         throw \"$Label failed with exit code $LASTEXITCODE\"\n+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    + CategoryInfo          : OperationStopped: (Unit tests failed with exit code 1:String) [], RuntimeException\n    + FullyQualifiedErrorId : Unit tests failed with exit code 1\n \n===== END 05b_validate_all_windows_rerun.log =====\n\n===== BEGIN 05c_validate_all_windows_final.log =====\n==&gt; Validation environment\nValidation environment passed\nScope: repository validation only\nExact installed distribution count: 21\nTEST data accessed: false\nNeutral EP runtime included: false\n==&gt; Repository contract\nRepository contract passed\nRequired files: 182\nRegistered sources: 51\nTEST used for selection: false\nLive betting authorized: false\n==&gt; Coaching intake\nCoaching packet intake contract passed\nFiles: 439\nRoots: 8\nPrivate analytical use: APPROVED\nPublic redistribution: NOT_APPROVED\nGraph compilation: BLOCKED_PENDING_INDEPENDENT_REVIEWER\nCanonical: false\nTEST accessed: false\nTEST used for selection: false\n==&gt; Knowledge graph\nFootball knowledge graph contract passed\nCanonical: false\nTEST used for selection: false\n==&gt; Movement structure\nmovement-skill contract passed\nlarge-scale readiness: BLOCKED\n- The governed pilot has not entered the ready state.\n- Deterministic slot-selection seed is absent.\n- Selection contract SHA-256 does not bind the governed sampling design.\n- Governed candidate-universe manifest path is absent.\n- Governed slot manifest path is absent.\n- Governed movement population contract path is absent.\n- Governed movement selection receipt path is absent.\n- Deterministic slot-selection implementation path is absent.\n- Deterministic slot-selection algorithm identity is absent.\n- Deterministic slot selection is not bound to executable file bytes.\n- Governed collector implementation path is absent.\n- Governed collector dry-run receipt path is absent.\n- Mover publication timestamp is unresolved for season 2013.\n- Mover publication timestamp is unresolved for season 2014.\n- Mover publication timestamp is unresolved for season 2015.\n- Mover publication timestamp is unresolved for season 2016.\n- Mover publication timestamp is unresolved for season 2017.\n- Mover publication timestamp is unresolved for season 2018.\n- Mover publication timestamp is unresolved for season 2019.\n- Mover publication timestamp is unresolved for season 2020.\n- Mover publication timestamp is unresolved for season 2021.\n- Mover publication timestamp is unresolved for season 2022.\n- Mover publication timestamp is unresolved for season 2023.\n- Mover publication timestamp is unresolved for season 2024.\n- Mover publication timestamp is unresolved for season 2025.\n==&gt; Football Understanding export context\nfootball-understanding export context passed: apps/football-understanding-export-context.json\n==&gt; Football Understanding\nFootball Understanding interface contract passed\n==&gt; Football Understanding Pretext\nFootball Understanding Pretext interface contract passed\nRendered-text geometry reads: 0\nPersistent storage bindings: 0\n==&gt; Unit tests\n..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\n............................warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\n.......................warning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'later.txt', LF will be replaced by CRLF the next time Git touches it\n...............warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\n...........warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n...warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\n.warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n......warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'feature.txt', LF will be replaced by CRLF the next time Git touches it\n....warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\n.........................................................\n----------------------------------------------------------------------\nRan 881 tests in 491.625s\n\nOK\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: D:\\CodexTemp\\pr74-v9-cache-parent-long\\tmp_xfvgmv8\\receipt.json\nReady for TEST evaluation: true\nBlocking reasons: 0\nResearch sealed bytes hashed: false\nEvaluator sealed bytes hashed: true\nTEST content deserialized: false\nTEST identifiers emitted: false\nReceipt: D:\\CodexTemp\\pr74-v9-cache-parent-long\\tmp_xfvgmv8\\receipt.json\nwrote 1 governed participation assets\nTEST identities read: 0\nwrote 1 governed participation assets\nTEST identities read: 0\n==&gt; Pytest\n.................................................................................................................... [ 13%]\n................................ [ 16%]\n.......................................... [ 21%]\n.................................................................................. [ 30%]\n........................................................................................................... [ 43%]\n.......................................................... [ 49%]\n................................................................................................................................ [ 64%]\n............................................................................................ [ 74%]\n............................................................................ [ 83%]\n........................................................ [ 89%]\n............................................................................................                           [100%]\n881 passed, 821 subtests passed in 462.52s (0:07:42)\n==&gt; Python lint\nAll checks passed!\n==&gt; Review Python format\n15 files already formatted\n==&gt; Python compilation\nmovement-skill contract passed\nlarge-scale readiness: BLOCKED\n- The governed pilot has not entered the ready state.\n- Deterministic slot-selection seed is absent.\n- Selection contract SHA-256 does not bind the governed sampling design.\n- Governed candidate-universe manifest path is absent.\n- Governed slot manifest path is absent.\n- Governed movement population contract path is absent.\n- Governed movement selection receipt path is absent.\n- Deterministic slot-selection implementation path is absent.\n- Deterministic slot-selection algorithm identity is absent.\n- Deterministic slot selection is not bound to executable file bytes.\n- Governed collector implementation path is absent.\n- Governed collector dry-run receipt path is absent.\n- Mover publication timestamp is unresolved for season 2013.\n- Mover publication timestamp is unresolved for season 2014.\n- Mover publication timestamp is unresolved for season 2015.\n- Mover publication timestamp is unresolved for season 2016.\n- Mover publication timestamp is unresolved for season 2017.\n- Mover publication timestamp is unresolved for season 2018.\n- Mover publication timestamp is unresolved for season 2019.\n- Mover publication timestamp is unresolved for season 2020.\n- Mover publication timestamp is unresolved for season 2021.\n- Mover publication timestamp is unresolved for season 2022.\n- Mover publication timestamp is unresolved for season 2023.\n- Mover publication timestamp is unresolved for season 2024.\n- Mover publication timestamp is unresolved for season 2025.\n==&gt; apps/football-understanding clean install\n\nadded 455 packages, and audited 456 packages in 13s\n\n154 packages are looking for funding\n  run `npm fund` for details\n\n2 high severity vulnerabilities\n\nTo address all issues, run:\n  npm audit fix --force\n\nRun `npm audit` for details.\nnpm warn allow-scripts 2 packages have install scripts not yet covered by allowScripts:\nnpm warn allow-scripts   esbuild@0.28.1 (postinstall: node install.js)\nnpm warn allow-scripts   workerd@1.20260804.1 (postinstall: node install.js)\nnpm warn allow-scripts\nnpm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts ` to allow.\n==&gt; apps/football-understanding production dependency audit\nfound 0 vulnerabilities\n==&gt; apps/football-understanding full critical dependency audit\n# npm audit report\n\nimage-size  *\nSeverity: high\nimage-size: ICNS parser allows denial of service through an infinite loop - https://github.com/advisories/GHSA-w3rx-r6r6-pgpr\nimage-size: JXL and HEIF parsers allow denial of service through infinite loops - https://github.com/advisories/GHSA-5p2g-fcmc-qvqq\nfix available via `npm audit fix --force`\nWill install vinext@1.0.0-beta.8, which is outside the stated dependency range\nnode_modules/image-size\n  vinext  0.0.46 - 1.0.0-beta.5\n  Depends on vulnerable versions of image-size\n  node_modules/vinext\n\n2 high severity vulnerabilities\n\nTo address all issues, run:\n  npm audit fix --force\n==&gt; apps/football-understanding tests\n\n&gt; football-understanding@0.1.0 test\n&gt; npm run test:unit &amp;&amp; npm run build &amp;&amp; node --test tests/rendered-html.test.mjs\n\n\n&gt; football-understanding@0.1.0 test:unit\n&gt; node --test tests/packet-producer.test.mjs\n\n\u2714 packet producer uses only governed registered contributor identities (0.5252ms)\n\u2714 packet producer propagates unresolved rights to BLOCKED (0.0989ms)\n\u2714 free-form and unknown contributor identities fail closed (0.6844ms)\n\u2714 registered aliases resolve canonically and ambiguous aliases reject (0.2607ms)\n\u2714 only unresolved rights produce a blocked draft state (0.1202ms)\n\u2139 tests 5\n\u2139 suites 0\n\u2139 pass 5\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 347.2793\n\n&gt; football-understanding@0.1.0 build\n&gt; vinext build\n\n\n  vinext build  (Vite 8.2.1)\n\n[1/5] analyze client references...\n?[2K\ntransforming...\u2713 217 modules transformed.\nrendering chunks...\n\u2713 built in 416ms\n[2/5] analyze server references...\n?[2K\ntransforming...\u2713 78 modules transformed.\nrendering chunks...\n\u2713 built in 105ms\n[3/5] build rsc environment...\n?[2K\ntransforming...\u2713 215 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 438ms\n[4/5] build client environment...\n?[2K\ntransforming...\u2713 119 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 414ms\n[5/5] build ssr environment...\n?[2K\ntransforming...\u2713 84 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 411ms\n?[0m\n  Route (app)\n  \u2500 ? /\n\n  ? Unknown\n\n  ? Some routes could not be classified. vinext currently uses static analysis\n    and cannot detect dynamic API usage (headers(), cookies(), etc.) at build time.\n    Automatic classification will be improved in a future release.\n  Build complete. Run `vinext start` to start the production server.\n\n\u2714 server-renders the human-centred football workspace (122.4749ms)\n\u2714 keeps rigour underneath the plain-language interface (2.1539ms)\n\u2139 tests 2\n\u2139 suites 0\n\u2139 pass 2\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 419.8519\n==&gt; apps/football-understanding lint\n\n&gt; football-understanding@0.1.0 lint\n&gt; eslint . --ignore-pattern dist --ignore-pattern .next\n\n==&gt; apps/football-understanding production build\n\n&gt; football-understanding@0.1.0 build\n&gt; vinext build\n\n\n  vinext build  (Vite 8.2.1)\n\n[1/5] analyze client references...\n?[2K\ntransforming...\u2713 217 modules transformed.\nrendering chunks...\n\u2713 built in 366ms\n[2/5] analyze server references...\n?[2K\ntransforming...\u2713 78 modules transformed.\nrendering chunks...\n\u2713 built in 128ms\n[3/5] build rsc environment...\n?[2K\ntransforming...\u2713 215 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 413ms\n[4/5] build client environment...\n?[2K\ntransforming...\u2713 119 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 361ms\n[5/5] build ssr environment...\n?[2K\ntransforming...\u2713 84 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 430ms\n?[0m\n  Route (app)\n  \u2500 ? /\n\n  ? Unknown\n\n  ? Some routes could not be classified. vinext currently uses static analysis\n    and cannot detect dynamic API usage (headers(), cookies(), etc.) at build time.\n    Automatic classification will be improved in a future release.\n  Build complete. Run `vinext start` to start the production server.\n\n==&gt; apps/football-understanding-pretext clean install\n\nadded 461 packages, and audited 462 packages in 12s\n\n156 packages are looking for funding\n  run `npm fund` for details\n\n2 high severity vulnerabilities\n\nTo address all issues, run:\n  npm audit fix --force\n\nRun `npm audit` for details.\nnpm warn allow-scripts 3 packages have install scripts not yet covered by allowScripts:\nnpm warn allow-scripts   esbuild@0.28.2 (postinstall: node install.js)\nnpm warn allow-scripts   workerd@1.20260801.1 (postinstall: node install.js)\nnpm warn allow-scripts   esbuild@0.28.1 (postinstall: node install.js)\nnpm warn allow-scripts\nnpm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts ` to allow.\n==&gt; apps/football-understanding-pretext production dependency audit\nfound 0 vulnerabilities\n==&gt; apps/football-understanding-pretext full critical dependency audit\n# npm audit report\n\nimage-size  *\nSeverity: high\nimage-size: ICNS parser allows denial of service through an infinite loop - https://github.com/advisories/GHSA-w3rx-r6r6-pgpr\nimage-size: JXL and HEIF parsers allow denial of service through infinite loops - https://github.com/advisories/GHSA-5p2g-fcmc-qvqq\nfix available via `npm audit fix --force`\nWill install vinext@1.0.0-beta.8, which is outside the stated dependency range\nnode_modules/image-size\n  vinext  0.0.46 - 1.0.0-beta.5\n  Depends on vulnerable versions of image-size\n  node_modules/vinext\n\n2 high severity vulnerabilities\n\nTo address all issues, run:\n  npm audit fix --force\n==&gt; apps/football-understanding-pretext tests\n\n&gt; football-understanding-pretext@0.1.0 test\n&gt; npm run test:unit &amp;&amp; npm run build &amp;&amp; npm run test:render\n\n\n&gt; football-understanding-pretext@0.1.0 test:unit\n&gt; node --import tsx --test tests/*.test.ts\n\n\u2714 selects responsive columns at explicit boundaries (0.7205ms)\n\u2714 plans deterministic shortest-column masonry geometry (0.5747ms)\n\u2714 finds the smallest width that preserves the target line count (0.1612ms)\n\u2714 geometry helpers fail closed on invalid inputs (0.1084ms)\n\u2714 text preparation has an explicit no-Segmenter fallback (0.0814ms)\n\u2714 pull quote remains inside the reserved first-column obstacle (0.0917ms)\n\u2714 manual interpretation packets remain low-confidence, draft and noncanonical (2.5214ms)\n\u2714 observations require and preserve governed play identity and visibility limits (0.8156ms)\n\u2714 observations fail closed without real evidence basis, time, or governed game identity (0.458ms)\n\u2714 source assertions and contradictions fail closed without their anchors (0.1406ms)\n\u2714 source assertions preserve user-grounded source provenance (0.2331ms)\n\u2714 source assertions use the exact governed rights lane (0.1519ms)\n\u2714 content-addressed release identity must match immutable contents (0.1018ms)\n\u2714 source state is cleared when the entry kind changes (0.1076ms)\n\u2714 contributors resolve only through the governed contributor registry (0.1765ms)\n\u2714 unresolved source rights force the exported packet to BLOCKED (0.1504ms)\n\u2714 unsupported scope and invented source prefixes fail closed (0.0764ms)\n\u2714 tokens produce distinct stable submission identities (0.1986ms)\n\u2139 tests 18\n\u2139 suites 0\n\u2139 pass 18\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 800.4397\n\n&gt; football-understanding-pretext@0.1.0 build\n&gt; vinext build\n\n\n  vinext build  (Vite 8.2.1)\n\n[1/5] analyze client references...\n?[2K\ntransforming...\u2713 226 modules transformed.\nrendering chunks...\n\u2713 built in 495ms\n[2/5] analyze server references...\n?[2K\ntransforming...\u2713 96 modules transformed.\nrendering chunks...\n\u2713 built in 139ms\n[3/5] build rsc environment...\n?[2K\ntransforming...\u2713 223 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 540ms\n[4/5] build client environment...\n?[2K\ntransforming...\u2713 142 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 521ms\n[5/5] build ssr environment...\n?[2K\ntransforming...\u2713 102 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 473ms\n?[0m\n  Route (app)\n  \u2500 ? /\n\n  ? Unknown\n\n  ? Some routes could not be classified. vinext currently uses static analysis\n    and cannot detect dynamic API usage (headers(), cookies(), etc.) at build time.\n    Automatic classification will be improved in a future release.\n  Build complete. Run `vinext start` to start the production server.\n\n\n&gt; football-understanding-pretext@0.1.0 test:render\n&gt; node --test tests/rendered-html.test.mjs\n\n\u2714 server-renders the complete editorial field view (101.5845ms)\n\u2714 keeps Pretext geometry and graph safety explicit in source (19.1215ms)\n\u2139 tests 2\n\u2139 suites 0\n\u2139 pass 2\n\u2139 fail 0\n\u2139 cancelled 0\n\u2139 skipped 0\n\u2139 todo 0\n\u2139 duration_ms 444.9733\n==&gt; apps/football-understanding-pretext lint\n\n&gt; football-understanding-pretext@0.1.0 lint\n&gt; eslint . --ignore-pattern dist --ignore-pattern .next\n\n==&gt; apps/football-understanding-pretext production build\n\n&gt; football-understanding-pretext@0.1.0 build\n&gt; vinext build\n\n\n  vinext build  (Vite 8.2.1)\n\n[1/5] analyze client references...\n?[2K\ntransforming...\u2713 226 modules transformed.\nrendering chunks...\n\u2713 built in 446ms\n[2/5] analyze server references...\n?[2K\ntransforming...\u2713 96 modules transformed.\nrendering chunks...\n\u2713 built in 145ms\n[3/5] build rsc environment...\n?[2K\ntransforming...\u2713 223 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 513ms\n[4/5] build client environment...\n?[2K\ntransforming...\u2713 142 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 513ms\n[5/5] build ssr environment...\n?[2K\ntransforming...\u2713 102 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u2713 built in 570ms\n?[0m\n  Route (app)\n  \u2500 ? /\n\n  ? Unknown\n\n  ? Some routes could not be classified. vinext currently uses static analysis\n    and cannot detect dynamic API usage (headers(), cookies(), etc.) at build time.\n    Automatic classification will be improved in a future release.\n  Build complete. Run `vinext start` to start the production server.\n\n==&gt; Committed review whitespace\n==&gt; Staged whitespace\n==&gt; Worktree whitespace\n==&gt; Untracked whitespace\n===== END 05c_validate_all_windows_final.log =====\n\n===== BEGIN 06_transcript_core_v7.log =====\ntest_v7_authority_events_resolve_terminal_state_at_operation_time (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_authority_events_resolve_terminal_state_at_operation_time) ... ok\ntest_v7_candidate_and_accepted_release_are_exact_tree_bound (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_and_accepted_release_are_exact_tree_bound) ... warning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'later.txt', LF will be replaced by CRLF the next time Git touches it\nok\ntest_v7_candidate_attempts_cannot_supersede (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_attempts_cannot_supersede) ... ok\ntest_v7_candidate_manifest_structural_mutation_matrix (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_manifest_structural_mutation_matrix) ... ok\ntest_v7_candidate_validator_has_pr_and_accepted_release_modes (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_validator_has_pr_and_accepted_release_modes) ... ok\ntest_v7_candidate_validator_is_tree_bound_and_head_independent (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_candidate_validator_is_tree_bound_and_head_independent) ... ok\ntest_v7_claim_requires_index_family_and_visual_before_draft (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_claim_requires_index_family_and_visual_before_draft) ... ok\ntest_v7_claim_schema_is_readable_and_tiered (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_claim_schema_is_readable_and_tiered) ... ok\ntest_v7_coverage_recomputes_effective_population (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_coverage_recomputes_effective_population) ... ok\ntest_v7_evidence_family_schema_supports_series_and_unknown_count (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_evidence_family_schema_supports_series_and_unknown_count) ... ok\ntest_v7_facade_decomposition_has_one_implementation_per_domain (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_facade_decomposition_has_one_implementation_per_domain) ... ok\ntest_v7_family_rejects_stale_effective_member (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_family_rejects_stale_effective_member) ... ok\ntest_v7_family_series_allows_classification_and_membership_correction (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_family_series_allows_classification_and_membership_correction) ... ok\ntest_v7_independent_tier_requires_distinct_reviewer_identities (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_independent_tier_requires_distinct_reviewer_identities) ... ok\ntest_v7_origin_cycles_are_rejected (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_origin_cycles_are_rejected) ... ok\ntest_v7_positive_claim_projection_and_owner_tier (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_positive_claim_projection_and_owner_tier) ... ok\ntest_v7_production_context_rejects_untrusted_authority_commit (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_production_context_rejects_untrusted_authority_commit) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nok\ntest_v7_review_attestation_schema_binds_complete_projection (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_attestation_schema_binds_complete_projection) ... ok\ntest_v7_review_lifecycle_bypass_matrix (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_lifecycle_bypass_matrix) ... ok\ntest_v7_review_list_order_and_full_projection (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_list_order_and_full_projection) ... ok\ntest_v7_review_span_must_cover_claim_interval (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_review_span_must_cover_claim_interval) ... ok\ntest_v7_reviewed_projection_mutation_matrix (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_reviewed_projection_mutation_matrix) ... ok\ntest_v7_rights_event_requires_effective_issuing_authority (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_rights_event_requires_effective_issuing_authority) ... ok\ntest_v7_rights_terminal_lineage_matrix (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_rights_terminal_lineage_matrix) ... ok\ntest_v7_unresolved_family_still_validates_origin_graph (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_unresolved_family_still_validates_origin_graph) ... ok\ntest_v7_valid_family_draft_review_successor_chronology (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_valid_family_draft_review_successor_chronology) ... ok\ntest_v7_validation_context_and_production_entrypoint_exist (tests.test_transcript_core_v7_fail_first.TranscriptCoreV7FailFirstTests.test_v7_validation_context_and_production_entrypoint_exist) ... ok\n\n----------------------------------------------------------------------\nRan 27 tests in 7.524s\n\nOK\n===== END 06_transcript_core_v7.log =====\n\n===== BEGIN 07_transcript_core_v8.log =====\ntest_accepted_release_requires_trusted_integration_and_valid_method (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_accepted_release_requires_trusted_integration_and_valid_method) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_adjudicated_independent_count_equals_effective_origins (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_adjudicated_independent_count_equals_effective_origins) ... ok\ntest_analysis_index_rejects_future_evidence_family (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_analysis_index_rejects_future_evidence_family) ... ok\ntest_authority_commit_cannot_postdate_review_or_rights_operation (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_authority_commit_cannot_postdate_review_or_rights_operation) ... warning: in the working copy of 'governance/fixture_rights.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'research/football_observation/knowledge_graph/reviewer_registry.json', LF will be replaced by CRLF the next time Git touches it\nok\ntest_candidate_validation_ignores_dirty_worktree_manifest (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_candidate_validation_ignores_dirty_worktree_manifest) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_claim_projection_binds_analysis_index_build_uid (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_claim_projection_binds_analysis_index_build_uid) ... ok\ntest_claim_rejects_release_quarantined_before_draft (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_claim_rejects_release_quarantined_before_draft) ... ok\ntest_coverage_rejects_omitted_universe_member (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_coverage_rejects_omitted_universe_member) ... ok\ntest_coverage_rejects_visual_created_after_as_of (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_coverage_rejects_visual_created_after_as_of) ... ok\ntest_independent_tier_exact_validates_every_counted_attestation (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_independent_tier_exact_validates_every_counted_attestation) ... ok\ntest_production_context_cannot_self_declare_feature_as_trusted_main (tests.test_transcript_core_v8_clean_room_fail_first.TranscriptCoreV8CleanRoomFailFirstTests.test_production_context_cannot_self_declare_feature_as_trusted_main) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'feature.txt', LF will be replaced by CRLF the next time Git touches it\nok\n\n----------------------------------------------------------------------\nRan 11 tests in 7.519s\n\nOK\n===== END 07_transcript_core_v8.log =====\n\n===== BEGIN 08_transcript_core_v9.log =====\ntest_backdated_authority_rejects_post_operation_ancestor (tests.test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_backdated_authority_rejects_post_operation_ancestor) ... ok\ntest_effective_time_rejects_future_roots_and_stale_family (tests.test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_effective_time_rejects_future_roots_and_stale_family) ... ok\ntest_every_adjudicated_family_type_has_exact_origin_count (tests.test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_every_adjudicated_family_type_has_exact_origin_count) ... ok\ntest_mutable_local_main_cannot_anchor_production_or_release (tests.test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_mutable_local_main_cannot_anchor_production_or_release) ... warning: in the working copy of 'base.txt', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'manifest.json', LF will be replaced by CRLF the next time Git touches it\nwarning: in the working copy of 'src/example.py', LF will be replaced by CRLF the next time Git touches it\nok\ntest_supplied_manifest_must_equal_candidate_commit_blob (tests.test_transcript_core_v9_clean_room_fail_first.TranscriptCoreV9CleanRoomFailFirstTests.test_supplied_manifest_must_equal_candidate_commit_blob) ... ok\n\n----------------------------------------------------------------------\nRan 5 tests in 6.682s\n\nOK\n===== END 08_transcript_core_v9.log =====\n\n===== BEGIN 09_history_preflight.log =====\nTranscript required-history refs: PASS\n===== END 09_history_preflight.log =====\n\n===== BEGIN 10_fresh_clone_validation.log =====\nCloning into 'D:\\CodexTemp\\nfl-pr74-v9-fresh-clone-20260828'...\nHEAD is now at df3dcba chore: freeze PR74 V9 review candidate\nRepository contract passed\nRequired files: 182\nRegistered sources: 51\nTEST used for selection: false\nLive betting authorized: false\nFresh clone V9 exact candidate: PASS\n===== END 10_fresh_clone_validation.log =====\n\n===== BEGIN 11_safety_scan.log =====\nCandidate head: df3dcbae60b9a63714672880453896ab6313796f\nChanged files: 38\nBinary diff rows: 0\nMedia/subtitle paths: 0\nSecret/signed URL added-line hits: 1\ngitleaks available: False\ntrufflehog available: False\n===== END 11_safety_scan.log =====\n\n===== BEGIN 11b_safety_scan_final.log =====\nCandidate head: df3dcbae60b9a63714672880453896ab6313796f\nChanged files: 38\nBinary diff rows: 0\nMedia/subtitle paths: 0\nCredential-shaped matches: 1\nAllowlisted adversarial negative-test fixtures: 1\nUnallowlisted secret/signed URL matches: 0\nAllowlist evidence: tests/test_transcript_core_contract.py:1711 rejects a synthetic credential-bearing private locator\ngitleaks available: False\ntrufflehog available: False\n===== END 11b_safety_scan_final.log =====\n\n===== BEGIN 12_protected_main_observation.log =====\nTrusted repository: https://github.com/alexjohnbyrne44/NFL.git\nProtected main at observation: 04730819f30d013850dbc0ce782314bdb2a100e3\nCandidate base main: 04730819f30d013850dbc0ce782314bdb2a100e3\nCandidate head: df3dcbae60b9a63714672880453896ab6313796f\nCandidate tree: 43cd3c9762752fbf33a325b5a4e058bc6c7c8709\n===== END 12_protected_main_observation.log =====\n\n===== BEGIN 13_pr_state.log =====\n{\"baseRefName\":\"main\",\"baseRefOid\":\"04730819f30d013850dbc0ce782314bdb2a100e3\",\"headRefName\":\"codex/nfl-transcript-core-v5-20260827\",\"headRefOid\":\"df3dcbae60b9a63714672880453896ab6313796f\",\"isDraft\":true,\"state\":\"OPEN\",\"url\":\"https://github.com/alexjohnbyrne44/NFL/pull/74\"}\n===== END 13_pr_state.log =====\n", "creation_timestamp": "2026-08-28T17:56:32.814710Z"}]}