[ "tests/datasets/test_application_service_corrective.py::test_all_frozen_cases_retrieve_through_production_composition[0]", "tests/datasets/test_application_service_corrective.py::test_all_frozen_cases_retrieve_through_production_composition[1]", "tests/datasets/test_application_service_corrective.py::test_all_frozen_cases_retrieve_through_production_composition[2]", "tests/datasets/test_application_service_corrective.py::test_all_frozen_cases_retrieve_through_production_composition[3]", "tests/datasets/test_application_service_corrective.py::test_cross_session_waiting_reference_is_rejected", "tests/datasets/test_application_service_corrective.py::test_factory_constructs_concrete_production_composition_without_calls", "tests/datasets/test_application_service_corrective.py::test_frozen_source_hashes_remain_manifest_exact", "tests/datasets/test_application_service_corrective.py::test_invalid_cmr_requests_return_typed_zero_inference_failure[http://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=A_1]", "tests/datasets/test_application_service_corrective.py::test_invalid_cmr_requests_return_typed_zero_inference_failure[https://cmr.earthdata.nasa.gov/search/collections.umm_json]", "tests/datasets/test_application_service_corrective.py::test_invalid_cmr_requests_return_typed_zero_inference_failure[https://example.org/search/collections.umm_json?native_id=A_1]", "tests/datasets/test_application_service_corrective.py::test_invalid_explicit_selection_stops_before_pdf_or_model[0-/tmp/local.pdf]", "tests/datasets/test_application_service_corrective.py::test_invalid_explicit_selection_stops_before_pdf_or_model[0-https://evil.example/readme.pdf]", "tests/datasets/test_application_service_corrective.py::test_invalid_explicit_selection_stops_before_pdf_or_model[0-tests/fixtures/datasets/pdf/README.pdf]", "tests/datasets/test_application_service_corrective.py::test_invalid_explicit_selection_stops_before_pdf_or_model[1-None]", "tests/datasets/test_application_service_corrective.py::test_no_gradio_or_ui_import_and_protected_files_unchanged", "tests/datasets/test_application_service_corrective.py::test_retrieve_multiple_candidates_preserves_source_order_without_choice", "tests/datasets/test_application_service_corrective.py::test_retrieve_no_readme_is_skipped_without_waiting_or_inference", "tests/datasets/test_application_service_corrective.py::test_retrieve_one_candidate_persists_recoverable_waiting_boundary", "tests/datasets/test_application_service_corrective.py::test_stage_events_and_application_results_do_not_expose_experts", "tests/datasets/test_application_service_corrective.py::test_valid_selection_delegates_to_pdf_retrieval_and_stops_before_model", "tests/datasets/test_application_service_corrective.py::test_waiting_checkpoint_can_be_reopened_after_service_restart", "tests/datasets/test_classifier_adapter.py::test_article_prompt_schema_and_source_models_are_byte_compatible", "tests/datasets/test_classifier_adapter.py::test_bounded_retry_success_and_exhaustion", "tests/datasets/test_classifier_adapter.py::test_context_only_block_cannot_be_sole_support", "tests/datasets/test_classifier_adapter.py::test_dataset_semantic_validator_not_run_and_schema_valid", "tests/datasets/test_classifier_adapter.py::test_direct_child_enforced_at_term_and_variable_stages", "tests/datasets/test_classifier_adapter.py::test_four_frozen_milestone6_outcomes_feed_or_block_adapter", "tests/datasets/test_classifier_adapter.py::test_missing_unknown_duplicate_and_context_only_citations_fail", "tests/datasets/test_classifier_adapter.py::test_multiple_branches_and_joint_multi_section_citations", "tests/datasets/test_classifier_adapter.py::test_packet_hash_text_component_and_review_boundary_fail_before_model", "tests/datasets/test_classifier_adapter.py::test_prompt_injection_and_expert_sentinel_remain_source_data", "tests/datasets/test_classifier_adapter.py::test_raw_text_blocks_manifest_and_unknown_input_are_rejected", "tests/datasets/test_classifier_adapter.py::test_response_contracts_reject_unknown_fields_and_missing_stop_citation", "tests/datasets/test_classifier_adapter.py::test_sealed_expert_field_rejected_from_packet_and_context", "tests/datasets/test_classifier_adapter.py::test_semantic_not_classified_is_completed_and_model_failure_is_not", "tests/datasets/test_classifier_adapter.py::test_separate_confidence_and_weak_product_cannot_be_overridden", "tests/datasets/test_classifier_adapter.py::test_stop_at_topic_term_vl1_vl2_and_select_vl3", "tests/datasets/test_classifier_adapter.py::test_unknown_skipped_uncited_fabricated_and_extra_authority_fail[0]", "tests/datasets/test_classifier_adapter.py::test_unknown_skipped_uncited_fabricated_and_extra_authority_fail[1]", "tests/datasets/test_classifier_adapter.py::test_unknown_skipped_uncited_fabricated_and_extra_authority_fail[2]", "tests/datasets/test_classifier_adapter.py::test_unknown_skipped_uncited_fabricated_and_extra_authority_fail[3]", "tests/datasets/test_classifier_adapter.py::test_unknown_skipped_uncited_fabricated_and_extra_authority_fail[4]", "tests/datasets/test_cmr.py::test_all_frozen_cmr_fixtures_resolve_and_remain_unchanged", "tests/datasets/test_cmr.py::test_blind_view_is_allow_listed_and_expert_payload_is_sealed", "tests/datasets/test_cmr.py::test_client_authorization_and_cookie_state_are_rejected", "tests/datasets/test_cmr.py::test_declared_and_streamed_size_limits_are_enforced", "tests/datasets/test_cmr.py::test_encoded_response_is_rejected_to_preserve_exact_entity_bytes", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload0-CMR_CARDINALITY]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload1-CMR_CARDINALITY]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload2-CMR_CARDINALITY_MISMATCH]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload3-CMR_HITS_INVALID]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload4-CMR_ITEMS_INVALID]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload5-CMR_ITEM_INVALID]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload6-CMR_META_INVALID]", "tests/datasets/test_cmr.py::test_envelope_cardinality_and_shapes_are_validated[payload7-CMR_UMM_INVALID]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[http://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001-CMR_URL_SCHEME]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.json?native_id=TARGET_001-CMR_URL_PATH]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json-CMR_URL_NATIVE_ID_COUNT]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=-CMR_URL_NATIVE_ID_EMPTY]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001#fragment-CMR_URL_FRAGMENT]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001&access_token=secret-CMR_URL_AUTH_QUERY]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001&client-secret=secret-CMR_URL_AUTH_QUERY]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001&native_id=OTHER_001-CMR_URL_NATIVE_ID_COUNT]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://cmr.earthdata.nasa.gov:444/search/collections.umm_json?native_id=TARGET_001-CMR_URL_PORT]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://example.test/search/collections.umm_json?native_id=TARGET_001-CMR_URL_HOST]", "tests/datasets/test_cmr.py::test_invalid_cmr_urls_are_typed[https://user:password@cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001-CMR_URL_USERINFO]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[http://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[https://cmr.earthdata.nasa.gov/search/collections.json?native_id=TARGET_001]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=OTHER_001]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[https://cmr.earthdata.nasa.gov/search/collections.umm_json?native_id=TARGET_001&token=x]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[https://cmr.earthdata.nasa.gov:444/search/collections.umm_json?native_id=TARGET_001]", "tests/datasets/test_cmr.py::test_invalid_redirect_target_is_rejected[https://example.test/search/collections.umm_json?native_id=TARGET_001]", "tests/datasets/test_cmr.py::test_leading_zeros_and_capitalization_are_preserved", "tests/datasets/test_cmr.py::test_login_response_and_unsupported_or_missing_media_type_are_rejected", "tests/datasets/test_cmr.py::test_manual_redirect_is_validated_and_preserved", "tests/datasets/test_cmr.py::test_non_public_status_is_rejected[401]", "tests/datasets/test_cmr.py::test_non_public_status_is_rejected[403]", "tests/datasets/test_cmr.py::test_overall_operation_limit_is_enforced", "tests/datasets/test_cmr.py::test_percent_encoded_native_id_is_decoded_once_and_preserved", "tests/datasets/test_cmr.py::test_preclassification_failure_has_zero_inference_semantics", "tests/datasets/test_cmr.py::test_redirect_loop_and_limit_are_rejected", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD0]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD1]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD2]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD3]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD4]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD5]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD6]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REQUIRED_FIELD7]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REVISION_ID_INVALID0]", "tests/datasets/test_cmr.py::test_required_identity_fields_are_validated[-CMR_REVISION_ID_INVALID1]", "tests/datasets/test_cmr.py::test_sealed_keyword_hash_is_stable_for_equivalent_payloads", "tests/datasets/test_cmr.py::test_source_decoding_and_json_errors_are_typed[[]-CMR_JSON_ROOT]", "tests/datasets/test_cmr.py::test_source_decoding_and_json_errors_are_typed[{\"not\":\"utf8\"}\\xff-CMR_TEXT_DECODE]", "tests/datasets/test_cmr.py::test_source_decoding_and_json_errors_are_typed[{invalid-CMR_JSON_INVALID]", "tests/datasets/test_cmr.py::test_submitted_returned_and_derived_native_ids_match_exactly[payload0]", "tests/datasets/test_cmr.py::test_submitted_returned_and_derived_native_ids_match_exactly[payload1]", "tests/datasets/test_cmr.py::test_submitted_returned_and_derived_native_ids_match_exactly[payload2]", "tests/datasets/test_cmr.py::test_successful_retrieval_preserves_exact_bytes_headers_timestamp_and_hash", "tests/datasets/test_cmr.py::test_transport_failures_are_typed[exception0-CMR_TIMEOUT]", "tests/datasets/test_cmr.py::test_transport_failures_are_typed[exception1-CMR_TRANSPORT_ERROR]", "tests/datasets/test_cmr.py::test_transport_failures_are_typed[exception2-CMR_TRANSPORT_ERROR]", "tests/datasets/test_cmr.py::test_unknown_source_fields_are_preserved_and_entry_id_is_not_fabricated", "tests/datasets/test_cmr.py::test_valid_url_preserves_exact_native_id_and_harmless_parameters", "tests/datasets/test_comparison_milestone9.py::test_ambiguous_normalized_match_is_unresolved_and_review_required", "tests/datasets/test_comparison_milestone9.py::test_authoritative_uuid_and_fields_resolve_consistently", "tests/datasets/test_comparison_milestone9.py::test_comparison_and_reviews_are_stable_idempotent_and_additive", "tests/datasets/test_comparison_milestone9.py::test_comparison_cache_is_separate_and_expert_sensitive", "tests/datasets/test_comparison_milestone9.py::test_comparison_category_precedence_and_review[experts0-vl1-atmosphere-carbon-already_assigned-False]", "tests/datasets/test_comparison_milestone9.py::test_comparison_category_precedence_and_review[experts1-vl2-carbon-dioxide-proposed_refinement-True]", "tests/datasets/test_comparison_milestone9.py::test_comparison_category_precedence_and_review[experts2-vl1-atmosphere-carbon-redundant_result-False]", "tests/datasets/test_comparison_milestone9.py::test_comparison_category_precedence_and_review[experts3-vl1-atmosphere-carbon-proposed_addition-True]", "tests/datasets/test_comparison_milestone9.py::test_comparison_category_precedence_and_review[experts4-vl1-atmosphere-carbon-review_required-True]", "tests/datasets/test_comparison_milestone9.py::test_comparison_logs_contain_counts_not_expert_values", "tests/datasets/test_comparison_milestone9.py::test_comparison_persistence_failure_publishes_no_complete_artifact", "tests/datasets/test_comparison_milestone9.py::test_discontinuous_uuid_chain_is_rejected", "tests/datasets/test_comparison_milestone9.py::test_duplicate_blind_records_are_preserved_not_mutated", "tests/datasets/test_comparison_milestone9.py::test_duplicate_experts_preserve_every_source_position", "tests/datasets/test_comparison_milestone9.py::test_exact_assignment_at_every_supported_level[term-atmospheric-chemistry-path1]", "tests/datasets/test_comparison_milestone9.py::test_exact_assignment_at_every_supported_level[topic-atmosphere-path0]", "tests/datasets/test_comparison_milestone9.py::test_exact_assignment_at_every_supported_level[vl1-atmosphere-carbon-path2]", "tests/datasets/test_comparison_milestone9.py::test_exact_assignment_at_every_supported_level[vl2-carbon-dioxide-path3]", "tests/datasets/test_comparison_milestone9.py::test_exact_assignment_at_every_supported_level[vl3-carbon-dioxide-profiles-path4]", "tests/datasets/test_comparison_milestone9.py::test_exact_match_precedes_broader_secondary_relationship", "tests/datasets/test_comparison_milestone9.py::test_frozen_experts_are_used_only_after_independent_blind_result[0]", "tests/datasets/test_comparison_milestone9.py::test_frozen_experts_are_used_only_after_independent_blind_result[1]", "tests/datasets/test_comparison_milestone9.py::test_frozen_experts_are_used_only_after_independent_blind_result[2]", "tests/datasets/test_comparison_milestone9.py::test_frozen_experts_are_used_only_after_independent_blind_result[3]", "tests/datasets/test_comparison_milestone9.py::test_invalid_and_unknown_uuid_remain_unresolved[-invalid_uuid]", "tests/datasets/test_comparison_milestone9.py::test_invalid_and_unknown_uuid_remain_unresolved[-unknown_uuid]", "tests/datasets/test_comparison_milestone9.py::test_invalid_blind_hash_never_invokes_unsealer", "tests/datasets/test_comparison_milestone9.py::test_multiple_blind_and_expert_branches_keep_independent_items", "tests/datasets/test_comparison_milestone9.py::test_narrower_expert_precedence_preserves_broader_secondary_relationship", "tests/datasets/test_comparison_milestone9.py::test_not_classified_unresolved_expert_creates_additive_review_only", "tests/datasets/test_comparison_milestone9.py::test_ordered_expert_resolution[source0-resolved_exact_ordered_fields-True]", "tests/datasets/test_comparison_milestone9.py::test_ordered_expert_resolution[source1-resolved_unique_normalized_ordered_fields-True]", "tests/datasets/test_comparison_milestone9.py::test_ordered_expert_resolution[source2-missing_required_intermediate_level-False]", "tests/datasets/test_comparison_milestone9.py::test_ordered_expert_resolution[source3-unmatched_path-False]", "tests/datasets/test_comparison_milestone9.py::test_ordered_expert_resolution[source4-malformed_assignment-False]", "tests/datasets/test_comparison_milestone9.py::test_semantic_not_classified_preserves_expert_only_without_removal", "tests/datasets/test_comparison_milestone9.py::test_unverified_input_never_invokes_unsealer", "tests/datasets/test_comparison_milestone9.py::test_uuid_wrong_level_and_uuid_field_conflict_are_explicit", "tests/datasets/test_dataset_ui_milestone10.py::test_arbitrary_or_cross_session_selection_never_reaches_service[/tmp/readme.pdf]", "tests/datasets/test_dataset_ui_milestone10.py::test_arbitrary_or_cross_session_selection_never_reaches_service[https://evil.example/a.pdf]", "tests/datasets/test_dataset_ui_milestone10.py::test_arbitrary_or_cross_session_selection_never_reaches_service[other-session-candidate]", "tests/datasets/test_dataset_ui_milestone10.py::test_candidates_preserve_source_order_and_exact_selection", "tests/datasets/test_dataset_ui_milestone10.py::test_comparison_failure_preserves_verified_blind_without_partial_experts", "tests/datasets/test_dataset_ui_milestone10.py::test_fresh_session_state_and_initial_enablement", "tests/datasets/test_dataset_ui_milestone10.py::test_fresh_state_is_per_session_and_initially_safe", "tests/datasets/test_dataset_ui_milestone10.py::test_multiple_candidates_preserve_order_and_exact_selected_request", "tests/datasets/test_dataset_ui_milestone10.py::test_presenters_expose_only_sanitized_values", "tests/datasets/test_dataset_ui_milestone10.py::test_protected_hashes_and_root_launcher_boundary", "tests/datasets/test_dataset_ui_milestone10.py::test_protected_publication_hashes_unchanged", "tests/datasets/test_dataset_ui_milestone10.py::test_real_gradio_builds_one_blocks_application_without_work", "tests/datasets/test_dataset_ui_milestone10.py::test_real_gradio_constructs_exact_two_tabs_without_service_calls", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_enablement[0-skipped-False]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_enablement[1-completed-True]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_enablement[2-completed-False]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_states[0-None-False]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_states[1-choice-0-True]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_states[1-dynamic-True]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_candidate_states[2-None-False]", "tests/datasets/test_dataset_ui_milestone10.py::test_retrieval_failure_is_sanitized_and_zero_inference", "tests/datasets/test_dataset_ui_milestone10.py::test_semantic_not_classified_is_distinct_and_comparison_may_be_authorized", "tests/datasets/test_dataset_ui_milestone10.py::test_state_serialization_contains_no_raw_source_or_sealed_expert", "tests/datasets/test_dataset_ui_milestone10.py::test_tampered_stale_and_local_selection_are_rejected_without_service_call", "tests/datasets/test_dataset_ui_milestone10.py::test_two_sessions_cannot_cross_candidates_or_results", "tests/datasets/test_dataset_ui_milestone10.py::test_two_sessions_cannot_cross_selection_or_results", "tests/datasets/test_dataset_ui_milestone10.py::test_typed_failures_are_sanitized_and_preinference", "tests/datasets/test_dataset_ui_milestone10.py::test_untyped_failures_hide_raw_secret_path_and_markup", "tests/datasets/test_dataset_ui_milestone10.py::test_unverified_failure_never_exposes_blind_or_expert_values", "tests/datasets/test_dataset_ui_milestone10.py::test_unverified_or_comparison_failed_result_never_exposes_experts", "tests/datasets/test_dataset_ui_milestone10.py::test_url_edit_stales_selection_and_hides_outputs", "tests/datasets/test_dataset_ui_milestone10.py::test_verified_blind_and_authorized_comparison_render_separately", "tests/datasets/test_dataset_ui_milestone10.py::test_verified_result_controls_expert_visibility_and_preserves_confidences", "tests/datasets/test_documents.py::test_all_frozen_cases_require_discovery_selection_and_exact_mocked_bytes", "tests/datasets/test_documents.py::test_authentication_status_is_not_public[401]", "tests/datasets/test_documents.py::test_authentication_status_is_not_public[403]", "tests/datasets/test_documents.py::test_empty_invalid_dns_results_are_typed", "tests/datasets/test_documents.py::test_failure_preserves_partial_artifact_and_performs_no_cleanup", "tests/datasets/test_documents.py::test_login_html_is_not_public", "tests/datasets/test_documents.py::test_mixed_public_nonpublic_and_dns_rebinding_are_rejected", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[0.0.0.0]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[10.0.0.1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[127.0.0.1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[169.254.1.1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[169.254.169.254]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[192.0.2.1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[2001:db8::1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[224.0.0.1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[::1]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[::]", "tests/datasets/test_documents.py::test_non_public_destinations_are_rejected_without_http[fe80::1]", "tests/datasets/test_documents.py::test_operation_metadata_encoding_client_state_and_run_collision_controls", "tests/datasets/test_documents.py::test_pdf_byte_validation_is_extension_independent_and_stable[None]", "tests/datasets/test_documents.py::test_pdf_byte_validation_is_extension_independent_and_stable[application/octet-stream]", "tests/datasets/test_documents.py::test_pdf_byte_validation_is_extension_independent_and_stable[application/pdf]", "tests/datasets/test_documents.py::test_public_ipv4_ipv6_and_mixed_public_addresses_are_allowed[addresses0]", "tests/datasets/test_documents.py::test_public_ipv4_ipv6_and_mixed_public_addresses_are_allowed[addresses1]", "tests/datasets/test_documents.py::test_public_ipv4_ipv6_and_mixed_public_addresses_are_allowed[addresses2]", "tests/datasets/test_documents.py::test_raw_url_local_path_and_tampered_selection_cannot_enter_retriever", "tests/datasets/test_documents.py::test_redirect_loop_and_limit", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[file:///tmp/readme.pdf]", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[https://-bad.example/readme.pdf]", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[https://bad_host.example/readme.pdf]", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[https://example.test/readme.pdf#fragment]", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[https://example.test:444/readme.pdf]", "tests/datasets/test_documents.py::test_selected_url_policy_rejects_unsafe_destinations[https://user:pass@example.test/readme.pdf]", "tests/datasets/test_documents.py::test_size_content_length_truncation_and_operation_limits", "tests/datasets/test_documents.py::test_transport_failures_are_typed_and_preserve_no_false_success[exc0]", "tests/datasets/test_documents.py::test_transport_failures_are_typed_and_preserve_no_false_success[exc1]", "tests/datasets/test_documents.py::test_transport_failures_are_typed_and_preserve_no_false_success[exc2]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[ftp://example.test/a.pdf]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[https://example.test/a.pdf#x]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[https://example.test/a.pdf?token=x]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[https://example.test/login]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[https://example.test:444/a.pdf]", "tests/datasets/test_documents.py::test_unsafe_and_authentication_redirects_are_rejected[https://u:p@example.test/a.pdf]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[%PDF-1.7 malformed-application/pdf]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[-application/pdf]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[not pdf-text/html]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[PNG-application/pdf]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[plain-text/plain]", "tests/datasets/test_documents.py::test_unsupported_and_misleading_content_is_rejected[{}-application/json]", "tests/datasets/test_documents.py::test_valid_redirect_revalidates_destination_and_preserves_history", "tests/datasets/test_evidence.py::test_all_frozen_cases_group_and_preserve_product_scope_without_keywords", "tests/datasets/test_evidence.py::test_authoritative_text_or_hash_mismatch_rejected", "tests/datasets/test_evidence.py::test_conflicting_repeated_decisions_are_rejected", "tests/datasets/test_evidence.py::test_context_only_packet_and_vague_scope_stop_typed", "tests/datasets/test_evidence.py::test_deterministic_single_and_multiple_bounded_groups", "tests/datasets/test_evidence.py::test_expert_sentinel_rejected_by_blind_type_and_absent_everywhere", "tests/datasets/test_evidence.py::test_explicitly_linked_context_is_labeled_and_cannot_stand_alone", "tests/datasets/test_evidence.py::test_generated_summary_excerpt_or_altered_text_never_accepted", "tests/datasets/test_evidence.py::test_other_product_and_ambiguous_blocks_cannot_enter_packet", "tests/datasets/test_evidence.py::test_packet_exact_text_source_order_hashes_and_classifier_boundary", "tests/datasets/test_evidence.py::test_packet_hash_changes_with_authoritative_source_text", "tests/datasets/test_evidence.py::test_packet_limit_second_pass_and_single_bounded_reduction", "tests/datasets/test_evidence.py::test_packet_still_oversized_after_one_pass_is_explicit_failure", "tests/datasets/test_evidence.py::test_reduction_cannot_override_product_scope", "tests/datasets/test_evidence.py::test_retry_success_and_prompt_injection_isolation", "tests/datasets/test_evidence.py::test_schema_is_strict_and_packet_schema_validates_result", "tests/datasets/test_evidence.py::test_stable_hashes_policy_changes_and_volatile_data_excluded", "tests/datasets/test_evidence.py::test_stale_manifest_identity_stops_before_model_call", "tests/datasets/test_evidence.py::test_strict_response_partition_ids_scope_and_links[-EVIDENCE_SELECTION_RETRIES_EXHAUSTED0]", "tests/datasets/test_evidence.py::test_strict_response_partition_ids_scope_and_links[-EVIDENCE_SELECTION_RETRIES_EXHAUSTED1]", "tests/datasets/test_evidence.py::test_strict_response_partition_ids_scope_and_links[-EVIDENCE_SELECTION_RETRIES_EXHAUSTED2]", "tests/datasets/test_evidence.py::test_strict_response_partition_ids_scope_and_links[-EVIDENCE_SELECTION_RETRIES_EXHAUSTED3]", "tests/datasets/test_evidence.py::test_strict_response_partition_ids_scope_and_links[-EVIDENCE_SELECTION_RETRIES_EXHAUSTED4]", "tests/datasets/test_evidence.py::test_unknown_fields_and_invalid_role_fail_schema_and_bounded_retry", "tests/datasets/test_expert_source_boundary.py::test_all_frozen_sources_persist_exact_ordered_sealed_artifacts[0]", "tests/datasets/test_expert_source_boundary.py::test_all_frozen_sources_persist_exact_ordered_sealed_artifacts[1]", "tests/datasets/test_expert_source_boundary.py::test_all_frozen_sources_persist_exact_ordered_sealed_artifacts[2]", "tests/datasets/test_expert_source_boundary.py::test_all_frozen_sources_persist_exact_ordered_sealed_artifacts[3]", "tests/datasets/test_expert_source_boundary.py::test_cross_run_and_tampered_sealed_artifacts_are_rejected", "tests/datasets/test_expert_source_boundary.py::test_expert_change_does_not_change_blind_view_result_or_cache_identity", "tests/datasets/test_expert_source_boundary.py::test_fixture_hashes_remain_exact", "tests/datasets/test_expert_source_boundary.py::test_generated_corrective_schemas_have_no_drift", "tests/datasets/test_expert_source_boundary.py::test_identical_boundary_is_stable_and_immutable", "tests/datasets/test_expert_source_boundary.py::test_legacy_verified_reference_without_binding_is_rejected", "tests/datasets/test_expert_source_boundary.py::test_sealed_persistence_interruption_is_prepublication_and_non_deleting", "tests/datasets/test_expert_source_boundary.py::test_verified_reference_contains_opaque_complete_provenance", "tests/datasets/test_extraction.py::test_all_frozen_pdfs_extract_deterministically_and_validate_schema", "tests/datasets/test_extraction.py::test_blank_page_warning_and_fully_blank_failure", "tests/datasets/test_extraction.py::test_encrypted_and_malformed_pdf_fail_before_inference", "tests/datasets/test_extraction.py::test_hash_page_character_block_and_timeout_limits", "tests/datasets/test_extraction.py::test_image_only_page_and_document", "tests/datasets/test_extraction.py::test_multiple_headings_on_page_and_heading_at_page_end", "tests/datasets/test_extraction.py::test_multiple_pages_repeated_headings_boundary_and_cross_page_section", "tests/datasets/test_extraction.py::test_no_heading_uses_derived_label_and_long_text_splits_deterministically", "tests/datasets/test_extraction.py::test_one_page_exact_provenance_stability_and_reconstruction", "tests/datasets/test_extraction.py::test_page_failure_partial_failure_and_unavailable_coordinates", "tests/datasets/test_extraction.py::test_policy_version_change_is_explicit_but_content_ids_remain_source_based", "tests/datasets/test_extraction.py::test_table_multicolumn_and_low_coverage_warnings", "tests/datasets/test_fixture_manifest.py::test_canonical_source_indexes_match_original_entries_and_production_discovery", "tests/datasets/test_fixture_manifest.py::test_fixture_case_serializes_only_canonical_source_index", "tests/datasets/test_fixture_manifest.py::test_frozen_manifest_loads_all_cases_without_hard_coded_case_paths", "tests/datasets/test_fixture_manifest.py::test_manifest_contains_no_expected_keyword_answers", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_absolute_and_escaping_paths[../outside.json]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_absolute_and_escaping_paths[/etc/passwd]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_duplicate_case_and_native_ids", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_invalid_selected_readme_source_index[-1]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_invalid_selected_readme_source_index[1.5]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_invalid_selected_readme_source_index[5]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_invalid_selected_readme_source_index[None]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_invalid_selected_readme_source_index[True]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_missing_or_non_regular_references", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_noncanonical_source_index_names[selected_readme_source_position]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_noncanonical_source_index_names[source_index]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_noncanonical_source_index_names[source_position]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_semantically_wrong_source_index[0]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_semantically_wrong_source_index[10000]", "tests/datasets/test_fixture_manifest.py::test_manifest_rejects_semantically_wrong_source_index[4]", "tests/datasets/test_fixture_manifest.py::test_manifest_requires_selected_readme_source_index", "tests/datasets/test_fixture_manifest.py::test_manifest_validates_hash_format_and_provenance_fields", "tests/datasets/test_models_and_schemas.py::test_comparison_requires_persisted_blind_result", "tests/datasets/test_models_and_schemas.py::test_core_dataset_schemas_are_valid_and_accept_typed_outputs", "tests/datasets/test_models_and_schemas.py::test_dataset_comparison_category_and_schema_contract", "tests/datasets/test_models_and_schemas.py::test_dataset_error_taxonomy_is_separate_and_hierarchical", "tests/datasets/test_models_and_schemas.py::test_dataset_identity_preserves_concept_native_and_legacy_ids", "tests/datasets/test_models_and_schemas.py::test_dataset_settings_are_namespaced_and_environment_configurable", "tests/datasets/test_models_and_schemas.py::test_evidence_packet_rejects_duplicate_block_ids", "tests/datasets/test_models_and_schemas.py::test_extraction_and_evidence_contracts_preserve_exact_text", "tests/datasets/test_models_and_schemas.py::test_four_dataset_schemas_are_valid_and_accept_typed_outputs", "tests/datasets/test_models_and_schemas.py::test_invalid_dataset_schema_example_is_rejected", "tests/datasets/test_models_and_schemas.py::test_publication_contract_is_unchanged", "tests/datasets/test_models_and_schemas.py::test_unattempted_classification_forbids_inference_outputs[blind_result-value2]", "tests/datasets/test_models_and_schemas.py::test_unattempted_classification_forbids_inference_outputs[classification_outcome-classified]", "tests/datasets/test_models_and_schemas.py::test_unattempted_classification_forbids_inference_outputs[classifications-value1]", "tests/datasets/test_models_and_schemas.py::test_unattempted_classification_forbids_inference_outputs[comparison_reference-comparison.json]", "tests/datasets/test_models_and_schemas.py::test_unattempted_classification_forbids_inference_outputs[processing_metadata-value4]", "tests/datasets/test_models_and_schemas.py::test_valid_unattempted_dataset_result", "tests/datasets/test_product_resolution.py::test_batched_responses_form_exact_source_order_partition", "tests/datasets/test_product_resolution.py::test_boundary_aware_identity_capitalization_version_and_signal_stability", "tests/datasets/test_product_resolution.py::test_bounded_retry_succeeds_after_invalid_coverage_response", "tests/datasets/test_product_resolution.py::test_deterministic_complete_identity_resolution_makes_zero_model_calls", "tests/datasets/test_product_resolution.py::test_enumeration_family_template_heading_and_optional_structure_signals", "tests/datasets/test_product_resolution.py::test_every_coverage_mode_is_typed_and_ambiguity_requires_review[explicit_multi_product]", "tests/datasets/test_product_resolution.py::test_every_coverage_mode_is_typed_and_ambiguity_requires_review[product_family]", "tests/datasets/test_product_resolution.py::test_every_coverage_mode_is_typed_and_ambiguity_requires_review[single_product]", "tests/datasets/test_product_resolution.py::test_every_coverage_mode_is_typed_and_ambiguity_requires_review[undetermined]", "tests/datasets/test_product_resolution.py::test_every_coverage_mode_is_typed_and_ambiguity_requires_review[vague_product_scope]", "tests/datasets/test_product_resolution.py::test_explicit_readme_alias_preserves_literal_span_and_provenance", "tests/datasets/test_product_resolution.py::test_four_frozen_coverage_modes_scope_counts_and_expert_isolation", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[alias]", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[cross_document]", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[duplicate]", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[missing]", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[product]", "tests/datasets/test_product_resolution.py::test_invalid_model_block_partition_alias_and_products_retry_then_fail[unknown]", "tests/datasets/test_product_resolution.py::test_malformed_schema_enum_confidence_timeout_and_retry_exhaustion", "tests/datasets/test_product_resolution.py::test_model_requests_use_dataset_stages_and_strict_response_schemas", "tests/datasets/test_product_resolution.py::test_prompt_injection_is_delimited_and_cannot_change_schema_or_target", "tests/datasets/test_product_resolution.py::test_sealed_expert_sentinel_is_unreachable_from_blind_prompts_results_and_errors", "tests/datasets/test_product_resolution.py::test_source_order_partition_inclusion_exclusion_ambiguity_and_context", "tests/datasets/test_readme_discovery.py::test_blind_view_contract_rejects_non_array_related_urls", "tests/datasets/test_readme_discovery.py::test_changed_or_stale_selection_binding_is_rejected", "tests/datasets/test_readme_discovery.py::test_duplicate_candidates_remain_distinct_by_source_position", "tests/datasets/test_readme_discovery.py::test_exact_match_without_usable_url_is_explicit_error[4]", "tests/datasets/test_readme_discovery.py::test_exact_match_without_usable_url_is_explicit_error[None]", "tests/datasets/test_readme_discovery.py::test_exact_match_without_usable_url_is_explicit_error[url2]", "tests/datasets/test_readme_discovery.py::test_exact_match_without_usable_url_is_explicit_error[url3]", "tests/datasets/test_readme_discovery.py::test_exact_subtype_only_and_complete_source_order_preservation", "tests/datasets/test_readme_discovery.py::test_missing_null_non_string_and_malformed_subtypes_do_not_match[3]", "tests/datasets/test_readme_discovery.py::test_missing_null_non_string_and_malformed_subtypes_do_not_match[None]", "tests/datasets/test_readme_discovery.py::test_missing_null_non_string_and_malformed_subtypes_do_not_match[READ-ME ]", "tests/datasets/test_readme_discovery.py::test_missing_null_non_string_and_malformed_subtypes_do_not_match[subtype2]", "tests/datasets/test_readme_discovery.py::test_missing_null_non_string_and_malformed_subtypes_do_not_match[subtype3]", "tests/datasets/test_readme_discovery.py::test_one_candidate_requires_explicit_confirmation", "tests/datasets/test_readme_discovery.py::test_selection_rejects_missing_multiple_position_and_url_substitution[selections0]", "tests/datasets/test_readme_discovery.py::test_selection_rejects_missing_multiple_position_and_url_substitution[selections1]", "tests/datasets/test_readme_discovery.py::test_selection_rejects_missing_multiple_position_and_url_substitution[selections2]", "tests/datasets/test_readme_discovery.py::test_selection_rejects_missing_multiple_position_and_url_substitution[selections3]", "tests/datasets/test_readme_discovery.py::test_selection_rejects_missing_multiple_position_and_url_substitution[selections4]", "tests/datasets/test_readme_discovery.py::test_zero_candidate_outcome_has_exact_nonsemantic_boundary", "tests/datasets/test_runtime_milestone8.py::test_artifact_store_is_atomic_immutable_and_run_isolated", "tests/datasets/test_runtime_milestone8.py::test_atomic_failure_never_publishes_success", "tests/datasets/test_runtime_milestone8.py::test_blind_cache_round_trip_and_tamper_detection", "tests/datasets/test_runtime_milestone8.py::test_cache_identity_requires_complete_stage_inputs", "tests/datasets/test_runtime_milestone8.py::test_failed_attempt_checkpoint_prevents_transport", "tests/datasets/test_runtime_milestone8.py::test_illegal_and_terminal_transitions_are_rejected", "tests/datasets/test_runtime_milestone8.py::test_inference_attempt_is_durable_before_transport", "tests/datasets/test_runtime_milestone8.py::test_log_contract_rejects_absolute_reference", "tests/datasets/test_runtime_milestone8.py::test_ordered_pipeline_no_readme_is_preinference_skip", "tests/datasets/test_runtime_milestone8.py::test_recovery_uses_validated_checkpoint_chain", "tests/datasets/test_runtime_milestone8.py::test_runtime_models_reject_unknown_fields", "tests/datasets/test_runtime_milestone8.py::test_sealed_artifact_failure_stops_pipeline_before_inference", "tests/datasets/test_runtime_milestone8.py::test_storage_rejects_fixture_root", "tests/datasets/test_runtime_milestone8.py::test_successful_not_classified_pipeline_is_persisted_and_verified", "tests/datasets/test_runtime_milestone8.py::test_verified_blind_result_gate_reads_persisted_bytes", "tests/datasets/test_smoke_milestone11.py::test_all_frozen_cases_use_real_two_step_service_without_live_boundaries", "tests/datasets/test_smoke_milestone11.py::test_fixture_readme_is_human_policy_only_and_manifest_is_only_configuration", "tests/datasets/test_smoke_milestone11.py::test_frozen_transport_denies_pdf_before_discovery_and_selection", "tests/datasets/test_smoke_milestone11.py::test_manifest_has_no_expected_keyword_or_fake_answer_configuration", "tests/datasets/test_smoke_milestone11.py::test_optional_live_public_cmr_and_readme_retrieval", "tests/datasets/test_smoke_milestone11.py::test_preflight_rejects_provenance_mismatches_without_transport_or_model_calls", "tests/datasets/test_smoke_milestone11.py::test_repeated_runs_have_stable_logical_report_hash_and_safe_persisted_report", "tests/datasets/test_smoke_milestone11.py::test_report_path_must_remain_under_output_root", "tests/test_articles.py::test_duplicate_doi_detection_excludes_duplicate_records_from_valid_records", "tests/test_articles.py::test_empty_abstract_is_valid_and_preserved", "tests/test_articles.py::test_empty_required_strings[record0-DOI]", "tests/test_articles.py::test_empty_required_strings[record1-Title]", "tests/test_articles.py::test_exact_serialization_field_names", "tests/test_articles.py::test_exact_source_value_preservation", "tests/test_articles.py::test_file_not_found_behavior", "tests/test_articles.py::test_full_data_smoke_current_articles_file", "tests/test_articles.py::test_invalid_fixture_reports_multiple_record_errors", "tests/test_articles.py::test_invalid_json", "tests/test_articles.py::test_invalid_year_types_rejected[2024.0]", "tests/test_articles.py::test_invalid_year_types_rejected[2024]", "tests/test_articles.py::test_invalid_year_types_rejected[False]", "tests/test_articles.py::test_invalid_year_types_rejected[True]", "tests/test_articles.py::test_missing_required_fields[record0-DOI]", "tests/test_articles.py::test_missing_required_fields[record1-Title]", "tests/test_articles.py::test_missing_required_fields[record2-Year]", "tests/test_articles.py::test_missing_required_fields[record3-Abstract]", "tests/test_articles.py::test_non_object_article_entry", "tests/test_articles.py::test_non_string_fields_rejected[Abstract-42]", "tests/test_articles.py::test_non_string_fields_rejected[DOI-123]", "tests/test_articles.py::test_non_string_fields_rejected[Title-value1]", "tests/test_articles.py::test_null_field_values_rejected", "tests/test_articles.py::test_preserves_source_order", "tests/test_articles.py::test_source_file_immutability", "tests/test_articles.py::test_top_level_non_list_json", "tests/test_articles.py::test_valid_article_loading", "tests/test_articles.py::test_whitespace_only_title_is_preserved_not_normalized", "tests/test_cache.py::test_cache_hit_returns_cache_used_true_and_completed_status", "tests/test_cache.py::test_cache_key_changes_when_article_content_changes", "tests/test_cache.py::test_cache_key_changes_when_model_provider_name_or_parameters_change", "tests/test_cache.py::test_cache_key_changes_when_prompt_versions_change", "tests/test_cache.py::test_cache_key_changes_when_relevant_config_changes", "tests/test_cache.py::test_cache_key_changes_when_vocabulary_hash_changes", "tests/test_cache.py::test_cache_key_includes_article_fingerprint", "tests/test_cache.py::test_stale_cache_is_not_reused", "tests/test_llm_config.py::test_default_model_settings_load", "tests/test_llm_config.py::test_environment_overrides_work", "tests/test_llm_config.py::test_model_provider_and_name_are_configurable_in_requests", "tests/test_llm_config.py::test_prompt_versions_are_configurable_in_requests", "tests/test_llm_fake.py::test_fake_model_can_exhaust_retries", "tests/test_llm_fake.py::test_fake_model_can_fail_once_then_succeed_with_retry_wrapper", "tests/test_llm_fake.py::test_fake_model_can_raise_non_retryable_errors", "tests/test_llm_fake.py::test_fake_model_can_raise_retryable_errors", "tests/test_llm_fake.py::test_fake_model_can_return_invalid_candidate_ids_for_later_validation", "tests/test_llm_fake.py::test_fake_model_can_return_no_selection", "tests/test_llm_fake.py::test_fake_model_records_requests", "tests/test_llm_fake.py::test_fake_model_rejects_contradictory_structured_response", "tests/test_llm_fake.py::test_fake_model_returns_typed_term_response", "tests/test_llm_fake.py::test_fake_model_returns_typed_topic_response", "tests/test_llm_fake.py::test_fake_model_returns_typed_variable_response", "tests/test_llm_prompts.py::test_prompt_delimits_title_and_abstract", "tests/test_llm_prompts.py::test_prompt_includes_untrusted_article_instruction", "tests/test_llm_prompts.py::test_prompt_preserves_source_article_text_exactly", "tests/test_llm_prompts.py::test_prompt_prevents_generating_authoritative_vocabulary_fields", "tests/test_llm_prompts.py::test_prompt_remains_valid_when_abstract_is_empty", "tests/test_llm_prompts.py::test_prompt_uses_candidate_ids_and_only_supplied_candidates_instruction", "tests/test_llm_prompts.py::test_term_prompt_includes_parent_context_and_direct_child_candidates", "tests/test_llm_prompts.py::test_topic_prompt_includes_supplied_candidates", "tests/test_llm_prompts.py::test_variable_prompt_includes_parent_context_and_direct_child_candidates", "tests/test_llm_retries.py::test_non_retryable_error_is_not_retried", "tests/test_llm_retries.py::test_retry_count_is_recorded_as_zero_without_retry", "tests/test_llm_retries.py::test_retryable_error_fails_after_max_retries", "tests/test_llm_retries.py::test_retryable_error_succeeds_after_retry", "tests/test_mvp_smoke.py::test_fake_model_mvp_smoke_run_end_to_end", "tests/test_mvp_smoke.py::test_optional_live_model_smoke_is_skipped_unless_explicitly_enabled", "tests/test_openai_provider.py::test_gpt4o_request_preserves_temperature_behavior", "tests/test_openai_provider.py::test_gpt5_family_request_omits_temperature_when_configured_zero", "tests/test_openai_provider.py::test_openai_provider_does_not_make_live_call_without_explicit_key", "tests/test_openai_provider.py::test_openai_provider_is_isolated_from_fake_model_tests", "tests/test_openai_provider.py::test_openai_provider_module_import_does_not_require_openai", "tests/test_openai_provider.py::test_openai_provider_non_retryable_error_includes_sanitized_diagnostics", "tests/test_openai_provider.py::test_openai_provider_retryable_error_includes_sanitized_diagnostics", "tests/test_output_schema.py::test_accepted_classification_requires_valid_deterministic_validation", "tests/test_output_schema.py::test_basic_run_summary_validates_against_json_schema", "tests/test_output_schema.py::test_boolean_year_is_invalid_for_article_result", "tests/test_output_schema.py::test_classified_result_validates_against_json_schema", "tests/test_output_schema.py::test_confidence_metadata_range_validation", "tests/test_output_schema.py::test_empty_abstract_is_allowed_in_article_result_output", "tests/test_output_schema.py::test_failed_result_validates_against_json_schema", "tests/test_output_schema.py::test_generated_fields_use_snake_case_and_source_fields_remain_exact", "tests/test_output_schema.py::test_minimal_no_classification_result_validates_against_json_schema", "tests/test_output_schema.py::test_processing_metadata_can_represent_title_only_input", "tests/test_output_schema.py::test_review_compatible_values_can_be_represented_without_review_trigger_logic", "tests/test_output_schema.py::test_schema_files_are_valid_json", "tests/test_output_schema.py::test_status_scopes_do_not_accept_values_from_wrong_enum", "tests/test_output_schema.py::test_support_type_enum_values_are_schema_compatible", "tests/test_output_schema.py::test_valid_accepted_classification_record", "tests/test_output_schema.py::test_valid_article_result_with_classifications", "tests/test_output_schema.py::test_valid_failed_article_result_without_classifications", "tests/test_output_schema.py::test_valid_minimal_no_classification_article_result", "tests/test_output_schema.py::test_valid_partial_article_result_without_classifications", "tests/test_output_schema.py::test_valid_reduced_to_ancestor_classification_record", "tests/test_output_schema.py::test_valid_rejected_classification_record", "tests/test_package_import.py::test_package_imports", "tests/test_persistence.py::test_article_result_is_saved_after_completion", "tests/test_persistence.py::test_atomic_checkpoint_temp_file_is_removed_after_success", "tests/test_persistence.py::test_consolidated_output_is_valid_json", "tests/test_persistence.py::test_duplicate_output_records_for_same_doi_are_avoided", "tests/test_persistence.py::test_failed_article_result_is_saved", "tests/test_persistence.py::test_loading_existing_results_works", "tests/test_persistence.py::test_previous_results_survive_simulated_later_failure", "tests/test_pipeline.py::test_article_stops_at_term_and_becomes_term_classification", "tests/test_pipeline.py::test_article_stops_at_topic_and_becomes_topic_classification", "tests/test_pipeline.py::test_batch_cache_hit_is_completed_not_skipped_and_force_reprocess_bypasses_cache", "tests/test_pipeline.py::test_batch_continues_after_one_article_failure", "tests/test_pipeline.py::test_batch_output_summary_validates_against_schema", "tests/test_pipeline.py::test_batch_processes_multiple_valid_articles_and_preserves_order", "tests/test_pipeline.py::test_batch_reports_invalid_source_records_without_inventing_doi", "tests/test_pipeline.py::test_empty_abstract_remains_valid_and_can_be_processed", "tests/test_pipeline.py::test_full_data_smoke_reports_current_invalid_article_without_modifying_sources", "tests/test_pipeline.py::test_invalid_model_candidate_produces_structured_error", "tests/test_pipeline.py::test_logging_records_processing_events_without_secrets", "tests/test_pipeline.py::test_model_retry_counts_and_cache_flags_appear_in_metadata", "tests/test_pipeline.py::test_no_topic_selection_is_completed_not_classified", "tests/test_pipeline.py::test_partial_branch_failure_preserves_successful_sibling_outcome", "tests/test_pipeline.py::test_review_risk_flagging_preserves_accepted_topic_classification", "tests/test_pipeline.py::test_single_article_deep_variable_classification_is_accepted", "tests/test_pipeline.py::test_structured_diagnostics_do_not_include_secrets", "tests/test_redundancy.py::test_ancestor_preserved_when_independent_branch", "tests/test_redundancy.py::test_ancestor_removed_when_descendant_exists_in_same_branch_lineage", "tests/test_redundancy.py::test_deepest_descendant_retained", "tests/test_redundancy.py::test_exact_duplicate_canonical_path_removed", "tests/test_redundancy.py::test_exact_duplicate_uuid_removed", "tests/test_redundancy.py::test_insufficient_branch_provenance_preserves_ancestor_with_warning", "tests/test_redundancy.py::test_redundancy_uses_uuid_ancestry_not_string_prefix_matching", "tests/test_redundancy.py::test_removal_and_preservation_diagnostics_include_branch_provenance", "tests/test_redundancy.py::test_same_concept_name_in_different_branches_is_preserved_when_uuid_and_path_differ", "tests/test_redundancy.py::test_sibling_classifications_preserved", "tests/test_review_flagging.py::test_explicit_or_strong_mixed_classification_is_not_flagged", "tests/test_review_flagging.py::test_inferred_low_confidence_is_flagged", "tests/test_review_flagging.py::test_inferred_or_mixed_topic_is_flagged", "tests/test_review_flagging.py::test_inferred_variable_level_2_is_flagged_even_with_high_confidence", "tests/test_review_flagging.py::test_inferred_variable_level_3_is_flagged_even_with_high_confidence", "tests/test_review_flagging.py::test_mixed_low_confidence_is_flagged", "tests/test_review_flagging.py::test_non_accepted_classification_is_not_flagged", "tests/test_review_flagging.py::test_review_warning_appears_in_json_output", "tests/test_small_run_script.py::test_build_model_client_fake_returns_fake_model", "tests/test_small_run_script.py::test_console_summary_includes_classification_and_no_classification", "tests/test_small_run_script.py::test_fake_scripted_responses_support_requested_article_count", "tests/test_small_run_script.py::test_limit_article_load_uses_first_valid_articles", "tests/test_small_run_script.py::test_live_mode_requires_credentials", "tests/test_small_run_script.py::test_live_mode_requires_openai_provider", "tests/test_small_run_script.py::test_one_line_compacts_tabs_and_newlines", "tests/test_small_run_script.py::test_progress_helpers_print_safe_truncated_output", "tests/test_small_run_script.py::test_review_csv_contains_classification_and_article_level_rows", "tests/test_small_run_script.py::test_review_csv_path_follows_output_dir", "tests/test_small_run_script.py::test_small_run_script_imports_without_live_api_calls", "tests/test_small_run_script.py::test_truncate_title_uses_one_line_and_limit", "tests/test_structured_responses.py::test_empty_candidate_id_rejected", "tests/test_structured_responses.py::test_invalid_confidence_range[-0.01]", "tests/test_structured_responses.py::test_invalid_confidence_range[1.01]", "tests/test_structured_responses.py::test_invalid_term_response_stopping_without_stop_reason[None]", "tests/test_structured_responses.py::test_invalid_term_response_stopping_without_stop_reason[]", "tests/test_structured_responses.py::test_invalid_term_response_with_stop_and_selected[payload0]", "tests/test_structured_responses.py::test_invalid_term_response_with_stop_and_selected[payload1]", "tests/test_structured_responses.py::test_invalid_variable_response_stopping_without_stop_reason[None]", "tests/test_structured_responses.py::test_invalid_variable_response_stopping_without_stop_reason[]", "tests/test_structured_responses.py::test_invalid_variable_response_with_stop_and_selected[payload0]", "tests/test_structured_responses.py::test_invalid_variable_response_with_stop_and_selected[payload1]", "tests/test_structured_responses.py::test_malformed_candidate_decision_rejected", "tests/test_structured_responses.py::test_unknown_fields_rejected", "tests/test_structured_responses.py::test_valid_missing_confidence", "tests/test_structured_responses.py::test_valid_term_response_selecting_candidates", "tests/test_structured_responses.py::test_valid_term_response_stopping_at_parent", "tests/test_structured_responses.py::test_valid_topic_response_with_multiple_selected_candidates", "tests/test_structured_responses.py::test_valid_topic_response_with_no_selected_candidates_and_reason", "tests/test_structured_responses.py::test_valid_topic_response_with_one_selected_candidate", "tests/test_structured_responses.py::test_valid_variable_response_selecting_candidates", "tests/test_structured_responses.py::test_valid_variable_response_stopping_at_parent", "tests/test_term_routing.py::test_candidate_from_sibling_topic_cannot_be_accepted", "tests/test_term_routing.py::test_confidence_is_preserved_as_uncalibrated_metadata_only", "tests/test_term_routing.py::test_duplicate_term_candidate_id_is_rejected", "tests/test_term_routing.py::test_empty_abstract_remains_valid_and_is_passed_to_term_prompt", "tests/test_term_routing.py::test_empty_or_malformed_term_candidate_id_is_rejected_by_structured_validation", "tests/test_term_routing.py::test_fake_model_receives_article_fields_parent_context_and_direct_term_candidates", "tests/test_term_routing.py::test_full_data_current_vocabulary_has_144_direct_term_candidates", "tests/test_term_routing.py::test_invalid_term_candidate_id_is_rejected", "tests/test_term_routing.py::test_manually_invalid_candidate_to_record_mapping_is_rejected", "tests/test_term_routing.py::test_multiple_terms_selected_under_one_topic", "tests/test_term_routing.py::test_no_fake_fallback_term_is_created", "tests/test_term_routing.py::test_no_variable_routing_is_performed", "tests/test_term_routing.py::test_one_term_selected_under_selected_topic", "tests/test_term_routing.py::test_selected_term_branch_seed_is_populated_from_vocabulary_index", "tests/test_term_routing.py::test_selected_topic_with_no_direct_term_children_is_handled_explicitly", "tests/test_term_routing.py::test_stop_at_topic_with_stop_at_parent_true", "tests/test_term_routing.py::test_term_candidate_construction_does_not_hard_code_term_names_or_uuids", "tests/test_term_routing.py::test_term_candidate_ids_are_unique_within_prompt", "tests/test_term_routing.py::test_term_candidate_ids_map_to_uuid_bearing_term_records", "tests/test_term_routing.py::test_term_candidates_are_built_only_from_selected_topic_direct_children", "tests/test_term_routing.py::test_term_router_never_evaluates_all_terms_globally", "tests/test_term_routing.py::test_term_router_uses_provider_neutral_model_interface", "tests/test_term_routing.py::test_term_selected_from_correct_topic_succeeds", "tests/test_term_routing.py::test_terms_from_sibling_topics_are_not_included", "tests/test_term_routing.py::test_topic_with_no_supported_term_returns_stop_at_topic_result", "tests/test_topic_routing.py::test_candidate_construction_does_not_hard_code_topic_names_or_uuids", "tests/test_topic_routing.py::test_candidate_ids_are_unique_and_stable", "tests/test_topic_routing.py::test_confidence_is_preserved_as_uncalibrated_metadata_only", "tests/test_topic_routing.py::test_duplicate_candidate_id_returned_by_model_is_rejected", "tests/test_topic_routing.py::test_empty_abstract_remains_valid_and_is_passed_to_prompt", "tests/test_topic_routing.py::test_empty_or_malformed_candidate_id_rejected_by_structured_schema", "tests/test_topic_routing.py::test_every_topic_candidate_maps_to_uuid_bearing_topic_record", "tests/test_topic_routing.py::test_fake_model_receives_article_fields_and_topic_candidates", "tests/test_topic_routing.py::test_full_data_current_vocabulary_has_14_topic_candidates", "tests/test_topic_routing.py::test_invalid_candidate_id_returned_by_fake_model_is_rejected", "tests/test_topic_routing.py::test_multiple_topic_selection", "tests/test_topic_routing.py::test_no_fake_fallback_topic_is_created", "tests/test_topic_routing.py::test_no_term_or_variable_routing_is_performed", "tests/test_topic_routing.py::test_no_topic_selection_with_reason", "tests/test_topic_routing.py::test_root_category_is_never_included_as_candidate", "tests/test_topic_routing.py::test_selected_topic_branch_seed_is_populated_from_vocabulary_index", "tests/test_topic_routing.py::test_single_topic_selection", "tests/test_topic_routing.py::test_topic_candidates_are_built_from_vocabulary_index", "tests/test_topic_routing.py::test_topic_router_uses_provider_neutral_model_interface", "tests/test_ui.py::test_classification_table_rows_include_only_demo_relevant_fields", "tests/test_ui.py::test_classification_table_rows_include_wide_text_fields", "tests/test_ui.py::test_classified_result_includes_uuid_and_canonical_path", "tests/test_ui.py::test_compact_summary_includes_status_model_and_review_counts", "tests/test_ui.py::test_create_demo_constructs_gradio_interface", "tests/test_ui.py::test_empty_abstract_is_accepted_by_ui_input_path", "tests/test_ui.py::test_errors_and_warnings_are_displayed", "tests/test_ui.py::test_gradio_app_imports_without_gradio_or_api_keys", "tests/test_ui.py::test_no_classification_result_is_formatted_correctly", "tests/test_ui.py::test_prototype_app_remains_unchanged_during_ui_import", "tests/test_ui.py::test_root_app_defines_zerogpu_probe_with_spaces_decorator", "tests/test_ui.py::test_root_app_imports_when_spaces_is_not_installed", "tests/test_ui.py::test_root_app_imports_without_launching_server", "tests/test_ui.py::test_root_app_is_thin_launcher_without_classification_logic", "tests/test_ui.py::test_root_app_launch_uses_spaces_compatible_settings", "tests/test_ui.py::test_root_app_uses_spaces_default_server_settings", "tests/test_ui.py::test_ui_calls_pipeline_service", "tests/test_ui.py::test_ui_module_does_not_classify_or_call_model_at_import_time", "tests/test_validation.py::test_final_concept_under_expected_topic_and_term_succeeds", "tests/test_validation.py::test_full_data_representative_records_pass_validation", "tests/test_validation.py::test_invalid_parent_child_chain_rejected", "tests/test_validation.py::test_invalid_path_components_rejected", "tests/test_validation.py::test_multiple_terminal_outcomes_validate_independently", "tests/test_validation.py::test_nonexistent_uuid_rejected", "tests/test_validation.py::test_rejected_invalid_candidates_do_not_appear_in_accepted_classifications", "tests/test_validation.py::test_root_category_rejected", "tests/test_validation.py::test_selected_variable_level_3_terminal_outcome_can_become_valid_classification", "tests/test_validation.py::test_stop_at_term_terminal_outcome_can_become_valid_term_classification", "tests/test_validation.py::test_stop_at_variable_level_1_terminal_outcome_can_become_valid_classification", "tests/test_validation.py::test_term_level_final_classification_succeeds_from_term_branch", "tests/test_validation.py::test_topic_level_final_classification_succeeds", "tests/test_validation.py::test_uuid_canonical_path_mismatch_rejected", "tests/test_validation.py::test_uuid_level_mismatch_rejected", "tests/test_validation.py::test_uuid_name_mismatch_rejected", "tests/test_validation.py::test_valid_candidate_accepted_and_populated_from_vocabulary_index", "tests/test_validation.py::test_validation_does_not_require_model_call", "tests/test_validation.py::test_variable_level_1_final_classification_succeeds", "tests/test_validation.py::test_variable_level_2_final_classification_succeeds", "tests/test_validation.py::test_variable_level_3_final_classification_succeeds", "tests/test_validation.py::test_wrong_term_membership_rejected", "tests/test_validation.py::test_wrong_topic_membership_rejected", "tests/test_variable_traversal.py::test_child_branch_ids_are_distinct_and_preserve_parent_context", "tests/test_variable_traversal.py::test_confidence_is_preserved_only_as_uncalibrated_metadata", "tests/test_variable_traversal.py::test_duplicate_variable_candidate_id_is_rejected", "tests/test_variable_traversal.py::test_empty_abstract_remains_valid_and_is_passed_to_variable_prompt", "tests/test_variable_traversal.py::test_empty_or_malformed_variable_candidate_id_rejected_by_structured_validation", "tests/test_variable_traversal.py::test_fake_model_receives_article_parent_context_and_direct_variable_candidates", "tests/test_variable_traversal.py::test_full_data_current_variable_candidate_counts_are_direct_children_only", "tests/test_variable_traversal.py::test_grandchildren_are_not_included_before_child_parent_is_selected", "tests/test_variable_traversal.py::test_manually_invalid_candidate_to_record_mapping_is_rejected", "tests/test_variable_traversal.py::test_multiple_selected_descendants_under_one_branch_continue_independently", "tests/test_variable_traversal.py::test_multiple_selected_variable_level_1_children_create_independent_branches", "tests/test_variable_traversal.py::test_no_forced_leaf_descent", "tests/test_variable_traversal.py::test_no_skipped_hierarchy_levels_or_non_direct_descendant_evaluation", "tests/test_variable_traversal.py::test_parent_with_no_direct_children_is_terminal_outcome", "tests/test_variable_traversal.py::test_select_variable_level_3_and_stop_naturally_at_leaf", "tests/test_variable_traversal.py::test_selected_candidate_from_sibling_parent_is_rejected", "tests/test_variable_traversal.py::test_sibling_branch_continuation_after_one_branch_fails", "tests/test_variable_traversal.py::test_sibling_branch_continuation_after_one_branch_stops", "tests/test_variable_traversal.py::test_sibling_branches_are_not_included", "tests/test_variable_traversal.py::test_stop_at_term_when_no_variable_child_supported", "tests/test_variable_traversal.py::test_stop_at_variable_level_1", "tests/test_variable_traversal.py::test_stop_at_variable_level_2", "tests/test_variable_traversal.py::test_terminal_outcome_includes_provenance_and_required_fields", "tests/test_variable_traversal.py::test_unknown_variable_candidate_id_is_rejected", "tests/test_variable_traversal.py::test_variable_candidate_construction_does_not_hard_code_names_or_uuids", "tests/test_variable_traversal.py::test_variable_candidate_ids_are_unique_within_prompt", "tests/test_variable_traversal.py::test_variable_candidate_ids_map_to_uuid_bearing_variable_records", "tests/test_variable_traversal.py::test_variable_candidates_are_built_only_from_current_parent_direct_children", "tests/test_variable_traversal.py::test_variable_descent_uses_provider_neutral_model_interface", "tests/test_vocabulary.py::test_ancestor_and_descendant_checks", "tests/test_vocabulary.py::test_canonical_path_excludes_root_category", "tests/test_vocabulary.py::test_duplicate_canonical_path_detection", "tests/test_vocabulary.py::test_duplicate_uuid_detection", "tests/test_vocabulary.py::test_every_current_topic_and_term_has_uuid", "tests/test_vocabulary.py::test_full_data_smoke_counts_for_current_vocabulary", "tests/test_vocabulary.py::test_identical_names_in_different_branches_are_allowed_when_paths_differ", "tests/test_vocabulary.py::test_invalid_hierarchy_level_transition", "tests/test_vocabulary.py::test_missing_required_fields[level]", "tests/test_vocabulary.py::test_missing_required_fields[name]", "tests/test_vocabulary.py::test_optional_and_missing_definitions", "tests/test_vocabulary.py::test_parent_and_direct_child_lookup", "tests/test_vocabulary.py::test_recursive_traversal_and_variable_depth_branches", "tests/test_vocabulary.py::test_root_category_is_non_assignable_context", "tests/test_vocabulary.py::test_source_file_immutability", "tests/test_vocabulary.py::test_term_to_variable_lookup", "tests/test_vocabulary.py::test_topic_term_and_variable_records_are_assignable", "tests/test_vocabulary.py::test_topic_to_term_lookup", "tests/test_vocabulary.py::test_unexpected_uuidless_non_root_node", "tests/test_vocabulary.py::test_uuid_preservation_and_record_fields", "tests/test_vocabulary.py::test_valid_hierarchy_level_transitions", "tests/test_vocabulary.py::test_vocabulary_file_hash_stability" ]