[
  "tests/agents/test_classifier.py::test_get_classifier_mock",
  "tests/agents/test_classifier.py::test_get_classifier_unknown_raises",
  "tests/agents/test_classifier.py::test_mock_default_accepts",
  "tests/agents/test_classifier.py::test_mock_injected_rejection",
  "tests/agents/test_classifier.py::test_mock_satisfies_protocol",
  "tests/agents/test_factory.py::test_agent_factory_detect_provider_anthropic",
  "tests/agents/test_factory.py::test_agent_factory_detect_provider_no_keys",
  "tests/agents/test_factory.py::test_agent_factory_detect_provider_openai",
  "tests/agents/test_factory.py::test_agent_factory_detect_provider_priority",
  "tests/agents/test_factory.py::test_agent_factory_format_model_string_anthropic",
  "tests/agents/test_factory.py::test_agent_factory_format_model_string_anthropic_with_prefix",
  "tests/agents/test_factory.py::test_agent_factory_format_model_string_gemini",
  "tests/agents/test_factory.py::test_agent_factory_format_model_string_groq",
  "tests/agents/test_factory.py::test_agent_factory_format_model_string_openai",
  "tests/agents/test_factory.py::test_agent_factory_get_available_providers_anthropic",
  "tests/agents/test_factory.py::test_agent_factory_get_available_providers_multiple",
  "tests/agents/test_factory.py::test_agent_factory_get_available_providers_none",
  "tests/agents/test_factory.py::test_agent_factory_init_defaults",
  "tests/agents/test_factory.py::test_agent_factory_init_without_logfire",
  "tests/agents/test_factory.py::test_agent_factory_list_available_models_all",
  "tests/agents/test_factory.py::test_agent_factory_list_available_models_specific_provider",
  "tests/agents/test_factory.py::test_agent_factory_list_available_models_with_known_models",
  "tests/agents/test_factory.py::test_agent_factorydetect_provider_anthropic",
  "tests/agents/test_factory.py::test_agent_factorydetect_provider_no_keys",
  "tests/agents/test_factory.py::test_agent_factorydetect_provider_openai",
  "tests/agents/test_factory.py::test_agent_factorydetect_provider_priority",
  "tests/agents/test_factory.py::test_agent_factoryformat_model_string_anthropic",
  "tests/agents/test_factory.py::test_agent_factoryformat_model_string_anthropic_with_prefix",
  "tests/agents/test_factory.py::test_agent_factoryformat_model_string_gemini",
  "tests/agents/test_factory.py::test_agent_factoryformat_model_string_groq",
  "tests/agents/test_factory.py::test_agent_factoryformat_model_string_openai",
  "tests/agents/test_factory.py::test_default_models_are_registry_valid",
  "tests/agents/test_factory.py::test_model_config_all_providers_have_api_key_vars",
  "tests/agents/test_factory.py::test_model_config_all_providers_have_defaults",
  "tests/agents/test_factory.py::test_model_config_api_key_vars",
  "tests/agents/test_factory.py::test_model_config_default_models",
  "tests/agents/test_factory.py::test_model_config_get_known_models_exception",
  "tests/agents/test_factory.py::test_model_config_get_known_models_from_registry",
  "tests/agents/test_factory.py::test_model_config_get_known_models_maps_gemini_to_google",
  "tests/agents/test_factory.py::test_model_config_get_known_models_no_file",
  "tests/agents/test_factory.py::test_model_provider_enum_iteration",
  "tests/agents/test_factory.py::test_model_provider_enum_values",
  "tests/agents/test_llm_client.py::test_compound_marker_stacks_split_at_the_schema",
  "tests/agents/test_llm_client.py::test_correction_separates_running_text_from_footnotes",
  "tests/agents/test_llm_client.py::test_footnote_def_leading_symbol_lifts_into_marker",
  "tests/agents/test_llm_client.py::test_get_llm_client_mock",
  "tests/agents/test_llm_client.py::test_get_llm_client_unknown_raises",
  "tests/agents/test_llm_client.py::test_mock_client_satisfies_protocol",
  "tests/agents/test_llm_client.py::test_mock_correct_structure_default_passthrough",
  "tests/agents/test_llm_client.py::test_mock_correct_structure_injected",
  "tests/agents/test_llm_client.py::test_mock_count_tables_configurable",
  "tests/agents/test_llm_client.py::test_mock_count_tables_default",
  "tests/agents/test_merger.py::test_get_merger_mock",
  "tests/agents/test_merger.py::test_get_merger_unknown_raises",
  "tests/agents/test_merger.py::test_mock_injected_result_collapses",
  "tests/agents/test_merger.py::test_mock_passthrough_empty_candidates",
  "tests/agents/test_merger.py::test_mock_passthrough_keeps_each_candidate",
  "tests/agents/test_merger.py::test_mock_satisfies_protocol",
  "tests/agents/test_unifier.py::test_get_unifier_mock",
  "tests/agents/test_unifier.py::test_get_unifier_unknown_raises",
  "tests/agents/test_unifier.py::test_mock_injected_result_combines",
  "tests/agents/test_unifier.py::test_mock_passthrough_empty_candidates",
  "tests/agents/test_unifier.py::test_mock_passthrough_keeps_each_candidate",
  "tests/agents/test_unifier.py::test_mock_satisfies_protocol",
  "tests/core/test_camelot_acquire.py::test_assemble_cell_boxes_matches_assembled_cells_shape",
  "tests/core/test_camelot_acquire.py::test_assemble_cell_boxes_none_fills_chunk_without_geometry",
  "tests/core/test_camelot_acquire.py::test_boxes_align_one_to_one",
  "tests/core/test_camelot_acquire.py::test_empty_grid_yields_empty_boxes",
  "tests/core/test_camelot_acquire.py::test_grounded_grid_handles_absent_geometry",
  "tests/core/test_camelot_acquire.py::test_grounded_grid_pairs_text_with_boxes",
  "tests/core/test_camelot_acquire.py::test_grounded_grid_pairs_text_with_normalized_boxes",
  "tests/core/test_camelot_acquire.py::test_missing_raw_positions_fill_none",
  "tests/core/test_camelot_acquire.py::test_none_raw_cells_yields_all_none_shaped_like_grid",
  "tests/core/test_camelot_acquire.py::test_shape_matches_grid_not_raw_when_raw_is_wider",
  "tests/core/test_camelot_correspondence.py::test_a_figure_keys_the_same_however_it_was_rendered",
  "tests/core/test_camelot_correspondence.py::test_a_table_read_off_an_image_is_not_value_checked",
  "tests/core/test_camelot_correspondence.py::test_a_value_neither_the_grid_nor_the_page_carries_is_ungrounded",
  "tests/core/test_camelot_correspondence.py::test_a_value_the_page_carries_is_grounded_even_where_the_grid_missed_it",
  "tests/core/test_camelot_correspondence.py::test_correction_accepts_value_grounded_in_text_layer",
  "tests/core/test_camelot_correspondence.py::test_correction_blanks_invented_placeholder_dash",
  "tests/core/test_camelot_correspondence.py::test_correction_carries_footnote_refs",
  "tests/core/test_camelot_correspondence.py::test_correction_carries_units_attribution",
  "tests/core/test_camelot_correspondence.py::test_correction_failure_falls_back_to_grid",
  "tests/core/test_camelot_correspondence.py::test_correction_footnote_refs_default_empty",
  "tests/core/test_camelot_correspondence.py::test_correction_keeps_printed_nil_dash",
  "tests/core/test_camelot_correspondence.py::test_correction_merges_multirow_header",
  "tests/core/test_camelot_correspondence.py::test_correction_passthrough_marks_not_corrected",
  "tests/core/test_camelot_correspondence.py::test_correction_rejected_on_ungrounded_value",
  "tests/core/test_camelot_correspondence.py::test_correction_skipped_on_empty_grid",
  "tests/core/test_camelot_correspondence.py::test_correction_skipped_when_disabled",
  "tests/core/test_camelot_correspondence.py::test_correction_skipped_when_no_llm",
  "tests/core/test_camelot_correspondence.py::test_correction_skipped_without_page_image",
  "tests/core/test_camelot_correspondence.py::test_correction_units_defaults_empty",
  "tests/core/test_camelot_correspondence.py::test_correction_vets_structure",
  "tests/core/test_camelot_correspondence.py::test_make_extracted_empty_llm_title_falls_back_to_detector",
  "tests/core/test_camelot_correspondence.py::test_make_extracted_with_correction_populates_fields",
  "tests/core/test_camelot_correspondence.py::test_make_extracted_without_correction_uses_grid_defaults",
  "tests/core/test_camelot_pipeline.py::test_is_content_empty_recognizes_empty_shells",
  "tests/core/test_camelot_pipeline.py::test_pipeline_drops_classifier_negatives",
  "tests/core/test_camelot_pipeline.py::test_pipeline_empty_camelot_returns_empty",
  "tests/core/test_camelot_pipeline.py::test_pipeline_filters_empty_shells_before_classify",
  "tests/core/test_camelot_pipeline.py::test_pipeline_no_correction_means_llm_corrected_false",
  "tests/core/test_camelot_pipeline.py::test_pipeline_output_ordered_by_page_then_row",
  "tests/core/test_camelot_pipeline.py::test_pipeline_raises_on_missing_source",
  "tests/core/test_camelot_pipeline.py::test_pipeline_records_llm_corrected_flag",
  "tests/core/test_camelot_pipeline.py::test_pipeline_unifier_sees_camelot_order_despite_classify_completion_order",
  "tests/core/test_camelot_pipeline.py::test_pipeline_unifies_multi_candidate_pages",
  "tests/core/test_camelot_tighten.py::test_empty_text_and_missing_box_pass_through",
  "tests/core/test_camelot_tighten.py::test_glued_currency_sign_unions_across_the_gap",
  "tests/core/test_camelot_tighten.py::test_grid_round_trips_camelot_frame",
  "tests/core/test_camelot_tighten.py::test_multiword_cell_unions_its_words",
  "tests/core/test_camelot_tighten.py::test_superscript_marker_matches_by_tokens",
  "tests/core/test_camelot_tighten.py::test_tightens_to_printed_extent",
  "tests/core/test_camelot_tighten.py::test_typographic_punctuation_folds",
  "tests/core/test_camelot_tighten.py::test_unmatched_cell_clamps_to_contained_ink",
  "tests/core/test_camelot_tighten.py::test_unmatched_text_returns_none",
  "tests/core/test_consolidation.py::test_consolidate_headers_custom_separator",
  "tests/core/test_consolidation.py::test_consolidate_headers_empty",
  "tests/core/test_consolidation.py::test_consolidate_headers_multiple",
  "tests/core/test_consolidation.py::test_consolidate_headers_single",
  "tests/core/test_consolidation.py::test_enhanced_table_parser_init_custom",
  "tests/core/test_consolidation.py::test_enhanced_table_parser_init_defaults",
  "tests/core/test_consolidation.py::test_find_preceding_headers_multiple_same_level",
  "tests/core/test_consolidation.py::test_find_preceding_headers_no_headers",
  "tests/core/test_consolidation.py::test_find_preceding_headers_single_header",
  "tests/core/test_consolidation.py::test_find_preceding_headers_stops_at_different_level",
  "tests/core/test_consolidation.py::test_find_preceding_headers_stops_at_table",
  "tests/core/test_consolidation.py::test_get_preceding_text_multiple_elements",
  "tests/core/test_consolidation.py::test_get_preceding_text_no_elements",
  "tests/core/test_consolidation.py::test_get_preceding_text_respects_limit",
  "tests/core/test_consolidation.py::test_get_preceding_text_single_element",
  "tests/core/test_consolidation.py::test_get_preceding_text_skips_empty",
  "tests/core/test_consolidation.py::test_print_debug_info",
  "tests/core/test_consolidation.py::test_save_metadata",
  "tests/core/test_extractors.py::test_extracted_table_defaults",
  "tests/core/test_extractors.py::test_extracted_table_full",
  "tests/core/test_extractors.py::test_extractor_protocol_isinstance_with_mock",
  "tests/core/test_extractors.py::test_grid_fingerprint_tracks_values",
  "tests/core/test_extractors.py::test_legacy_bare_string_footnotes_load_as_unmarked_notes",
  "tests/core/test_extractors.py::test_mock_extractor_empty_default",
  "tests/core/test_extractors.py::test_mock_extractor_returns_injected_list",
  "tests/core/test_extractors.py::test_table_address_is_deterministic_and_positional",
  "tests/core/test_figure_values.py::test_figure_value_statuses_are_registered",
  "tests/core/test_figure_values.py::test_fragments_in_box_selects_by_overlap",
  "tests/core/test_figure_values.py::test_norm_value_forms",
  "tests/core/test_figure_values.py::test_page_fragments_normalizes_and_skips_blanks",
  "tests/core/test_figure_values.py::test_picture_for_value_nested_figures_take_the_smallest",
  "tests/core/test_figure_values.py::test_picture_for_value_prefers_the_containing_figure",
  "tests/core/test_figure_values.py::test_tie_agreed_value_over_wrong_fragment_is_misread",
  "tests/core/test_figure_values.py::test_tie_agreement_with_containing_fragment_reconciles",
  "tests/core/test_figure_values.py::test_tie_local_only_value_is_unreconciled",
  "tests/core/test_figure_values.py::test_tie_match_without_cited_fragments_is_unreconciled",
  "tests/core/test_figure_values.py::test_tie_repeated_values_resolve_by_count",
  "tests/core/test_figure_values.py::test_tie_scan_only_value_is_unreconciled",
  "tests/core/test_figures.py::test_a_cell_both_readers_agree_on_is_not_asked_about",
  "tests/core/test_figures.py::test_a_cell_the_parse_never_read_is_still_checked",
  "tests/core/test_figures.py::test_a_cell_the_two_readers_differ_on_is_read_off_the_page",
  "tests/core/test_figures.py::test_a_directory_falls_back_to_the_raw_parse",
  "tests/core/test_figures.py::test_a_directory_holding_no_parse_says_what_it_wanted",
  "tests/core/test_figures.py::test_a_directory_resolves_to_the_fused_parse_over_the_raw_one",
  "tests/core/test_figures.py::test_a_dropped_page_still_appears_and_costs_nothing",
  "tests/core/test_figures.py::test_a_failed_reading_leaves_every_cell_as_the_scan_read_it",
  "tests/core/test_figures.py::test_a_figure_carrying_markers_is_read_on_a_page_with_nothing_to_sweep",
  "tests/core/test_figures.py::test_a_figure_over_no_picture_is_surfaced_not_dropped",
  "tests/core/test_figures.py::test_a_figure_takes_the_picture_it_fits_best_not_the_first_one_offered",
  "tests/core/test_figures.py::test_a_figure_with_no_table_block_yields_no_table",
  "tests/core/test_figures.py::test_a_figures_markers_land_on_the_picture_it_was_grafted_onto",
  "tests/core/test_figures.py::test_a_file_is_taken_as_given",
  "tests/core/test_figures.py::test_a_fragment_named_furniture_twice_is_removed_once",
  "tests/core/test_figures.py::test_a_merge_keeps_the_regions_reading_order_position",
  "tests/core/test_figures.py::test_a_nominated_table_the_scan_returned_nothing_over_is_reported",
  "tests/core/test_figures.py::test_a_page_returning_a_figure_and_a_table_reports_the_figure",
  "tests/core/test_figures.py::test_a_page_returning_no_figure_is_recorded_as_scanned_and_empty",
  "tests/core/test_figures.py::test_a_page_the_scan_read_no_figure_on_has_no_candidates",
  "tests/core/test_figures.py::test_a_page_whose_only_figure_was_furniture_reads_as_empty",
  "tests/core/test_figures.py::test_a_page_with_no_charts_leaves_its_pictures_alone",
  "tests/core/test_figures.py::test_a_picture_a_parse_table_already_covers_is_not_a_second_home",
  "tests/core/test_figures.py::test_a_picture_a_table_covers_is_not_reported",
  "tests/core/test_figures.py::test_a_picture_nothing_read_is_reported",
  "tests/core/test_figures.py::test_a_region_the_parse_called_page_furniture_is_dropped",
  "tests/core/test_figures.py::test_a_region_the_two_sides_agree_on_keeps_the_box_the_parse_measured",
  "tests/core/test_figures.py::test_a_returned_table_becomes_a_dense_grid_with_a_box_on_every_cell",
  "tests/core/test_figures.py::test_a_reused_scan_is_not_billed_to_the_run_that_read_it",
  "tests/core/test_figures.py::test_a_scan_that_read_no_cells_leaves_the_parses_reading_standing",
  "tests/core/test_figures.py::test_a_split_keeps_the_regions_reading_order_position",
  "tests/core/test_figures.py::test_a_split_part_gets_its_own_bitmap_cut_from_the_page",
  "tests/core/test_figures.py::test_a_split_without_the_source_keeps_boxes_and_drops_bitmaps",
  "tests/core/test_figures.py::test_a_stacked_marker_group_returned_as_one_string_is_split",
  "tests/core/test_figures.py::test_a_table_nominates_its_page_only_when_the_verdicts_are_given",
  "tests/core/test_figures.py::test_a_table_printed_inside_a_figure_is_read_as_a_table",
  "tests/core/test_figures.py::test_a_table_read_off_the_page_image_nominates_its_page",
  "tests/core/test_figures.py::test_a_table_the_parse_filed_as_a_picture_is_added_beside_it",
  "tests/core/test_figures.py::test_a_tight_box_inside_a_wide_one_is_the_same_cell",
  "tests/core/test_figures.py::test_an_unsplit_picture_keeps_the_bitmap_the_parse_cut",
  "tests/core/test_figures.py::test_chart_text_lands_on_the_picture_the_parse_found",
  "tests/core/test_figures.py::test_every_nominated_page_is_scanned_whatever_its_pictures_are_called",
  "tests/core/test_figures.py::test_figure_becomes_a_chart_record_on_the_source_page",
  "tests/core/test_figures.py::test_markup_inside_a_cell_reads_as_the_text_the_page_prints",
  "tests/core/test_figures.py::test_no_reader_leaves_the_grid_alone",
  "tests/core/test_figures.py::test_nominates_a_page_once_carrying_every_chart_on_it",
  "tests/core/test_figures.py::test_nominates_only_pages_holding_a_chart_class",
  "tests/core/test_figures.py::test_nomination_covers_every_picture_that_is_not_page_furniture",
  "tests/core/test_figures.py::test_nomination_reads_the_deprecated_annotations_shape",
  "tests/core/test_figures.py::test_one_picture_over_two_figures_is_split_into_two",
  "tests/core/test_figures.py::test_only_plain_text_overlapping_a_read_figure_is_a_candidate",
  "tests/core/test_figures.py::test_removed_text_is_recorded_with_its_page_box_and_reason",
  "tests/core/test_figures.py::test_side_by_side_charts_land_on_their_own_pictures",
  "tests/core/test_figures.py::test_the_agent_may_answer_with_neither_reading",
  "tests/core/test_figures.py::test_the_input_parse_is_not_mutated",
  "tests/core/test_figures.py::test_the_notes_the_agent_read_off_the_page_land_on_the_picture",
  "tests/core/test_figures.py::test_the_scans_reading_replaces_the_parses_own_reading_of_the_image",
  "tests/core/test_figures.py::test_the_sweep_switched_off_removes_nothing",
  "tests/core/test_figures.py::test_title_and_note_are_kept_beside_the_charts",
  "tests/core/test_figures.py::test_two_charts_on_one_page_stay_separate",
  "tests/core/test_figures.py::test_two_pictures_the_scan_read_as_one_figure_become_one",
  "tests/core/test_figures.py::test_unclassified_picture_is_nominated",
  "tests/core/test_figures_dpt3.py::test_a_block_with_one_item_gets_no_group",
  "tests/core/test_figures_dpt3.py::test_a_description_only_figure_digests_without_values",
  "tests/core/test_figures_dpt3.py::test_a_dpt2_response_under_a_dpt3_request_is_moved_aside_and_rescanned",
  "tests/core/test_figures_dpt3.py::test_a_dpt3_response_under_a_dpt2_request_is_moved_aside_and_rescanned",
  "tests/core/test_figures_dpt3.py::test_a_failed_page_status_raises_with_the_responses_reason",
  "tests/core/test_figures_dpt3.py::test_a_figure_node_digests_into_kind_description_and_value_table",
  "tests/core/test_figures_dpt3.py::test_a_grid_over_nothing_is_captured_and_inserted_as_a_table",
  "tests/core/test_figures_dpt3.py::test_a_grid_over_parse_text_is_not_an_orphan",
  "tests/core/test_figures_dpt3.py::test_a_group_keeps_the_first_members_reading_order_position",
  "tests/core/test_figures_dpt3.py::test_a_grouped_document_round_trips_through_serialization",
  "tests/core/test_figures_dpt3.py::test_a_marker_no_source_defines_is_flagged_never_dropped",
  "tests/core/test_figures_dpt3.py::test_a_marker_on_two_labels_of_one_figure_resolves_once_and_places_by_either",
  "tests/core/test_figures_dpt3.py::test_a_marker_whose_label_matches_no_value_is_flagged_unplaced",
  "tests/core/test_figures_dpt3.py::test_a_matching_stored_response_is_reused_without_a_scan",
  "tests/core/test_figures_dpt3.py::test_a_note_attaches_to_the_value_its_markers_label_names",
  "tests/core/test_figures_dpt3.py::test_a_note_no_marker_points_at_is_flagged",
  "tests/core/test_figures_dpt3.py::test_a_page_of_only_tables_projects_as_tables_status",
  "tests/core/test_figures_dpt3.py::test_a_previously_asided_response_is_found_again_without_a_scan",
  "tests/core/test_figures_dpt3.py::test_a_recognized_response_with_no_figure_or_table_is_an_empty_page",
  "tests/core/test_figures_dpt3.py::test_a_resolved_note_is_inserted_after_the_picture_in_the_document",
  "tests/core/test_figures_dpt3.py::test_a_scanned_table_nothing_homed_is_flagged_never_silent",
  "tests/core/test_figures_dpt3.py::test_a_scanned_table_over_a_document_table_is_redundancy_not_a_flag",
  "tests/core/test_figures_dpt3.py::test_a_section_marker_resolves_to_a_heading_pointer",
  "tests/core/test_figures_dpt3.py::test_a_spanning_cell_is_written_once_and_covered_positions_stay_blank",
  "tests/core/test_figures_dpt3.py::test_a_stored_dpt3_response_beyond_nomination_is_read",
  "tests/core/test_figures_dpt3.py::test_a_stored_response_in_neither_format_raises",
  "tests/core/test_figures_dpt3.py::test_a_table_node_digests_into_a_dense_grid_with_cell_boxes",
  "tests/core/test_figures_dpt3.py::test_a_table_nodes_cells_are_blocks_and_bind_value_to_label",
  "tests/core/test_figures_dpt3.py::test_agreeing_sources_corroborate_the_note",
  "tests/core/test_figures_dpt3.py::test_an_unmarked_general_note_lands_on_its_figure",
  "tests/core/test_figures_dpt3.py::test_an_unrecognized_format_raises_naming_the_file_and_model",
  "tests/core/test_figures_dpt3.py::test_an_unresolvable_marker_shared_by_two_figures_flags_once",
  "tests/core/test_figures_dpt3.py::test_disagreeing_sources_resolve_with_a_review_flag",
  "tests/core/test_figures_dpt3.py::test_footnote_and_caption_labelled_text_survives_the_graft",
  "tests/core/test_figures_dpt3.py::test_grouping_twice_changes_nothing",
  "tests/core/test_figures_dpt3.py::test_projection_carries_figures_tables_and_context_to_the_page_scan",
  "tests/core/test_figures_dpt3.py::test_real_saved_responses_digest_under_both_generations",
  "tests/core/test_figures_dpt3.py::test_resolving_twice_does_not_double_the_inserted_notes",
  "tests/core/test_figures_dpt3.py::test_scanned_text_groups_under_the_blocks_the_scan_drew",
  "tests/core/test_figures_dpt3.py::test_text_and_page_furniture_digest_into_context",
  "tests/core/test_figures_dpt3.py::test_text_outside_every_block_and_labelled_text_stay_where_they_were",
  "tests/core/test_figures_dpt3.py::test_the_correction_agent_is_briefed_with_the_digested_figures_in_order",
  "tests/core/test_figures_dpt3.py::test_the_documents_own_text_resolves_when_the_agent_read_nothing",
  "tests/core/test_figures_dpt3.py::test_the_grafts_reading_replaces_content_text_under_the_picture",
  "tests/core/test_figures_dpt3.py::test_without_the_orphan_tier_an_unclaimed_grid_stays_unclaimed",
  "tests/core/test_footnote_sharing.py::test_does_not_override_existing_footnote",
  "tests/core/test_footnote_sharing.py::test_does_not_share_unreferenced_marker",
  "tests/core/test_footnote_sharing.py::test_marker_echo_dropped_then_replaced_by_shared",
  "tests/core/test_footnote_sharing.py::test_no_sharing_across_pages",
  "tests/core/test_footnote_sharing.py::test_parenthesized_negatives_are_not_references",
  "tests/core/test_footnote_sharing.py::test_real_footnote_not_dropped_as_echo",
  "tests/core/test_footnote_sharing.py::test_shares_to_referencing_sibling",
  "tests/core/test_footnote_sharing.py::test_symbol_marker_shared",
  "tests/core/test_footnotes.py::test_absorb_lookup_resolves_only_matching_markers",
  "tests/core/test_footnotes.py::test_canonical_marker_equates_renderings",
  "tests/core/test_footnotes.py::test_compound_section_reference_points_at_every_named_heading",
  "tests/core/test_footnotes.py::test_footnote_judged_word_number_marker_falls_back_to_heading_pointer",
  "tests/core/test_footnotes.py::test_in_crop_pair_cut_at_page_break_is_completed_by_the_scan",
  "tests/core/test_footnotes.py::test_in_crop_pair_stands_when_the_scan_line_does_not_extend_it",
  "tests/core/test_footnotes.py::test_in_crop_pairs_resolve_first",
  "tests/core/test_footnotes.py::test_note_reference_resolves_to_pointer_not_text",
  "tests/core/test_footnotes.py::test_note_reference_without_heading_stays_unresolved",
  "tests/core/test_footnotes.py::test_scan_accepts_continuation_block_on_a_later_page",
  "tests/core/test_footnotes.py::test_scan_accepts_same_page_solitary_numeric",
  "tests/core/test_footnotes.py::test_scan_accepts_solitary_symbol_on_a_later_page",
  "tests/core/test_footnotes.py::test_scan_refuses_solitary_numeric_on_distant_page",
  "tests/core/test_footnotes.py::test_section_reference_matches_bare_number_heading",
  "tests/core/test_footnotes.py::test_section_reference_pointer_is_not_note_specific",
  "tests/core/test_footnotes.py::test_section_reference_with_roman_identifier",
  "tests/core/test_footnotes.py::test_section_reference_without_matching_heading_stays_unresolved",
  "tests/core/test_footnotes.py::test_split_leading_marker_shapes",
  "tests/core/test_footnotes.py::test_text_for_matches_by_canonical_key",
  "tests/core/test_footnotes.py::test_unreferenced_marked_definition_is_an_exception_but_unmarked_note_is_not",
  "tests/core/test_fusion.py::test_corrected_cell_boxes_merged_address_and_unique_values",
  "tests/core/test_fusion.py::test_corrected_cell_boxes_refuses_ambiguity_and_double_assignment",
  "tests/core/test_fusion.py::test_corrected_cell_boxes_repeated_value_pinned_by_row_context",
  "tests/core/test_fusion.py::test_corrected_cell_boxes_within_row_duplicates_map_in_order",
  "tests/core/test_fusion.py::test_graft_binds_identity_and_carries_resolved_cell_geometry",
  "tests/core/test_fusion.py::test_graft_binds_identity_and_cell_geometry_into_docling",
  "tests/core/test_fusion.py::test_graft_carries_title_subtitle_units_as_ordered_captions",
  "tests/core/test_fusion.py::test_graft_carries_units_and_footnotes_onto_table",
  "tests/core/test_fusion.py::test_graft_dedup_keeps_in_region_text_the_table_does_not_carry",
  "tests/core/test_fusion.py::test_graft_dedups_in_region_text_keeps_spine",
  "tests/core/test_fusion.py::test_graft_insert_adds_missed_table",
  "tests/core/test_fusion.py::test_graft_insert_empty_body_is_surfaced",
  "tests/core/test_fusion.py::test_graft_no_attribution_when_som_has_none",
  "tests/core/test_fusion.py::test_graft_replace_rebuilds_body_and_keeps_source_pure",
  "tests/core/test_fusion.py::test_graft_rewrites_report_refs_to_unified_numbering",
  "tests/core/test_fusion.py::test_graft_som_miss_surfaced_as_error",
  "tests/core/test_fusion.py::test_markdown_to_table_data_empty",
  "tests/core/test_fusion.py::test_markdown_to_table_data_grid_and_header",
  "tests/core/test_fusion.py::test_markdown_to_table_data_pads_ragged_rows",
  "tests/core/test_fusion.py::test_match_chart_over_picture",
  "tests/core/test_fusion.py::test_match_docling_miss",
  "tests/core/test_fusion.py::test_match_docling_undercount",
  "tests/core/test_fusion.py::test_match_image_table_no_text_layer",
  "tests/core/test_fusion.py::test_match_replace_one_to_one",
  "tests/core/test_fusion.py::test_match_som_merged",
  "tests/core/test_fusion.py::test_match_som_miss_reported",
  "tests/core/test_merge_grounding.py::test_absent_text_is_unlocated_and_all_absent_is_ungrounded",
  "tests/core/test_merge_grounding.py::test_addressed_markdown_prints_the_frame",
  "tests/core/test_merge_grounding.py::test_addressed_markdown_tags_every_nonempty_cell_inline",
  "tests/core/test_merge_grounding.py::test_ambiguous_source_resolves_by_picked_tag",
  "tests/core/test_merge_grounding.py::test_camelot_glued_cell_validates_by_piece_containment",
  "tests/core/test_merge_grounding.py::test_cell_flags_collect_inspect_statuses_with_document_identity",
  "tests/core/test_merge_grounding.py::test_cell_merge_drops_blank_pieces_at_the_schema",
  "tests/core/test_merge_grounding.py::test_classifier_names_every_kind_of_gap",
  "tests/core/test_merge_grounding.py::test_classifier_never_matches_a_token_across_two_cells_seam",
  "tests/core/test_merge_grounding.py::test_column_letters_and_address_parse_roundtrip",
  "tests/core/test_merge_grounding.py::test_corrected_grid_aligns_moved_values_and_merge_addresses",
  "tests/core/test_merge_grounding.py::test_corrected_grid_empty_markdown_returns_empty",
  "tests/core/test_merge_grounding.py::test_corrected_grid_fabricated_placeholder_never_acquires_a_box",
  "tests/core/test_merge_grounding.py::test_corrected_grid_gaps_are_warned_by_address",
  "tests/core/test_merge_grounding.py::test_corrected_grid_maps_identical_twin_rows_in_order",
  "tests/core/test_merge_grounding.py::test_corrected_grid_matches_unreported_cell_joins_by_concatenation",
  "tests/core/test_merge_grounding.py::test_corrected_grid_merges_grid_join_and_gaps",
  "tests/core/test_merge_grounding.py::test_corrected_grid_recovered_text_is_an_honest_gap",
  "tests/core/test_merge_grounding.py::test_corrected_grid_refuses_two_plausible_homes",
  "tests/core/test_merge_grounding.py::test_corrected_grid_repeated_value_pinned_by_row_context",
  "tests/core/test_merge_grounding.py::test_corrected_grid_restructured_header_grounds_from_text_layer",
  "tests/core/test_merge_grounding.py::test_corrected_grid_survives_dropped_columns_and_rows",
  "tests/core/test_merge_grounding.py::test_corrected_grid_tiles_a_label_wrapped_across_grid_rows",
  "tests/core/test_merge_grounding.py::test_corrected_grid_tiles_fragments_of_a_glued_value_cell",
  "tests/core/test_merge_grounding.py::test_corrected_grid_twins_within_a_row_map_left_to_right",
  "tests/core/test_merge_grounding.py::test_corrected_grid_within_row_duplicates_map_in_order_and_never_twice",
  "tests/core/test_merge_grounding.py::test_dropped_header_level_is_warned",
  "tests/core/test_merge_grounding.py::test_dropped_header_text_is_returned_for_flagging",
  "tests/core/test_merge_grounding.py::test_far_point_on_repeated_token_stays_unlocated",
  "tests/core/test_merge_grounding.py::test_glued_piece_grounds_by_result_string",
  "tests/core/test_merge_grounding.py::test_header_merge_citing_a_data_region_source_is_refused",
  "tests/core/test_merge_grounding.py::test_header_stack_closure_boxes_flattened_column_stacks",
  "tests/core/test_merge_grounding.py::test_header_stack_closure_pairs_repeated_bands_in_reading_order",
  "tests/core/test_merge_grounding.py::test_header_stack_closure_span_label_serves_every_column_it_spans",
  "tests/core/test_merge_grounding.py::test_locate_markers_carries_the_kind_judgement",
  "tests/core/test_merge_grounding.py::test_locate_markers_catalogued_but_unreported_marker_is_kept",
  "tests/core/test_merge_grounding.py::test_locate_markers_header_text_marker_places_at_table_scope",
  "tests/core/test_merge_grounding.py::test_locate_markers_marker_stripped_quote_still_places",
  "tests/core/test_merge_grounding.py::test_locate_markers_mid_stack_and_mid_label_quotes_place",
  "tests/core/test_merge_grounding.py::test_locate_markers_quote_places_at_the_quoted_cell",
  "tests/core/test_merge_grounding.py::test_locate_markers_symbol_legend_places_from_its_own_definition",
  "tests/core/test_merge_grounding.py::test_locate_markers_twin_labels_place_on_both",
  "tests/core/test_merge_grounding.py::test_locate_markers_unmatched_quote_is_unplaced",
  "tests/core/test_merge_grounding.py::test_locate_markers_whole_cell_marker_places_itself",
  "tests/core/test_merge_grounding.py::test_locate_markers_whole_cell_symbol_quote_places",
  "tests/core/test_merge_grounding.py::test_long_multiword_source_matches",
  "tests/core/test_merge_grounding.py::test_marker_extended_label_closes_by_stripping_a_catalogued_marker",
  "tests/core/test_merge_grounding.py::test_marker_strip_is_grounded_in_the_catalogued_refs_and_the_grid",
  "tests/core/test_merge_grounding.py::test_merge_addresses_resolve_to_exact_camelot_boxes",
  "tests/core/test_merge_grounding.py::test_mispositioned_merge_report_never_plants_its_box",
  "tests/core/test_merge_grounding.py::test_misread_address_is_refused_by_the_text_check",
  "tests/core/test_merge_grounding.py::test_missing_or_invalid_pick_leaves_source_unlocated",
  "tests/core/test_merge_grounding.py::test_no_merges_returns_empty",
  "tests/core/test_merge_grounding.py::test_parenthesized_value_is_never_consumed_as_a_bare_marker",
  "tests/core/test_merge_grounding.py::test_partially_grounded_merge_never_plants_its_shrunken_union",
  "tests/core/test_merge_grounding.py::test_point_identifying_nothing_stays_unlocated",
  "tests/core/test_merge_grounding.py::test_region_scoping_ignores_other_tables_on_the_page",
  "tests/core/test_merge_grounding.py::test_reordered_cells_align_by_echoed_text",
  "tests/core/test_merge_grounding.py::test_repeated_symbol_disambiguated_by_grid_cell",
  "tests/core/test_merge_grounding.py::test_resolve_merge_boxes_grounds_glued_result_without_vision",
  "tests/core/test_merge_grounding.py::test_resolve_merge_boxes_skips_vision_when_nothing_is_ambiguous",
  "tests/core/test_merge_grounding.py::test_resolve_merge_boxes_tags_and_asks_only_the_ambiguous",
  "tests/core/test_merge_grounding.py::test_resolve_merge_boxes_wires_crop_and_locator",
  "tests/core/test_merge_grounding.py::test_resolved_merge_serializes_with_addresses",
  "tests/core/test_merge_grounding.py::test_result_fallback_never_fires_when_every_piece_is_findable",
  "tests/core/test_merge_grounding.py::test_result_fallback_picks_the_claimed_row_among_repeats",
  "tests/core/test_merge_grounding.py::test_result_fallback_rejects_prose_only_occurrence",
  "tests/core/test_merge_grounding.py::test_result_fallback_rejects_two_row_consistent_occurrences",
  "tests/core/test_merge_grounding.py::test_shared_span_excluded_and_columns_separated",
  "tests/core/test_merge_grounding.py::test_shared_span_grounds_once_for_every_merge",
  "tests/core/test_merge_grounding.py::test_shared_span_highlighted_once_years_separated",
  "tests/core/test_merge_grounding.py::test_single_source_merge_grounds_a_replicated_band_label",
  "tests/core/test_merge_grounding.py::test_sloppy_point_still_identifies_its_nearest_text",
  "tests/core/test_merge_grounding.py::test_span_tiling_keeps_printed_order_for_repeated_fragments",
  "tests/core/test_merge_grounding.py::test_span_tiling_never_matches_a_single_char",
  "tests/core/test_merge_grounding.py::test_status_codes_come_from_the_registry",
  "tests/core/test_merge_grounding.py::test_symbol_rejoin_picks_the_adjacent_dollar",
  "tests/core/test_merge_grounding.py::test_tokens_outside_the_table_are_never_candidates",
  "tests/core/test_merge_grounding.py::test_ungrounded_merges_are_traced_with_addresses",
  "tests/core/test_merge_grounding.py::test_ungrounded_merges_are_warned_by_name",
  "tests/core/test_merge_grounding.py::test_ungrounded_merges_are_warned_with_addresses",
  "tests/core/test_merge_grounding.py::test_unique_pieces_ground_directly_with_no_questions",
  "tests/core/test_merge_grounding.py::test_unlocated_source_is_none_and_all_unlocated_is_ungrounded",
  "tests/core/test_merge_grounding.py::test_unlocated_source_is_partial_and_all_unlocated_is_ungrounded",
  "tests/core/test_merge_grounding.py::test_unpaired_row_closure_boxes_a_cross_section_rebuild",
  "tests/core/test_merge_grounding.py::test_unpaired_row_closure_is_all_or_nothing",
  "tests/core/test_merge_grounding.py::test_unparseable_out_of_bounds_and_blank_addresses_resolve_to_none",
  "tests/core/test_merge_grounding.py::test_unresolvable_source_yields_none_box",
  "tests/core/test_models.py::test_table_metadata_creation",
  "tests/core/test_models.py::test_table_metadata_empty_headers",
  "tests/core/test_models.py::test_table_metadata_equality",
  "tests/core/test_models.py::test_table_metadata_inequality",
  "tests/core/test_models.py::test_table_metadata_large_values",
  "tests/core/test_models.py::test_table_metadata_with_optional_fields",
  "tests/core/test_ocr_well.py::test_bbox_units_follow_dpi",
  "tests/core/test_ocr_well.py::test_document_well_page_lookup",
  "tests/core/test_ocr_well.py::test_fragments_in_box_selects_by_overlap",
  "tests/core/test_page_scope.py::test_all_mode_covers_every_page_and_keeps_nomination_refs",
  "tests/core/test_page_scope.py::test_all_mode_on_a_fully_nominated_document_changes_nothing",
  "tests/core/test_parsers.py::test_docling_parser_is_abstract",
  "tests/core/test_parsers.py::test_legacy_parser_preset",
  "tests/core/test_parsers.py::test_mock_parser_returns_docling_document",
  "tests/core/test_parsers.py::test_mock_parser_returns_injected_document",
  "tests/core/test_parsers.py::test_mock_parser_returns_injected_result",
  "tests/core/test_parsers.py::test_mock_parser_returns_parse_result",
  "tests/core/test_parsers.py::test_parser_for_preset_maps_to_classes",
  "tests/core/test_parsers.py::test_parser_for_preset_rejects_unknown",
  "tests/core/test_parsers.py::test_parser_protocol_isinstance_with_docling",
  "tests/core/test_parsers.py::test_parser_protocol_isinstance_with_mock",
  "tests/core/test_parsers.py::test_preset_pipeline_options_differ",
  "tests/core/test_parsers.py::test_tuned_financial_parser_init_defaults",
  "tests/core/test_recapture.py::test_accepted_retry_replaces_the_candidate",
  "tests/core/test_recapture.py::test_advisor_returning_none_keeps_the_original",
  "tests/core/test_recapture.py::test_disabled_advisor_is_a_pure_noop",
  "tests/core/test_recapture.py::test_dropped_numeric_keys_detects_missing_values",
  "tests/core/test_recapture.py::test_no_drop_short_circuits_without_calling_the_advisor",
  "tests/core/test_recapture.py::test_retry_that_loses_a_value_is_rejected",
  "tests/core/test_recapture.py::test_retry_that_recovers_nothing_is_rejected",
  "tests/core/test_reconcile.py::test_graft_insert_adds_missed_table",
  "tests/core/test_reconcile.py::test_graft_insert_empty_body_is_surfaced",
  "tests/core/test_reconcile.py::test_graft_replace_rebuilds_body_and_keeps_source_pure",
  "tests/core/test_reconcile.py::test_graft_som_miss_surfaced_as_error",
  "tests/core/test_reconcile.py::test_markdown_to_table_data_empty",
  "tests/core/test_reconcile.py::test_markdown_to_table_data_grid_and_header",
  "tests/core/test_reconcile.py::test_markdown_to_table_data_pads_ragged_rows",
  "tests/core/test_reconcile.py::test_match_chart_over_picture",
  "tests/core/test_reconcile.py::test_match_docling_miss",
  "tests/core/test_reconcile.py::test_match_docling_undercount",
  "tests/core/test_reconcile.py::test_match_image_table_no_text_layer",
  "tests/core/test_reconcile.py::test_match_replace_one_to_one",
  "tests/core/test_reconcile.py::test_match_som_merged",
  "tests/core/test_reconcile.py::test_match_som_miss_reported",
  "tests/core/test_set_of_mark_extent.py::test_apply_sets_content_region",
  "tests/core/test_set_of_mark_extent.py::test_apply_skips_table_without_som_region",
  "tests/core/test_set_of_mark_extent.py::test_revise_excludes_footnote_with_unrelated_number",
  "tests/core/test_set_of_mark_extent.py::test_revise_falls_back_when_no_figure_located",
  "tests/core/test_set_of_mark_extent.py::test_revise_falls_back_when_row_not_located",
  "tests/core/test_set_of_mark_extent.py::test_revise_ignores_stacked_sibling_identical_row",
  "tests/core/test_set_of_mark_extent.py::test_revise_keeps_region_when_markdown_empty",
  "tests/core/test_set_of_mark_extent.py::test_revise_keeps_region_when_markdown_has_no_figures",
  "tests/core/test_set_of_mark_extent.py::test_revise_pulls_bottom_to_lowest_figure",
  "tests/core/test_set_of_mark_extent.py::test_revise_pulls_bottom_up_to_last_row",
  "tests/core/test_set_of_mark_extent.py::test_revise_uses_lowest_matched_figure_not_last_markdown_row",
  "tests/core/test_set_of_mark_split.py::test_agreement_on_two_splits_into_two_subregions",
  "tests/core/test_set_of_mark_split.py::test_count_without_matching_boundaries_is_passthrough",
  "tests/core/test_set_of_mark_split.py::test_failed_subregion_reextraction_keeps_fused_region",
  "tests/core/test_set_of_mark_split.py::test_missing_region_is_passthrough",
  "tests/core/test_set_of_mark_split.py::test_missing_source_is_passthrough",
  "tests/core/test_set_of_mark_split.py::test_single_table_count_is_passthrough",
  "tests/core/test_set_of_mark_split.py::test_subdivide_orders_unsorted_boundaries_top_to_bottom",
  "tests/core/test_set_of_mark_split.py::test_subdivide_rejects_boundary_centered_outside_region",
  "tests/core/test_set_of_mark_split.py::test_subdivide_seam_lands_in_the_blank_gap_between_boxes",
  "tests/core/test_set_of_mark_split.py::test_subdivide_tiles_region_into_full_width_bands",
  "tests/core/test_set_of_mark_split.py::test_subdivide_union_equals_original_region",
  "tests/core/test_set_of_mark_split.py::test_units_forward_fill_across_split_siblings",
  "tests/core/test_set_of_mark_split.py::test_vision_disagreement_keeps_camelot",
  "tests/core/test_status_inspection.py::test_cannot_tell_lands_in_unverified_not_defect",
  "tests/core/test_status_inspection.py::test_confirmed_conditions_keep_status_with_evidence",
  "tests/core/test_status_inspection.py::test_contradicted_unmentioned_and_unsettled_conditions_reassign",
  "tests/core/test_status_inspection.py::test_missing_image_downgrades_everything_flagged",
  "tests/core/test_status_inspection.py::test_no_inspector_leaves_proposed_statuses",
  "tests/core/test_status_inspection.py::test_nothing_flagged_makes_no_call",
  "tests/core/test_status_inspection.py::test_refuted_or_unmentioned_conditions_downgrade",
  "tests/core/test_table_parser.py::test_consolidate_headers_custom_separator",
  "tests/core/test_table_parser.py::test_consolidate_headers_empty",
  "tests/core/test_table_parser.py::test_consolidate_headers_multiple",
  "tests/core/test_table_parser.py::test_consolidate_headers_single",
  "tests/core/test_table_parser.py::test_enhanced_table_parser_init_custom",
  "tests/core/test_table_parser.py::test_enhanced_table_parser_init_defaults",
  "tests/core/test_table_parser.py::test_find_preceding_headers_multiple_same_level",
  "tests/core/test_table_parser.py::test_find_preceding_headers_no_headers",
  "tests/core/test_table_parser.py::test_find_preceding_headers_single_header",
  "tests/core/test_table_parser.py::test_find_preceding_headers_stops_at_different_level",
  "tests/core/test_table_parser.py::test_find_preceding_headers_stops_at_table",
  "tests/core/test_table_parser.py::test_get_preceding_text_multiple_elements",
  "tests/core/test_table_parser.py::test_get_preceding_text_no_elements",
  "tests/core/test_table_parser.py::test_get_preceding_text_respects_limit",
  "tests/core/test_table_parser.py::test_get_preceding_text_single_element",
  "tests/core/test_table_parser.py::test_get_preceding_text_skips_empty",
  "tests/core/test_table_parser.py::test_print_debug_info",
  "tests/core/test_table_parser.py::test_save_metadata",
  "tests/core/test_validate.py::test_camelot_counts_by_page",
  "tests/core/test_validate.py::test_validate_detects_mismatch",
  "tests/core/test_validate.py::test_validate_no_mismatch",
  "tests/core/test_validate.py::test_validate_out_of_range_page_reports_error",
  "tests/db/test_connection.py::TestGetDatabaseUrl::test_custom_values",
  "tests/db/test_connection.py::TestGetDatabaseUrl::test_default_values",
  "tests/db/test_connection.py::TestGetDatabaseUrl::test_partial_custom_values",
  "tests/db/test_connection.py::TestGetEngine::test_get_engine_default",
  "tests/db/test_connection.py::TestGetEngine::test_get_engine_with_echo",
  "tests/db/test_connection.py::TestGetSession::test_get_session_success",
  "tests/db/test_connection.py::TestGetSession::test_get_session_with_exception",
  "tests/db/test_connection.py::TestGetSession::test_get_session_with_provided_engine",
  "tests/db/test_connection.py::TestGetSessionFactory::test_get_session_factory_with_engine",
  "tests/db/test_connection.py::TestGetSessionFactory::test_get_session_factory_without_engine",
  "tests/db/test_connection.py::TestInitDb::test_init_db_with_drop_all",
  "tests/db/test_connection.py::TestInitDb::test_init_db_with_engine",
  "tests/db/test_connection.py::TestInitDb::test_init_db_without_engine",
  "tests/db/test_embeddings.py::TestEmbeddingProvider::test_embedding_provider_from_string",
  "tests/db/test_embeddings.py::TestEmbeddingProvider::test_embedding_provider_values",
  "tests/db/test_embeddings.py::TestEmbeddingServiceEmbed::test_embed_empty_list",
  "tests/db/test_embeddings.py::TestEmbeddingServiceEmbed::test_embed_local",
  "tests/db/test_embeddings.py::TestEmbeddingServiceEmbed::test_embed_local_implementation",
  "tests/db/test_embeddings.py::TestEmbeddingServiceEmbed::test_embed_openai",
  "tests/db/test_embeddings.py::TestEmbeddingServiceEmbed::test_embed_openai_implementation",
  "tests/db/test_embeddings.py::TestEmbeddingServiceInit::test_init_with_custom_model_name",
  "tests/db/test_embeddings.py::TestEmbeddingServiceInit::test_init_with_invalid_provider",
  "tests/db/test_embeddings.py::TestEmbeddingServiceInit::test_init_with_local_provider",
  "tests/db/test_embeddings.py::TestEmbeddingServiceInit::test_init_with_openai_provider",
  "tests/db/test_embeddings.py::TestEmbeddingServiceInit::test_init_with_provider_enum",
  "tests/db/test_embeddings.py::TestEmbeddingServiceLocalModel::test_init_local_model_cpu",
  "tests/db/test_embeddings.py::TestEmbeddingServiceLocalModel::test_init_local_model_cuda_available",
  "tests/db/test_embeddings.py::TestEmbeddingServiceLocalModel::test_init_local_model_cuda_not_available",
  "tests/db/test_embeddings.py::TestEmbeddingServiceLocalModel::test_init_local_model_custom_name",
  "tests/db/test_embeddings.py::TestEmbeddingServiceLocalModel::test_init_local_model_missing_dependency",
  "tests/db/test_embeddings.py::TestEmbeddingServiceOpenAI::test_init_openai_client",
  "tests/db/test_embeddings.py::TestEmbeddingServiceOpenAI::test_init_openai_client_large_model",
  "tests/db/test_embeddings.py::TestEmbeddingServiceOpenAI::test_init_openai_missing_api_key",
  "tests/db/test_embeddings.py::TestEmbeddingServiceOpenAI::test_init_openai_missing_dependency",
  "tests/db/test_embeddings.py::TestEmbeddingServiceTableMetadata::test_embed_table_metadata",
  "tests/db/test_embeddings.py::TestGetEmbeddingService::test_get_embedding_service_defaults",
  "tests/db/test_embeddings.py::TestGetEmbeddingService::test_get_embedding_service_from_env",
  "tests/db/test_embeddings.py::TestGetEmbeddingService::test_get_embedding_service_override",
  "tests/db/test_importer.py::TestGetImportStats::test_get_import_stats_empty_db",
  "tests/db/test_importer.py::TestGetImportStats::test_get_import_stats_with_data",
  "tests/db/test_importer.py::TestGetImportStats::test_get_import_stats_with_provided_session",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_custom_pattern",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_multiple_files",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_no_files",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_not_found",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_with_embeddings",
  "tests/db/test_importer.py::TestImportDirectory::test_import_directory_with_errors",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_basic",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_duplicate",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_invalid_date",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_not_found",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_session_error",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_with_embeddings",
  "tests/db/test_importer.py::TestImportJsonFile::test_import_json_file_with_provided_session",
  "tests/db/test_models.py::TestBase::test_base_is_declarative_base",
  "tests/db/test_models.py::TestDocument::test_document_creation",
  "tests/db/test_models.py::TestDocument::test_document_repr",
  "tests/db/test_models.py::TestDocument::test_document_table_name",
  "tests/db/test_models.py::TestDocument::test_document_tables_relationship",
  "tests/db/test_models.py::TestDocument::test_document_with_defaults",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_creation",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_document_relationship",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_repr",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_table_name",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_unique_constraint",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_with_embeddings",
  "tests/db/test_models.py::TestExtractedTable::test_extracted_table_with_minimal_fields",
  "tests/playground/test_batch.py::test_a_non_retryable_error_is_not_retried",
  "tests/playground/test_batch.py::test_a_question_that_fails_becomes_a_row_carrying_its_error",
  "tests/playground/test_batch.py::test_eviction_past_the_cap_reports_the_run_as_gone",
  "tests/playground/test_batch.py::test_parse_questions_one_per_line_blanks_dropped_duplicates_kept",
  "tests/playground/test_batch.py::test_retry_on_overload_then_success",
  "tests/playground/test_batch.py::test_row_events_carry_index_total_and_the_row_itself",
  "tests/playground/test_batch.py::test_rows_land_per_question_and_state_reports_them",
  "tests/playground/test_batch.py::test_running_for_reports_only_in_flight_runs_for_that_document",
  "tests/playground/test_batch.py::test_running_for_reports_only_in_flight_runs_for_that_slug",
  "tests/playground/test_batch.py::test_starting_outside_a_loop_raises",
  "tests/playground/test_batch.py::test_subscribing_to_a_finished_run_yields_done_immediately",
  "tests/playground/test_db_integration.py::test_cell_index_over_the_real_corpus",
  "tests/playground/test_db_integration.py::test_cited_cell_suppresses_its_line_record",
  "tests/playground/test_db_integration.py::test_fused_window_over_the_real_corpus",
  "tests/playground/test_db_integration.py::test_reference_resolution_against_known_cited_ids",
  "tests/playground/test_document.py::test_every_answer_path_opens_with_the_document",
  "tests/playground/test_document.py::test_header_lists_the_row_fields_in_order",
  "tests/playground/test_document.py::test_missing_fields_are_left_out",
  "tests/playground/test_document.py::test_no_document_leaves_the_prompt_unchanged",
  "tests/playground/test_document.py::test_paths_still_work_without_a_document",
  "tests/playground/test_expectation.py::test_prose_maps_to_prose_payload",
  "tests/playground/test_expectation.py::test_prose_not_found_without_text_becomes_unanswerable",
  "tests/playground/test_expectation.py::test_prose_with_text_keeps_text_even_when_not_found_is_set",
  "tests/playground/test_expectation.py::test_scalar_maps_to_scalar_payload",
  "tests/playground/test_expectation.py::test_scalar_not_found_becomes_unanswerable",
  "tests/playground/test_export.py::test_csv_quoting_and_prefixing",
  "tests/playground/test_export.py::test_percent_format_mirrors_printed_precision",
  "tests/playground/test_export.py::test_rows_carry_provenance_and_review_flag",
  "tests/playground/test_export.py::test_xlsx_read_back",
  "tests/playground/test_figures.py::test_as_number[$ (10,550)-expected2]",
  "tests/playground/test_figures.py::test_as_number[$(10,550)-expected3]",
  "tests/playground/test_figures.py::test_as_number[$1.2 million-expected10]",
  "tests/playground/test_figures.py::test_as_number[$14.47-expected4]",
  "tests/playground/test_figures.py::test_as_number[$241.4M-expected11]",
  "tests/playground/test_figures.py::test_as_number[(0.02)-expected1]",
  "tests/playground/test_figures.py::test_as_number[(21,914)-expected0]",
  "tests/playground/test_figures.py::test_as_number[-4.5%-expected13]",
  "tests/playground/test_figures.py::test_as_number[1,234,567-expected5]",
  "tests/playground/test_figures.py::test_as_number[3.1bn-expected12]",
  "tests/playground/test_figures.py::test_as_number[4.6x-expected9]",
  "tests/playground/test_figures.py::test_as_number[6.7 %-expected7]",
  "tests/playground/test_figures.py::test_as_number[65%-expected8]",
  "tests/playground/test_figures.py::test_as_number[92.6%-expected6]",
  "tests/playground/test_figures.py::test_is_percent_reads_notation_not_magnitude[-False]",
  "tests/playground/test_figures.py::test_is_percent_reads_notation_not_magnitude[6.7 %-True]",
  "tests/playground/test_figures.py::test_is_percent_reads_notation_not_magnitude[6.7-False]",
  "tests/playground/test_figures.py::test_is_percent_reads_notation_not_magnitude[92.6%-True]",
  "tests/playground/test_figures.py::test_is_percent_reads_notation_not_magnitude[None-False]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[1-2]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[None]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[USD]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[\\u2014]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[n/a]",
  "tests/playground/test_figures.py::test_non_numeric_returns_none_rather_than_guessing[not disclosed]",
  "tests/playground/test_figures.py::test_norm_printed_collapses_whitespace",
  "tests/playground/test_metadata.py::test_annotate_overlaps_flags_versionless_tuple_sharers_only",
  "tests/playground/test_metadata.py::test_export_stem_falls_back_down_the_precedence",
  "tests/playground/test_metadata.py::test_filing_label_omits_missing_parts",
  "tests/playground/test_metadata.py::test_infer[3M_2018_10K.pdf-10-K-2018-FY]",
  "tests/playground/test_metadata.py::test_infer[Ladder-Capital-Investor-Presentation-2026-07-23.pdf-99-2-2026-None]",
  "tests/playground/test_metadata.py::test_infer[SEVN_Q126_10Q.pdf-10-Q-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer[acr-1q2026-earnings-presentation-final.pdf-99-2-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer[brsp-full-year-2025-results.pdf-99-2-2025-FY]",
  "tests/playground/test_metadata.py::test_infer[brsp-full-year-2025-results.pdf-None-2025-FY]",
  "tests/playground/test_metadata.py::test_infer[first-half-2026-update.pdf-None-2026-H1]",
  "tests/playground/test_metadata.py::test_infer[kref-q1-26-earnings-release.pdf-99-2-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer[kref-q2-26-10.pdf-None-2026-Q2]",
  "tests/playground/test_metadata.py::test_infer[kref-q2-26-supplemental.pdf-99-2-2026-Q2]",
  "tests/playground/test_metadata.py::test_infer[lft-2026q1-supplemental.pdf-99-2-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer[sevn-q2-2026-press-release.pdf-99-1-2026-Q2]",
  "tests/playground/test_metadata.py::test_infer[statement.pdf-None-None-None]",
  "tests/playground/test_metadata.py::test_infer[visa-991-q126.pdf-99-1-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer[visa-991-q126.pdf-None-2026-Q1]",
  "tests/playground/test_metadata.py::test_infer_strips_directory_and_uri_prefixes",
  "tests/playground/test_metadata.py::test_js_twin_agrees_on_every_case",
  "tests/playground/test_metadata.py::test_overlap_key_excludes_the_version",
  "tests/playground/test_metadata.py::test_tuple_key_needs_all_three_and_compares_case_insensitively",
  "tests/playground/test_planned.py::test_cited_ids_and_not_found_appended_to_every_model",
  "tests/playground/test_planned.py::test_declared_collision_loses_to_the_appended_field",
  "tests/playground/test_planned.py::test_each_declared_field_type",
  "tests/playground/test_planned.py::test_required_against_optional",
  "tests/playground/test_reference_order.py::test_payloads_without_source_keep_citation_order",
  "tests/playground/test_reference_order.py::test_source_cell_moves_to_front",
  "tests/playground/test_reference_order.py::test_uncited_source_is_prepended",
  "tests/playground/test_references.py::test_every_registry_label_reads_as_a_sentence",
  "tests/playground/test_references.py::test_label_never_carries_the_status_code",
  "tests/playground/test_references.py::test_misread_names_both_figures",
  "tests/playground/test_references.py::test_misread_reads_the_fragment_shape_too",
  "tests/playground/test_references.py::test_misread_without_a_parsable_note_falls_back_to_the_label",
  "tests/playground/test_references.py::test_no_status_means_no_reason",
  "tests/playground/test_references.py::test_reason_is_the_registry_label",
  "tests/playground/test_retrieval.py::test_cap_keeps_two_line_records_per_parent_in_order",
  "tests/playground/test_retrieval.py::test_non_line_records_pass_through",
  "tests/playground/test_retrieval.py::test_whole_table_chunk_is_never_capped",
  "tests/playground/test_run_shapes.py::test_gold_found_in_prose_as_printed_and_as_number",
  "tests/playground/test_run_shapes.py::test_looks_like_prose",
  "tests/playground/test_run_shapes.py::test_sentence_full_stop_does_not_join_a_token",
  "tests/playground/test_run_shapes.py::test_values_agree_exact_and_numeric",
  "tests/playground/test_scan_breadth.py::test_any_other_explicit_type_scans_all_pages",
  "tests/playground/test_scan_breadth.py::test_attribution_failure_falls_back_to_nominated_and_says_so",
  "tests/playground/test_scan_breadth.py::test_box_containment_predicate",
  "tests/playground/test_scan_breadth.py::test_typed_big_filing_stays_nominated",
  "tests/playground/test_scan_breadth.py::test_typed_filing_type_is_case_insensitive",
  "tests/playground/test_scan_breadth.py::test_untyped_filing_attribution_stays_nominated",
  "tests/playground/test_scan_breadth.py::test_untyped_presentation_attribution_scans_all_pages",
  "tests/playground/test_shapes.py::test_number_serializes_with_the_model",
  "tests/playground/test_shapes.py::test_point_number_reads_like_a_scalar",
  "tests/playground/test_shapes.py::test_scalar_number_follows_value",
  "tests/playground/test_shapes.py::test_unanswerable_is_not_a_zero_scalar",
  "tests/playground/test_shapes.py::test_union_discriminates_on_kind",
  "tests/playground/test_unanchored_values.py::test_anchored_values_produce_no_record",
  "tests/playground/test_unanchored_values.py::test_page_without_heading_gets_bare_lines",
  "tests/playground/test_unanchored_values.py::test_record_never_carries_a_box_even_when_its_values_do",
  "tests/playground/test_unanchored_values.py::test_unanchored_values_group_into_one_record_per_page",
  "tests/playground/test_verify_gold.py::test_disagreeing_gold_is_dropped_not_corrected",
  "tests/playground/test_verify_gold.py::test_matching_gold_is_kept_with_occurrence_count",
  "tests/playground/test_verify_gold.py::test_missing_cell_is_dropped",
  "tests/playground/test_verify_gold.py::test_occurrences_counts_cells_not_chunks",
  "tests/playground/test_verify_gold.py::test_tagged_cells_strip_markup_and_keep_ids",
  "tests/processors/test_table_inference.py::TestExecutiveSummary::test_executive_summary_creation",
  "tests/processors/test_table_inference.py::TestExtractPageContext::test_extract_page_context",
  "tests/processors/test_table_inference.py::TestExtractPageContext::test_extract_page_context_includes_previous_page_tail",
  "tests/processors/test_table_inference.py::TestExtractPageContext::test_extract_page_context_no_content",
  "tests/processors/test_table_inference.py::TestTableContext::test_table_context_creation",
  "tests/processors/test_table_inference.py::TestTableContext::test_table_context_optional_fields",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorHelpers::test_format_prompt",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorHelpers::test_get_table_preview",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorHelpers::test_get_table_preview_empty",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorInit::test_init_with_custom_parameters",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorInit::test_init_with_defaults",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorSaveMethods::test_save_json",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorSaveMethods::test_save_summary",
  "tests/processors/test_table_inference.py::TestTableInferenceProcessorSaveMethods::test_save_summary_content",
  "tests/processors/test_table_inference.py::TestTableInfo::test_table_info_creation",
  "tests/prompts/test_loader.py::test_load_prompt_custom_prompts_dir",
  "tests/prompts/test_loader.py::test_load_prompt_default_prompts_dir",
  "tests/prompts/test_loader.py::test_load_prompt_empty_content_raises_error",
  "tests/prompts/test_loader.py::test_load_prompt_file_not_found",
  "tests/prompts/test_loader.py::test_load_prompt_invalid_toml_structure",
  "tests/prompts/test_loader.py::test_load_prompt_key_not_found",
  "tests/prompts/test_loader.py::test_load_prompt_missing_text_field",
  "tests/prompts/test_loader.py::test_load_prompt_multiline_content",
  "tests/prompts/test_loader.py::test_load_prompt_multiple_keys",
  "tests/prompts/test_loader.py::test_load_prompt_returns_non_empty_string",
  "tests/prompts/test_loader.py::test_load_prompt_strips_whitespace",
  "tests/prompts/test_loader.py::test_load_prompt_system_key",
  "tests/review/test_review_artifacts.py::test_before_b64_box_and_crop_use_separate_regions",
  "tests/review/test_review_artifacts.py::test_render_flags_html_highlights_flagged_cells",
  "tests/review/test_review_artifacts.py::test_render_flags_html_shows_every_flagged_decision",
  "tests/review/test_review_artifacts.py::test_render_flags_html_writes_nothing_without_flagged_cells",
  "tests/review/test_review_artifacts.py::test_render_flags_html_writes_nothing_without_flagged_decisions",
  "tests/test_cli.py::test_analyze_default_options",
  "tests/test_cli.py::test_analyze_help",
  "tests/test_cli.py::test_analyze_invalid_provider",
  "tests/test_cli.py::test_analyze_missing_pdf_path",
  "tests/test_cli.py::test_batch_default_options",
  "tests/test_cli.py::test_batch_help",
  "tests/test_cli.py::test_batch_missing_directory",
  "tests/test_cli.py::test_batch_nonexistent_directory",
  "tests/test_cli.py::test_cli_has_three_commands",
  "tests/test_cli.py::test_cli_help",
  "tests/test_cli.py::test_cli_version",
  "tests/test_cli.py::test_document_and_table_in_root_help",
  "tests/test_cli.py::test_document_help_matches_parse",
  "tests/test_cli.py::test_document_is_alias_of_parse",
  "tests/test_cli.py::test_models_command_basic",
  "tests/test_cli.py::test_models_command_no_api_keys",
  "tests/test_cli.py::test_models_command_specific_provider",
  "tests/test_cli.py::test_models_command_truncates_long_list",
  "tests/test_cli.py::test_models_command_with_all_flag",
  "tests/test_cli.py::test_models_help",
  "tests/test_cli.py::test_models_truncates_long_model_names",
  "tests/test_cli.py::test_table_help_matches_extract",
  "tests/test_cli.py::test_table_is_alias_of_extract",
  "tests/test_completeness.py::test_bottom_edge_drop_tmus_p24_is_flagged",
  "tests/test_completeness.py::test_bottom_edge_drop_visa_p4_is_flagged",
  "tests/test_completeness.py::test_infer_columns_finds_two_numeric_columns",
  "tests/test_completeness.py::test_numeric_grid_columns_identifies_value_columns",
  "tests/test_completeness.py::test_present_values_within_span_are_not_flagged",
  "tests/test_completeness.py::test_repair_box_drops_phantom_far_from_any_band",
  "tests/test_completeness.py::test_repair_box_pulls_offset_box_up_to_nearby_band",
  "tests/test_completeness.py::test_repair_box_returns_none_for_phantom_far_from_any_band",
  "tests/test_completeness.py::test_repair_box_snaps_overlapping_box_to_band",
  "tests/test_completeness.py::test_round_off_appends_bottom_row_with_values_in_columns",
  "tests/test_completeness.py::test_round_off_grid_appends_new_row_when_no_label_match",
  "tests/test_completeness.py::test_round_off_grid_does_not_overwrite_existing_camelot_value",
  "tests/test_completeness.py::test_round_off_grid_duplicate_label_appends_not_fills_full_row",
  "tests/test_completeness.py::test_round_off_grid_fills_existing_row_in_place_no_duplicate",
  "tests/test_completeness.py::test_round_off_grid_threads_boxes_in_place_fill_clears_filled_cell",
  "tests/test_completeness.py::test_round_off_grid_threads_boxes_inserted_row_is_none_filled",
  "tests/test_completeness.py::test_round_off_grid_without_boxes_returns_none_box_grid",
  "tests/test_completeness.py::test_round_off_inserts_top_row_at_top",
  "tests/test_completeness.py::test_round_off_then_reaudit_is_complete",
  "tests/test_completeness.py::test_stacked_neighbor_values_are_not_flagged_visa_p1",
  "tests/test_completeness.py::test_tabular_bands_finds_data_band_excludes_prose",
  "tests/test_completeness.py::test_value_tokens_keeps_figures_and_drops_years_days_markers",
  "tests/test_dual_flow.py::test_camelot_flow_tags_verdict_and_never_drops_on_it",
  "tests/test_dual_flow.py::test_camelot_flow_without_classifier_leaves_untagged",
  "tests/test_dual_flow.py::test_dualresult_page_counts",
  "tests/test_dual_flow.py::test_vision_flow_maps_located_to_per_page_tables",
  "tests/test_grid_locator.py::test_blank_column_bands_ignore_a_prose_row_crossing_them",
  "tests/test_grid_locator.py::test_blank_column_bands_none_inside_one_table",
  "tests/test_grid_locator.py::test_col_span_overlap_classifies_stacked_vs_side_by_side",
  "tests/test_grid_locator.py::test_column_labels_and_index",
  "tests/test_grid_locator.py::test_declash_leaves_side_by_side_pair_untouched",
  "tests/test_grid_locator.py::test_declash_no_op_when_disjoint",
  "tests/test_grid_locator.py::test_declash_pulls_upper_bottom_off_lower_top",
  "tests/test_grid_locator.py::test_declash_seam_anchors_above_lower_title",
  "tests/test_grid_locator.py::test_declash_seam_lands_in_blank_band_between_tables",
  "tests/test_grid_locator.py::test_declash_side_by_side_leaves_stacked_and_separated_pairs_alone",
  "tests/test_grid_locator.py::test_declash_side_by_side_snaps_the_shared_edge_column_to_the_blank_column",
  "tests/test_grid_locator.py::test_flags_to_located_side_by_side_share_rows",
  "tests/test_grid_locator.py::test_flags_to_located_stacked_are_not_shared",
  "tests/test_grid_locator.py::test_grid_region_norm_clamps_to_unit_square",
  "tests/test_grid_locator.py::test_grid_region_norm_maps_rows_and_cols",
  "tests/test_grid_locator.py::test_is_transient_llm_error_by_class_name",
  "tests/test_grid_locator.py::test_is_transient_llm_error_by_status",
  "tests/test_grid_locator.py::test_pad_boxes_grows_and_clamps",
  "tests/test_grid_locator.py::test_prompt_counts_side_by_side_tables_separately",
  "tests/test_grid_locator.py::test_run_locator_non_transient_raises_immediately",
  "tests/test_grid_locator.py::test_run_locator_raises_after_budget_never_silent",
  "tests/test_grid_locator.py::test_run_locator_retries_transient_then_succeeds",
  "tests/test_grid_locator.py::test_stub_column_follows_reads_labels_not_figures",
  "tests/test_grid_locator.py::test_tighten_alone_recovers_clipped_label_column",
  "tests/test_grid_locator.py::test_tighten_no_text_returns_none",
  "tests/test_grid_locator.py::test_tighten_side_by_side_stays_within_columns",
  "tests/test_grid_locator.py::test_x_overlap_fraction_classifies_stacked_vs_side_by_side",
  "tests/test_s3_cache.py::test_evict_missing_dir_is_noop",
  "tests/test_s3_cache.py::test_evict_removes_only_stale_files",
  "tests/test_s3_cache.py::test_import_quber_is_credential_free",
  "tests/test_s3_cache.py::test_resolve_artifacts_local_passthrough",
  "tests/test_s3_cache.py::test_resolve_artifacts_requires_filenames",
  "tests/test_s3_cache.py::test_resolve_artifacts_s3_materializes_each_named_file",
  "tests/test_s3_cache.py::test_resolve_document_local_passthrough",
  "tests/test_settings.py::test_anthropic_model_legacy_alias_for_llm_model",
  "tests/test_settings.py::test_aws_region_alias_for_s3_region",
  "tests/test_settings.py::test_db_defaults_match_legacy",
  "tests/test_settings.py::test_embedding_defaults",
  "tests/test_settings.py::test_flat_env_names_populate_db",
  "tests/test_settings.py::test_flat_env_names_populate_llm",
  "tests/test_settings.py::test_get_settings_is_cached",
  "tests/test_settings.py::test_llm_defaults",
  "tests/test_settings.py::test_logfire_canonical_wins_over_legacy",
  "tests/test_settings.py::test_logfire_legacy_alias",
  "tests/test_settings.py::test_observability_defaults",
  "tests/test_settings.py::test_root_defaults",
  "tests/test_settings.py::test_root_nests_all_groups",
  "tests/test_settings.py::test_s3_cache_defaults_match_legacy",
  "tests/test_settings.py::test_trace_to_langsmith_falsey_tokens[0]",
  "tests/test_settings.py::test_trace_to_langsmith_falsey_tokens[]",
  "tests/test_settings.py::test_trace_to_langsmith_falsey_tokens[false]",
  "tests/test_settings.py::test_trace_to_langsmith_falsey_tokens[no]",
  "tests/test_settings.py::test_trace_to_langsmith_falsey_tokens[off]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[1]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[On]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[TRUE]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[Yes]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[on]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[true]",
  "tests/test_settings.py::test_trace_to_langsmith_truthy_tokens[yes]",
  "tests/utils/test_config.py::test_config_custom_paths",
  "tests/utils/test_config.py::test_config_defaults",
  "tests/utils/test_config.py::test_config_get_api_key_anthropic",
  "tests/utils/test_config.py::test_config_get_api_key_gemini",
  "tests/utils/test_config.py::test_config_get_api_key_groq",
  "tests/utils/test_config.py::test_config_get_api_key_none_when_not_set",
  "tests/utils/test_config.py::test_config_get_api_key_openai",
  "tests/utils/test_config.py::test_config_get_api_key_unknown_provider",
  "tests/utils/test_config.py::test_config_load_from_environment",
  "tests/utils/test_config.py::test_config_load_with_custom_env_file",
  "tests/utils/test_config.py::test_config_path_types",
  "tests/utils/test_config.py::test_config_to_dict",
  "tests/utils/test_config.py::test_config_to_dict_excludes_none",
  "tests/utils/test_config.py::test_config_to_dict_includes_set_values",
  "tests/utils/test_config.py::test_config_with_custom_values",
  "tests/utils/test_logging.py::test_get_logger_returns_loguru_instance",
  "tests/utils/test_logging.py::test_get_logger_with_name",
  "tests/utils/test_logging.py::test_get_logger_without_name",
  "tests/utils/test_logging.py::test_setup_logging_basic",
  "tests/utils/test_logging.py::test_setup_logging_custom_log_level",
  "tests/utils/test_logging.py::test_setup_logging_custom_service_name",
  "tests/utils/test_logging.py::test_setup_logging_logfire_exception",
  "tests/utils/test_logging.py::test_setup_logging_multiple_calls",
  "tests/utils/test_logging.py::test_setup_logging_no_suppress_external",
  "tests/utils/test_logging.py::test_setup_logging_suppress_external",
  "tests/utils/test_logging.py::test_setup_logging_with_logfire_debug_mode",
  "tests/utils/test_logging.py::test_setup_logging_with_logfire_token",
  "tests/utils/test_logging.py::test_setup_logging_without_logfire_token"
]