Coverage report: 80%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-12 09:48 +0000

File function   statements missing excluded   coverage
src / qdrant_loader_mcp_server / __init__.py (no function)   0 0 0   100%
src / qdrant_loader_mcp_server / __main__.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / cli.py _setup_logging   19 6 0   68%
src / qdrant_loader_mcp_server / cli.py read_stdin_lines   6 0 0   100%
src / qdrant_loader_mcp_server / cli.py shutdown   9 0 0   100%
src / qdrant_loader_mcp_server / cli.py start_http_server   49 49 0   0%
src / qdrant_loader_mcp_server / cli.py start_http_server.shutdown_monitor   43 43 0   0%
src / qdrant_loader_mcp_server / cli.py handle_stdio   75 15 0   80%
src / qdrant_loader_mcp_server / cli.py cli   78 45 0   42%
src / qdrant_loader_mcp_server / cli.py cli.signal_handler   2 2 0   0%
src / qdrant_loader_mcp_server / cli.py (no function)   38 1 0   97%
src / qdrant_loader_mcp_server / config.py parse_bool_env   9 6 0   33%
src / qdrant_loader_mcp_server / config.py parse_int_env   12 9 0   25%
src / qdrant_loader_mcp_server / config.py parse_float_env   12 9 0   25%
src / qdrant_loader_mcp_server / config.py QdrantConfig.__init__   7 0 0   100%
src / qdrant_loader_mcp_server / config.py SearchConfig.__init__   34 0 0   100%
src / qdrant_loader_mcp_server / config.py SearchConfig.__init__._get_env_dict   12 9 0   25%
src / qdrant_loader_mcp_server / config.py (no function)   49 0 0   100%
src / qdrant_loader_mcp_server / config_loader.py _first_existing   4 1 0   75%
src / qdrant_loader_mcp_server / config_loader.py resolve_config_path   9 1 0   89%
src / qdrant_loader_mcp_server / config_loader.py _get_section   1 0 0   100%
src / qdrant_loader_mcp_server / config_loader.py _overlay_env_llm   14 6 0   57%
src / qdrant_loader_mcp_server / config_loader.py _overlay_env_qdrant   6 0 0   100%
src / qdrant_loader_mcp_server / config_loader.py _overlay_env_search   5 3 0   40%
src / qdrant_loader_mcp_server / config_loader.py load_file_config   2 2 0   0%
src / qdrant_loader_mcp_server / config_loader.py build_config_from_dict   20 3 0   85%
src / qdrant_loader_mcp_server / config_loader.py redact_effective_config   2 0 0   100%
src / qdrant_loader_mcp_server / config_loader.py redact_effective_config._redact   10 3 0   70%
src / qdrant_loader_mcp_server / config_loader.py load_config   18 10 0   44%
src / qdrant_loader_mcp_server / config_loader.py (no function)   18 0 0   100%
src / qdrant_loader_mcp_server / main.py main   1 0 0   100%
src / qdrant_loader_mcp_server / main.py (no function)   4 1 0   75%
src / qdrant_loader_mcp_server / mcp / __init__.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / __init__.py (no function)   42 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / basic.py BasicResultFormatters._format_common_fields   33 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / basic.py BasicResultFormatters.format_search_result   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / basic.py BasicResultFormatters.format_attachment_search_result   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / basic.py BasicResultFormatters.format_hierarchical_results   16 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / basic.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py IntelligenceResultFormatters.format_relationship_analysis   51 7 0   86%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py IntelligenceResultFormatters.format_similar_documents   47 13 0   72%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py IntelligenceResultFormatters.format_conflict_analysis   35 5 0   86%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py IntelligenceResultFormatters.format_complementary_content   26 3 0   88%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py IntelligenceResultFormatters.format_document_clusters   64 9 0   86%
src / qdrant_loader_mcp_server / mcp / formatters / intelligence.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_similar_documents_results   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_conflict_results   10 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_cluster_results   6 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_hierarchy_results   12 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_complementary_results   8 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py LightweightResultFormatters.create_lightweight_attachment_results   10 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / lightweight.py (no function)   16 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py StructuredResultFormatters.create_structured_search_results   10 2 0   80%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py StructuredResultFormatters.create_structured_hierarchy_results   22 22 0   0%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py StructuredResultFormatters.create_structured_hierarchy_results.attach_children_iterative   17 17 0   0%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py StructuredResultFormatters.create_structured_attachment_results   24 2 0   92%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py StructuredResultFormatters.create_structured_attachment_results._normalized_text   6 2 0   67%
src / qdrant_loader_mcp_server / mcp / formatters / structured.py (no function)   13 2 0   85%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_minimal_doc_fields   10 2 0   80%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_conflicting_statements   8 3 0   62%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.generate_clean_group_name   12 4 0   67%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.get_group_key   10 6 0   40%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.count_siblings   8 8 0   0%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_synthetic_depth   8 3 0   62%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_synthetic_parent_id   10 3 0   70%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_synthetic_parent_title   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_synthetic_breadcrumb   13 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_has_children   4 2 0   50%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_children_count   7 7 0   0%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_safe_filename   8 2 0   75%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_file_type_minimal   22 8 0   64%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.organize_attachments_by_type   13 0 0   100%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.get_attachment_group_key   10 3 0   70%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.generate_friendly_group_name   8 1 0   88%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.generate_conflict_resolution_suggestion   12 9 0   25%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py FormatterUtils.extract_affected_sections   22 22 0   0%
src / qdrant_loader_mcp_server / mcp / formatters / utils.py (no function)   39 0 0   100%
src / qdrant_loader_mcp_server / mcp / handler.py MCPHandler.__init__   6 0 0   100%
src / qdrant_loader_mcp_server / mcp / handler.py MCPHandler.handle_request   85 10 0   88%
src / qdrant_loader_mcp_server / mcp / handler.py MCPHandler._handle_initialize   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / handler.py MCPHandler._handle_list_offerings   5 1 0   80%
src / qdrant_loader_mcp_server / mcp / handler.py (no function)   14 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / __init__.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / relationships.py _safe_score   6 3 0   50%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / relationships.py _display_title   3 1 0   67%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / relationships.py process_analysis_results   87 17 0   80%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / relationships.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / utils.py get_field   3 1 0   67%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / utils.py get_or_create_document_id   15 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / utils.py get_or_create_document_id._to_stable_primitive   24 22 0   8%
src / qdrant_loader_mcp_server / mcp / handlers / intelligence / utils.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / __init__.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / filters.py apply_hierarchy_filters   34 1 0   97%
src / qdrant_loader_mcp_server / mcp / handlers / search / filters.py apply_attachment_filters   24 1 0   96%
src / qdrant_loader_mcp_server / mcp / handlers / search / filters.py apply_lightweight_attachment_filters   35 6 0   83%
src / qdrant_loader_mcp_server / mcp / handlers / search / filters.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / formatting.py format_lightweight_attachment_text   18 1 0   94%
src / qdrant_loader_mcp_server / mcp / handlers / search / formatting.py format_lightweight_hierarchy_text   17 1 0   94%
src / qdrant_loader_mcp_server / mcp / handlers / search / formatting.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / organize.py organize_by_hierarchy   19 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / organize.py organize_by_hierarchy.sort_key   6 0 0   100%
src / qdrant_loader_mcp_server / mcp / handlers / search / organize.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.__init__   3 0 0   100%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler._get_or_create_document_id   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_analyze_document_relationships   17 0 0   100%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_find_similar_documents   41 1 0   98%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_detect_document_conflicts   17 1 0   94%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_find_complementary_content   23 2 0   91%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_cluster_documents   62 22 0   65%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py IntelligenceHandler.handle_expand_cluster   16 0 0   100%
src / qdrant_loader_mcp_server / mcp / intelligence_handler.py (no function)   17 0 0   100%
src / qdrant_loader_mcp_server / mcp / models.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / mcp / protocol.py MCPProtocol.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / protocol.py MCPProtocol.validate_request   20 2 0   90%
src / qdrant_loader_mcp_server / mcp / protocol.py MCPProtocol.validate_response   25 0 0   100%
src / qdrant_loader_mcp_server / mcp / protocol.py MCPProtocol.create_response   11 1 0   91%
src / qdrant_loader_mcp_server / mcp / protocol.py MCPProtocol.mark_initialized   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / protocol.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_hierarchy_search_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_attachment_search_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_analyze_relationships_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_find_similar_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_detect_conflicts_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_find_complementary_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_cluster_documents_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_expand_cluster_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_expand_document_tool_schema   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py MCPSchemas.get_all_tool_schemas   1 1 0   0%
src / qdrant_loader_mcp_server / mcp / schemas.py (no function)   22 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / __init__.py get_all_tool_schemas   3 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / __init__.py MCPSchemas.get_all_tool_schemas   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / __init__.py (no function)   26 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / analyze_relationships.py get_analyze_relationships_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / analyze_relationships.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / attachment.py get_attachment_search_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / attachment.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / cluster_documents.py get_cluster_documents_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / cluster_documents.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / detect_conflicts.py get_detect_conflicts_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / detect_conflicts.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / expand_cluster.py get_expand_cluster_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / expand_cluster.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / expand_document.py get_expand_document_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / expand_document.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / find_complementary.py get_find_complementary_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / find_complementary.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / find_similar.py get_find_similar_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / find_similar.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / hierarchy.py get_hierarchy_search_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / hierarchy.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / search.py get_search_tool_schema   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / schemas / search.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler.__init__   4 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler.handle_search   24 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler.handle_hierarchy_search   32 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler.handle_attachment_search   34 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._apply_hierarchy_filters   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._organize_by_hierarchy   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._apply_attachment_filters   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._apply_lightweight_attachment_filters   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._format_lightweight_attachment_text   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler._format_lightweight_hierarchy_text   1 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py SearchHandler.handle_expand_document   27 0 0   100%
src / qdrant_loader_mcp_server / mcp / search_handler.py (no function)   21 0 0   100%
src / qdrant_loader_mcp_server / search / __init__.py (no function)   0 0 0   100%
src / qdrant_loader_mcp_server / search / components / __init__.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / __init__.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / filters.py should_skip_result   26 9 0   65%
src / qdrant_loader_mcp_server / search / components / combining / filters.py count_business_indicators   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / filters.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / flatten.py flatten_metadata_components   55 24 0   56%
src / qdrant_loader_mcp_server / search / components / combining / flatten.py flatten_metadata_components._should_include   10 5 0   50%
src / qdrant_loader_mcp_server / search / components / combining / flatten.py flatten_metadata_components._maybe_redact   5 1 0   80%
src / qdrant_loader_mcp_server / search / components / combining / flatten.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py boost_score_with_metadata   15 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_intent_boosting   19 2 0   89%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_content_type_boosting   11 1 0   91%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_section_level_boosting   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_content_quality_boosting   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_conversion_boosting   6 0 0   100%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_semantic_boosting   30 3 0   90%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py apply_fallback_semantic_boosting   32 6 0   81%
src / qdrant_loader_mcp_server / search / components / combining / scoring_boosts.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser._convert_value_for_key   7 7 0   0%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser.parse_query   25 15 0   40%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser.create_qdrant_filter   24 10 0   58%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser.should_use_filter_only   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py FieldQueryParser.get_supported_fields   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / field_query_parser.py (no function)   25 0 0   100%
src / qdrant_loader_mcp_server / search / components / keyword_search_service.py KeywordSearchService.__init__   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / keyword_search_service.py KeywordSearchService.keyword_search   63 2 0   97%
src / qdrant_loader_mcp_server / search / components / keyword_search_service.py KeywordSearchService._tokenize   3 1 0   67%
src / qdrant_loader_mcp_server / search / components / keyword_search_service.py KeywordSearchService._compute_bm25_scores   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / keyword_search_service.py (no function)   14 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_project_info   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_hierarchy_info   7 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_attachment_info   7 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_section_info   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_content_analysis   5 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_semantic_analysis   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_navigation_context   4 1 0   75%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_chunking_context   4 1 0   75%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_conversion_info   4 1 0   75%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_cross_reference_info   5 2 0   60%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor.extract_all_metadata   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._generate_hierarchy_context   10 1 0   90%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._generate_attachment_context   12 0 0   100%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._generate_content_type_context   18 18 0   0%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._format_file_size   7 2 0   71%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._process_entities   9 3 0   67%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._process_topics   10 4 0   60%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._process_key_phrases   10 7 0   30%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py MetadataExtractor._process_pos_tags   7 4 0   43%
src / qdrant_loader_mcp_server / search / components / metadata_extractor.py (no function)   24 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / __init__.py (no function)   13 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / attachment.py (no function)   13 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / base.py (no function)   16 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / chunking.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / content.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / conversion.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / cross_reference.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hierarchy.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.score   0 0 1   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.text   0 0 1   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.source_type   0 0 1   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.source_title   0 0 1   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.document_id   0 0 1   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.source_url   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.file_path   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.repo_name   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.vector_score   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.keyword_score   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.created_at   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.last_modified   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.project_id   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.project_name   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.project_description   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.collection_name   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.parent_id   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.parent_title   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.breadcrumb_text   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.depth   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.children_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.hierarchy_context   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_attachment   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.parent_document_id   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.parent_document_title   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.attachment_id   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.original_filename   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.file_size   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.mime_type   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.attachment_author   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.attachment_context   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_title   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_type   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_level   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_anchor   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_breadcrumb   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.section_depth   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.has_code_blocks   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.has_tables   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.has_images   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.has_links   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.word_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.char_count   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.estimated_read_time   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.paragraph_count   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.entities   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.topics   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.key_phrases   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.pos_tags   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.previous_section   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.next_section   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.sibling_sections   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.subsections   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.document_hierarchy   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.chunk_index   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.total_chunks   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.chunking_strategy   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.original_file_type   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.conversion_method   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_excel_sheet   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_converted   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.cross_references   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.topic_analysis   1 1 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.content_type_context   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_display_title   14 7 0   50%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_project_info   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_hierarchy_info   10 2 0   80%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_content_info   17 17 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_semantic_info   18 18 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_section_context   8 8 0   0%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_attachment_info   3 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.get_file_type   11 4 0   64%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_root_document   18 4 0   78%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.has_children   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_file_attachment   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.belongs_to_project   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.belongs_to_any_project   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_code_content   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_documentation   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py HybridSearchResult.is_structured_data   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py create_hybrid_search_result   41 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / hybrid.py (no function)   163 0 10   100%
src / qdrant_loader_mcp_server / search / components / models / navigation.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / project.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / section.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / search / components / models / semantic.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor.__init__   3 0 0   100%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor.expand_query   15 0 0   100%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor.expand_query_aggressive   17 17 0   0%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor.analyze_query   10 0 0   100%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor._detect_content_preferences   12 2 0   83%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor._expand_query_fallback   9 4 0   56%
src / qdrant_loader_mcp_server / search / components / query_processor.py QueryProcessor._analyze_query_fallback   17 7 0   59%
src / qdrant_loader_mcp_server / search / components / query_processor.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner.__init__   8 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner.combine_results   73 13 0   82%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._should_skip_result   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._count_business_indicators   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._boost_score_with_metadata   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_content_type_boosting   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_section_level_boosting   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_content_quality_boosting   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_conversion_boosting   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_semantic_boosting   2 2 0   0%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_fallback_semantic_boosting   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._apply_diversity_filtering   30 3 0   90%
src / qdrant_loader_mcp_server / search / components / result_combiner.py ResultCombiner._flatten_metadata_components   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / result_combiner.py (no function)   21 0 0   100%
src / qdrant_loader_mcp_server / search / components / search_result_models.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.__init__   16 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService._generate_cache_key   3 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService._cleanup_expired_cache   11 1 0   91%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.get_embedding   16 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.vector_search   37 6 0   84%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.get_cache_stats   3 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.clear_cache   2 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService._build_filter   4 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py VectorSearchService.build_filter   1 0 0   100%
src / qdrant_loader_mcp_server / search / components / vector_search_service.py (no function)   23 0 0   100%
src / qdrant_loader_mcp_server / search / engine.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / engine / __init__.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py _safe_value_to_dict   1 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py _safe_facet_to_dict   10 2 0   80%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.__init__   10 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.initialize   53 15 0   72%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.cleanup   4 0 5   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.search   5 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.generate_topic_chain   8 1 0   88%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.execute_topic_chain   3 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.search_with_topic_chain   3 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.search_with_facets   24 5 0   79%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.get_facet_suggestions   14 6 0   57%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.analyze_document_relationships   13 3 0   77%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.find_similar_documents   22 5 0   77%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.detect_document_conflicts   12 1 0   92%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.find_complementary_content   3 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine.cluster_documents   13 1 0   92%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine._select_optimal_strategy   15 4 0   73%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine._analyze_document_characteristics   41 3 0   93%
src / qdrant_loader_mcp_server / search / engine / core.py SearchEngine._analyze_document_characteristics.get_doc_attr   3 0 0   100%
src / qdrant_loader_mcp_server / search / engine / core.py (no function)   36 0 0   100%
src / qdrant_loader_mcp_server / search / engine / faceted.py FacetedSearchOperations.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / engine / faceted.py FacetedSearchOperations.search_with_facets   32 10 0   69%
src / qdrant_loader_mcp_server / search / engine / faceted.py FacetedSearchOperations.get_facet_suggestions   11 4 0   64%
src / qdrant_loader_mcp_server / search / engine / faceted.py FacetedSearchOperations._calculate_facet_coverage   56 26 0   54%
src / qdrant_loader_mcp_server / search / engine / faceted.py (no function)   9 0 2   100%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.analyze_document_relationships   21 21 0   0%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.find_similar_documents   22 22 0   0%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.detect_document_conflicts   71 29 0   59%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.detect_document_conflicts.temporary_detector_settings   16 12 0   25%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.find_complementary_content   54 10 0   81%
src / qdrant_loader_mcp_server / search / engine / intelligence.py IntelligenceOperations.cluster_documents   18 5 0   72%
src / qdrant_loader_mcp_server / search / engine / intelligence.py (no function)   12 0 2   100%
src / qdrant_loader_mcp_server / search / engine / search.py SearchOperations.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / engine / search.py SearchOperations.search   11 1 0   91%
src / qdrant_loader_mcp_server / search / engine / search.py (no function)   7 0 2   100%
src / qdrant_loader_mcp_server / search / engine / strategies.py StrategySelector.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / engine / strategies.py StrategySelector.select_optimal_strategy   34 14 0   59%
src / qdrant_loader_mcp_server / search / engine / strategies.py StrategySelector.analyze_document_characteristics   36 2 0   94%
src / qdrant_loader_mcp_server / search / engine / strategies.py (no function)   7 0 2   100%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainResult.__init__   4 0 0   100%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainResult.__getitem__   7 7 0   0%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainResult.__contains__   3 3 0   0%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainResult.get   4 4 0   0%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainResult.__eq__   3 1 0   67%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations.generate_topic_chain   15 1 0   93%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations.execute_topic_chain   11 1 0   91%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations.search_with_topic_chain   13 4 0   69%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations._organize_chain_results   14 1 0   93%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py TopicChainOperations._calculate_exploration_stats   9 0 0   100%
src / qdrant_loader_mcp_server / search / engine / topic_chain.py (no function)   19 0 2   100%
src / qdrant_loader_mcp_server / search / enhanced / __init__.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / __init__.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer.create_clusters   19 1 0   95%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._cluster_by_entities   17 4 0   76%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._cluster_by_topics   17 4 0   76%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._cluster_by_projects   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._cluster_by_hierarchy   14 1 0   93%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._cluster_by_mixed_features   30 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._generate_intelligent_cluster_name   50 27 0   46%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._clean_topic_name   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._calculate_cluster_coherence   17 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._find_representative_document   3 1 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._generate_cluster_description   18 6 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._get_cluster_documents   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._analyze_cluster_theme   13 1 0   92%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._generate_primary_theme   20 2 0   90%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._generate_characteristics   17 2 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._generate_document_insights   17 1 0   94%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._categorize_cluster_size   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py DocumentClusterAnalyzer._safe_extract_texts   11 2 0   82%
src / qdrant_loader_mcp_server / search / enhanced / cdi / analyzers.py (no function)   29 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator.calculate_similarity   24 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_entity_overlap   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_topic_overlap   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_metadata_similarity   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_content_features_similarity   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_hierarchical_similarity   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._calculate_semantic_similarity   5 3 0   40%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._combine_metric_scores   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._get_shared_entities   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._get_shared_topics   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator.extract_entity_texts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator.extract_topic_texts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._extract_entity_texts   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._extract_topic_texts   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py DocumentSimilarityCalculator._determine_relationship_type   7 1 0   86%
src / qdrant_loader_mcp_server / search / enhanced / cdi / calculators.py (no function)   34 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer.build_citation_network   29 8 0   72%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer._find_referenced_document   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer._find_sibling_document   29 19 0   34%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer._find_sibling_document.normalize_title   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer.get_most_authoritative_documents   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py CitationNetworkAnalyzer.get_most_connected_documents   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / citations.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py get_document_embeddings   22 0 5   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py get_document_embeddings.fetch_embedding   15 11 2   27%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py calculate_vector_similarity   10 0 2   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py filter_by_vector_similarity   16 2 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py should_analyze_for_conflicts   12 12 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py get_tiered_analysis_pairs   17 17 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_pairing.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_resolution.py describe_conflict   10 3 0   70%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_resolution.py generate_resolution_suggestions   28 17 0   39%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_resolution.py extract_context_snippet   11 1 0   91%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_resolution.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_scoring.py analyze_text_conflicts   17 13 3   24%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_scoring.py analyze_metadata_conflicts   24 8 3   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_scoring.py categorize_conflict   17 4 0   76%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_scoring.py calculate_conflict_confidence   22 6 0   73%
src / qdrant_loader_mcp_server / search / enhanced / cdi / conflict_scoring.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector.__init__   10 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._get_document_embeddings   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._calculate_vector_similarity   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._validate_conflict_with_llm   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._analyze_text_conflicts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._analyze_metadata_conflicts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector.detect_conflicts   62 36 0   42%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector.detect_conflicts.analyze_pair   16 6 0   62%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._find_contradiction_patterns   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._detect_version_conflicts   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._detect_procedural_conflicts   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._extract_context_snippet   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._categorize_conflict   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._calculate_conflict_confidence   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector.get_stats   5 2 0   60%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector.get_last_stats   5 2 0   60%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._have_content_overlap   8 1 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._have_semantic_similarity   32 15 0   53%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._describe_conflict   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._generate_resolution_suggestions   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._llm_analyze_conflicts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._get_tiered_analysis_pairs   17 2 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._filter_by_vector_similarity   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py ConflictDetector._should_analyze_for_conflicts   12 7 0   42%
src / qdrant_loader_mcp_server / search / enhanced / cdi / detectors.py (no function)   48 0 2   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine.__init__   19 5 0   74%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._validate_and_normalize_conflict_settings   38 38 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._validate_and_normalize_conflict_settings.coerce_bool   15 15 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._validate_and_normalize_conflict_settings.coerce_int_non_negative   12 12 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._validate_and_normalize_conflict_settings.coerce_float_positive   12 12 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine.analyze_document_relationships   21 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine.find_document_relationships   29 7 0   76%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._build_similarity_matrix   18 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py CrossDocumentIntelligenceEngine._extract_similarity_insights   12 2 0   83%
src / qdrant_loader_mcp_server / search / enhanced / cdi / engine.py (no function)   25 0 2   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / __init__.py (no function)   0 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / clustering.py DefaultClusterer.__init__   6 1 0   83%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / clustering.py DefaultClusterer.cluster   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / clustering.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / conflicts.py DefaultConflictDetector.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / conflicts.py DefaultConflictDetector.detect   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / conflicts.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / graph.py DefaultGraphBuilder.build   10 6 0   40%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / graph.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / recommendation.py DefaultRecommender.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / recommendation.py DefaultRecommender.recommend   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / recommendation.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity.py DefaultSimilarityComputer.__init__   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity.py DefaultSimilarityComputer.compute   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py _normalize_runtime   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py get_shared_entities   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py get_shared_topics   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py combine_metric_scores   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_semantic_similarity_spacy   10 5 0   50%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_text_similarity   11 11 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py extract_context_snippet   27 27 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py have_semantic_similarity   13 13 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py has_shared_entities   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py has_shared_topics   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py get_shared_entities_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py get_shared_topics_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py has_transferable_domain_knowledge   6 1 0   83%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py has_reusable_architecture_patterns   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py has_shared_technologies   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py get_shared_technologies_count   8 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_entity_overlap   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_topic_overlap   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_metadata_similarity   16 1 0   94%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py calculate_content_features_similarity   11 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / extractors / similarity_helpers.py (no function)   25 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder.__init__   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder.find_complementary_content   21 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._calculate_complementary_score   18 4 0   78%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._score_intra_project_complementary   18 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._score_inter_project_complementary   16 2 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._calculate_weighted_score   21 3 0   86%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._is_requirements_implementation_pair   15 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._calculate_abstraction_gap   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._get_abstraction_level   10 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_cross_functional_relationship   10 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_different_document_types   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._classify_document_type   22 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_high_topic_overlap   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_similar_challenges   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_transferable_domain_knowledge   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_reusable_architecture_patterns   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_shared_technologies   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._get_shared_technologies_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._enhanced_fallback_scoring   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._calculate_fallback_score   16 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_shared_entities   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_shared_topics   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._get_shared_topics_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._get_shared_entities_count   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._has_different_content_complexity   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py ComplementaryContentFinder._get_complementary_content_type_score   24 3 0   88%
src / qdrant_loader_mcp_server / search / enhanced / cdi / finders.py (no function)   42 0 2   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / graph / __init__.py (no function)   0 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py EntityExtractor.extract   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py RelationExtractor.extract   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py GraphBuilder.build   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py Ranker.rank   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py Clusterer.cluster   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py SimilarityComputer.compute   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py Recommender.recommend   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py ConflictDetector.detect   0 0 1   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / interfaces.py (no function)   14 0 24   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / legacy_adapters.py LegacyConflictDetectorAdapter.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / legacy_adapters.py LegacyConflictDetectorAdapter._find_contradiction_patterns   17 3 0   82%
src / qdrant_loader_mcp_server / search / enhanced / cdi / legacy_adapters.py LegacyConflictDetectorAdapter._detect_version_conflicts   22 10 0   55%
src / qdrant_loader_mcp_server / search / enhanced / cdi / legacy_adapters.py LegacyConflictDetectorAdapter._detect_procedural_conflicts   17 10 0   41%
src / qdrant_loader_mcp_server / search / enhanced / cdi / legacy_adapters.py (no function)   11 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / llm_validation.py validate_conflict_with_llm   36 36 3   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / llm_validation.py llm_analyze_conflicts   53 15 6   72%
src / qdrant_loader_mcp_server / search / enhanced / cdi / llm_validation.py llm_analyze_conflicts.extract_json_object   33 5 0   85%
src / qdrant_loader_mcp_server / search / enhanced / cdi / llm_validation.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py DocumentSimilarity.get_display_explanation   11 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py DocumentCluster.get_cluster_summary   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py CitationNetwork.build_graph   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py CitationNetwork.calculate_centrality_scores   21 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py ComplementaryContent.get_top_recommendations   4 1 0   75%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py ConflictAnalysis.get_conflict_summary   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py ConflictAnalysis._get_most_common_conflicts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / models.py (no function)   80 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py CrossDocumentPipeline.compute_similarity   3 1 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py CrossDocumentPipeline.cluster   3 3 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py CrossDocumentPipeline.recommend   3 3 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py CrossDocumentPipeline.detect_conflicts   19 19 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py CrossDocumentPipeline.rank   3 3 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / pipeline.py (no function)   21 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / rankers / __init__.py (no function)   0 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / rankers / default.py DefaultRanker.rank   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / rankers / default.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py jaccard_similarity   9 9 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py extract_texts_from_mixed   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py weighted_average   9 1 0   89%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py compute_common_title_words   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py cosine_similarity   10 10 0   0%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py hierarchical_distance_from_breadcrumbs   13 2 0   85%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py split_breadcrumb   3 1 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py cluster_key_from_breadcrumb   6 2 0   67%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py format_hierarchy_cluster_name   8 3 0   62%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py clean_topic_name   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py categorize_cluster_size   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py normalize_acronym   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cdi / utils.py (no function)   24 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / cross_document_intelligence.py (no function)   12 2 0   83%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetValue.__str__   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py Facet.get_top_values   7 4 0   43%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetFilter.matches   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetFilter._extract_values_from_result   53 11 0   79%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchResults.get_facet   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchResults.has_active_filters   1 1 0   0%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator.generate_facets   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._generate_facet   18 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._extract_facet_values   100 34 0   66%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._get_display_name   13 2 0   85%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._get_value_description   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._sort_facets_by_priority   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py DynamicFacetGenerator._sort_facets_by_priority.facet_sort_key   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchEngine.__init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchEngine.apply_facet_filters   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchEngine.generate_faceted_results   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchEngine.create_filter_from_selection   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py FacetedSearchEngine.suggest_refinements   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / faceted_search.py (no function)   80 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / __init__.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier.__init__   12 4 0   67%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier.classify_intent   28 1 0   96%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._extract_linguistic_features   19 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._score_intent_patterns   18 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._match_pos_patterns   8 1 0   88%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._contains_pos_sequence   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._match_entity_types   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._match_question_words   5 1 0   80%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._match_linguistic_indicators   16 7 0   56%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._apply_behavioral_weighting   24 4 0   83%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._apply_session_context   20 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._select_primary_intent   9 1 0   89%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._select_secondary_intents   11 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier._build_evidence   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier.clear_cache   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py IntentClassifier.get_cache_stats   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / classifier.py (no function)   26 0 6   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / models.py AdaptiveSearchConfig.__post_init__   4 1 0   75%
src / qdrant_loader_mcp_server / search / enhanced / intent / models.py (no function)   54 2 2   96%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy.__init__   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._set_traversal_strategies   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy.adapt_search   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._get_base_config   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._apply_confidence_adjustments   9 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._blend_secondary_intents   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._apply_query_adaptations   17 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy._apply_session_adaptations   20 5 0   75%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py AdaptiveSearchStrategy.get_strategy_stats   4 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / intent / strategy.py (no function)   22 4 3   82%
src / qdrant_loader_mcp_server / search / enhanced / intent_classifier.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / __init__.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder.__init__   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder.build_from_search_results   24 6 0   75%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_document_nodes   14 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_concept_nodes   20 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_relationships   14 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_entity_relationships   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_topic_relationships   11 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_entity_cooccurrence   18 7 0   61%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._create_similarity_relationships   9 2 0   78%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._calculate_node_similarity   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._extract_entities   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._extract_topics   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._extract_concepts   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py GraphBuilder._extract_keywords   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py _stable_hash   5 2 0   60%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py _build_stable_id   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py _id_from_result   8 1 0   88%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py _doc_id_from_result   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py _section_id_from_result   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / builder.py (no function)   32 0 3   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.__init__   8 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.build_graph   9 3 0   67%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.find_related_content   15 2 0   87%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph._find_query_start_nodes   21 4 0   81%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.get_graph_statistics   3 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.export_graph   34 26 0   24%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py DocumentKnowledgeGraph.export_graph.EnhancedJSONEncoder.default   24 24 0   0%
src / qdrant_loader_mcp_server / search / enhanced / kg / document_graph.py (no function)   23 0 3   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py extract_entities_from_result   8 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py extract_topics_from_result   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py extract_concepts_from_result   12 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py extract_keywords_from_result   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py extract_keywords_from_result.filtered_words   6 1 0   83%
src / qdrant_loader_mcp_server / search / enhanced / kg / extractors.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.__init__   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.add_node   36 24 0   33%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.add_edge   12 3 0   75%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.find_nodes_by_type   1 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.find_nodes_by_entity   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.find_nodes_by_topic   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.calculate_centrality_scores   19 6 0   68%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.get_neighbors   21 6 0   71%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py KnowledgeGraph.get_statistics   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / graph.py (no function)   17 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / models.py GraphNode.__post_init__   5 4 0   20%
src / qdrant_loader_mcp_server / search / enhanced / kg / models.py GraphEdge.__post_init__   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / models.py (no function)   66 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser.__init__   10 3 0   70%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser.traverse   16 1 0   94%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser._breadth_first_traversal   18 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser._weighted_traversal   19 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser._centrality_traversal   20 1 0   95%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser._semantic_traversal   22 2 0   91%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py GraphTraverser._calculate_semantic_score   8 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / traverser.py (no function)   18 0 3   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py jaccard_similarity   5 1 0   80%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py calculate_list_similarity   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py calculate_node_similarity   5 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py _get_relationship_value   21 13 0   38%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py build_reasoning_path   13 3 0   77%
src / qdrant_loader_mcp_server / search / enhanced / kg / utils.py (no function)   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / knowledge_graph.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap.__init__   8 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap.build_topic_map   14 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap.find_related_topics   16 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap._extract_topics_from_result   19 2 0   89%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap._extract_entities_from_result   14 4 0   71%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap._find_semantic_related_topics   17 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicRelationshipMap._find_cooccurrence_related_topics   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator.__init__   7 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator.initialize_from_results   2 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator.generate_search_chain   17 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._extract_primary_topics   6 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._generate_breadth_first_chain   25 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._generate_depth_first_chain   16 2 0   88%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._generate_relevance_ranked_chain   18 1 0   94%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._generate_mixed_exploration_chain   27 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._calculate_discovery_potential   10 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py TopicSearchChainGenerator._calculate_chain_coherence   13 0 0   100%
src / qdrant_loader_mcp_server / search / enhanced / topic_search_chain.py (no function)   57 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / __init__.py (no function)   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py VectorSearcherAdapter.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py VectorSearcherAdapter.search   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py KeywordSearcherAdapter.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py KeywordSearcherAdapter.search   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py ResultCombinerAdapter.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py ResultCombinerAdapter.combine_results   1 1 0   0%
src / qdrant_loader_mcp_server / search / hybrid / adapters.py (no function)   14 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.__init__   23 23 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.search   3 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.generate_topic_search_chain   5 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.execute_topic_chain_search   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._initialize_topic_relationships   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.is_topic_chains_initialized   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.mark_topic_chains_initialized   1 1 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.set_topic_chains_initialized   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.search_with_facets   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.analyze_document_relationships   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.find_similar_documents   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.detect_document_conflicts   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.find_complementary_content   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._build_document_lookup   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.build_document_lookup   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._find_document_by_id   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.find_document_by_id   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.cluster_documents   5 2 0   60%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._calculate_cluster_quality   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.calculate_cluster_quality   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._categorize_cluster_size   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._estimate_content_similarity   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._build_enhanced_metadata   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.build_enhanced_metadata   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._calculate_std   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._assess_overall_quality   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._generate_clustering_recommendations   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_cluster_relationships   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.analyze_cluster_relationships   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_cluster_pair   2 2 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_entity_overlap   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_topic_overlap   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_source_similarity   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_hierarchy_relationship   2 2 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_content_similarity   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.get_adaptive_search_stats   6 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._build_conflict_settings   2 2 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._get_embedding   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._expand_query   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._expand_query_aggressive   4 4 0   0%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._analyze_query   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._vector_search   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._keyword_search   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._combine_results   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._extract_metadata_info   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._extract_project_info   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI._build_filter   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.suggest_facet_refinements   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py HybridEngineAPI.generate_facets   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / api.py (no function)   56 0 5   100%
src / qdrant_loader_mcp_server / search / hybrid / components / __init__.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / boosting.py ResultBooster.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / boosting.py ResultBooster.apply   15 5 0   67%
src / qdrant_loader_mcp_server / search / hybrid / components / boosting.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py _create_llm_provider_from_env   78 42 0   46%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_spacy_analyzer   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_query_processor   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_vector_search_service   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_keyword_search_service   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_result_combiner   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_intent_components   6 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_topic_chain_generator   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_faceted_engine   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py create_cdi_engine   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py build_conflict_settings   6 4 0   33%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py initialize_engine_components   77 16 0   79%
src / qdrant_loader_mcp_server / search / hybrid / components / builder.py (no function)   14 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py calculate_std   5 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py assess_overall_quality   13 1 0   92%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py generate_clustering_recommendations   13 1 0   92%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py build_enhanced_metadata   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py categorize_cluster_size   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py estimate_content_similarity   26 1 0   96%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py calculate_cluster_quality   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / cluster_quality.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / combining.py HybridCombiner.combine   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / combining.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / deduplication.py ResultDeduplicator.__init__   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / deduplication.py ResultDeduplicator.deduplicate   21 8 0   62%
src / qdrant_loader_mcp_server / search / hybrid / components / deduplication.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / diversity.py apply_diversity_filtering   34 5 0   85%
src / qdrant_loader_mcp_server / search / hybrid / components / diversity.py apply_diversity_filtering._result_key   1 1 0   0%
src / qdrant_loader_mcp_server / search / hybrid / components / diversity.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py build_document_lookup   31 8 0   74%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py build_document_lookup._normalize_key   8 3 0   62%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py build_document_lookup._set_key   11 6 0   45%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py find_document_by_id   28 11 0   61%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py find_document_by_id._normalize_for_match   3 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / document_lookup.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / facets.py suggest_refinements   5 2 0   60%
src / qdrant_loader_mcp_server / search / hybrid / components / facets.py generate_facets   8 3 0   62%
src / qdrant_loader_mcp_server / search / hybrid / components / facets.py (no function)   5 0 2   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py get_embedding   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py analyze_query   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py expand_query   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py expand_query_aggressive   1 1 0   0%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py vector_search   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py keyword_search   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py combine_results   8 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py build_filter   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / helpers.py (no function)   10 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / metadata.py extract_metadata_info   38 11 0   71%
src / qdrant_loader_mcp_server / search / hybrid / components / metadata.py extract_project_info   17 5 0   71%
src / qdrant_loader_mcp_server / search / hybrid / components / metadata.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / normalization.py ScoreNormalizer.scale   8 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / normalization.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py analyze_entity_overlap   12 2 0   83%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py analyze_topic_overlap   19 5 0   74%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py analyze_source_similarity   14 3 0   79%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py analyze_hierarchy_relationship   15 6 0   60%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py analyze_content_similarity   27 2 0   93%
src / qdrant_loader_mcp_server / search / hybrid / components / relationships.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / reranking.py HybridReranker.rerank   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / reranking.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / scoring.py HybridScorer.__init__   3 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / scoring.py HybridScorer.compute   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / components / scoring.py HybridScorer.normalize_many   7 2 0   71%
src / qdrant_loader_mcp_server / search / hybrid / components / scoring.py (no function)   12 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / engine.py HybridSearchEngine.__init__   13 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / engine.py HybridSearchEngine.openai_client   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / engine.py HybridSearchEngine.openai_client   12 4 0   67%
src / qdrant_loader_mcp_server / search / hybrid / engine.py HybridSearchEngine.search   5 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / engine.py (no function)   14 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / interfaces.py VectorSearcher.search   0 0 1   100%
src / qdrant_loader_mcp_server / search / hybrid / interfaces.py KeywordSearcher.search   0 0 1   100%
src / qdrant_loader_mcp_server / search / hybrid / interfaces.py ResultCombinerLike.combine_results   0 0 1   100%
src / qdrant_loader_mcp_server / search / hybrid / interfaces.py Reranker.rerank   0 0 1   100%
src / qdrant_loader_mcp_server / search / hybrid / interfaces.py (no function)   7 0 18   100%
src / qdrant_loader_mcp_server / search / hybrid / models.py (no function)   23 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / __init__.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / cdi.py analyze_document_relationships   4 1 0   75%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / cdi.py find_similar_documents   14 3 0   79%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / cdi.py detect_document_conflicts   2 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / cdi.py find_complementary_content   12 1 0   92%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / cdi.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / clustering.py cluster_documents   43 9 0   79%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / clustering.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / facets.py search_with_facets   9 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / facets.py (no function)   5 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / orchestrator.py HybridOrchestrator.run_pipeline   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / orchestrator.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / planner.py QueryPlanner.make_plan   1 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / planner.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / relationships.py analyze_cluster_relationships   11 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / relationships.py analyze_cluster_pair   31 4 0   87%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / relationships.py (no function)   7 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / search.py run_search   56 10 0   82%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / search.py (no function)   9 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / topic_chain.py generate_topic_search_chain   17 6 0   65%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / topic_chain.py execute_topic_chain_search   11 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / topic_chain.py _initialize_topic_relationships   6 1 0   83%
src / qdrant_loader_mcp_server / search / hybrid / orchestration / topic_chain.py (no function)   8 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid / pipeline.py HybridPipeline.run   17 2 0   88%
src / qdrant_loader_mcp_server / search / hybrid / pipeline.py (no function)   18 0 0   100%
src / qdrant_loader_mcp_server / search / hybrid_search.py (no function)   6 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_display_title   15 3 0   80%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_project_info   8 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_hierarchy_info   10 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_content_info   17 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_semantic_info   20 1 0   95%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_navigation_info   12 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.is_root_document   1 1 0   0%
src / qdrant_loader_mcp_server / search / models.py SearchResult.has_children   1 1 0   0%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_attachment_info   3 3 0   0%
src / qdrant_loader_mcp_server / search / models.py SearchResult.is_file_attachment   1 1 0   0%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_file_type   12 1 0   92%
src / qdrant_loader_mcp_server / search / models.py SearchResult.belongs_to_project   1 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.belongs_to_any_project   1 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.is_code_content   1 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.is_documentation   1 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.is_structured_data   1 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_section_context   8 0 0   100%
src / qdrant_loader_mcp_server / search / models.py SearchResult.get_comprehensive_context   1 1 0   0%
src / qdrant_loader_mcp_server / search / models.py (no function)   82 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / __init__.py (no function)   4 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor.__init__   9 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor.preprocess_query   33 4 0   88%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._initial_cleaning   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._extract_tokens   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._lemmatize_tokens   17 2 0   88%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._filter_stopwords   11 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._normalize_tokens   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor._rebuild_structured_query   1 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor.preprocess_for_search   7 3 0   57%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor.clear_cache   2 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py LinguisticPreprocessor.get_cache_stats   1 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / linguistic_preprocessor.py (no function)   29 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander.__init__   8 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander.expand_query   32 4 0   88%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._expand_with_semantic_similarity   16 2 0   88%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._expand_with_entities   14 2 0   86%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._expand_with_concepts   13 6 0   54%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._expand_with_domain_knowledge   12 3 0   75%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._extract_entity_words   2 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._extract_concept_words   6 3 0   50%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._get_entity_synonyms   9 3 0   67%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._filter_expansion_terms   9 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander._build_expanded_query   14 2 0   86%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander.clear_cache   2 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py EntityQueryExpander.get_cache_stats   1 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / semantic_expander.py (no function)   29 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer.__init__   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._load_spacy_model   22 10 0   55%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer.analyze_query_semantic   20 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer.semantic_similarity_matching   13 1 0   92%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._detect_intent_patterns   19 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._match_pos_sequences   8 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._contains_sequence   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._match_question_words   4 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._is_question   12 1 0   92%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._is_technical_query   9 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._calculate_complexity_score   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._max_dependency_depth   6 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._max_dependency_depth.get_depth   3 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer._token_similarity_fallback   7 1 0   86%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer.clear_cache   3 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py SpaCyQueryAnalyzer.get_cache_stats   1 0 0   100%
src / qdrant_loader_mcp_server / search / nlp / spacy_analyzer.py (no function)   37 0 0   100%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor.__init__   14 10 0   29%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor.process_query   10 0 0   100%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor._clean_query   2 0 0   100%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor._infer_intent_spacy   18 0 0   100%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor._extract_source_type   20 4 0   80%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor._infer_source_type   5 0 0   100%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor.get_analyzer_stats   5 5 0   0%
src / qdrant_loader_mcp_server / search / processor.py QueryProcessor.clear_analyzer_cache   5 5 0   0%
src / qdrant_loader_mcp_server / search / processor.py (no function)   15 0 0   100%
src / qdrant_loader_mcp_server / transport / __init__.py (no function)   2 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler.__init__   11 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_middleware   3 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_middleware._track_inflight_requests   12 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_routes   8 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_routes.handle_mcp_post   2 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_routes.handle_mcp_get   2 2 0   0%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_routes.handle_mcp_options   1 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._setup_routes.health_check   1 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._handle_post_request   27 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._handle_get_request   4 4 0   0%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._handle_get_request.event_stream   17 17 0   0%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler.get_inflight_request_counts   1 1 0   0%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler.has_inflight_non_streaming   1 1 0   0%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._validate_origin   4 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler._validate_protocol_version   4 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler.add_session_message   3 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py HTTPTransportHandler.cleanup_sessions   7 0 0   100%
src / qdrant_loader_mcp_server / transport / http_handler.py (no function)   21 0 0   100%
src / qdrant_loader_mcp_server / utils / __init__.py (no function)   3 0 0   100%
src / qdrant_loader_mcp_server / utils / logging.py QdrantVersionFilter.filter   1 0 0   100%
src / qdrant_loader_mcp_server / utils / logging.py ApplicationFilter.filter   1 0 0   100%
src / qdrant_loader_mcp_server / utils / logging.py CleanFormatter.format   3 0 0   100%
src / qdrant_loader_mcp_server / utils / logging.py LoggingConfig.setup   25 12 0   52%
src / qdrant_loader_mcp_server / utils / logging.py LoggingConfig.get_logger   3 0 0   100%
src / qdrant_loader_mcp_server / utils / logging.py LoggingConfig.reconfigure   22 15 0   32%
src / qdrant_loader_mcp_server / utils / logging.py (no function)   22 0 2   100%
src / qdrant_loader_mcp_server / utils / version.py get_version   19 7 0   63%
src / qdrant_loader_mcp_server / utils / version.py (no function)   3 0 0   100%
Total     10896 2178 143   80%

No items found using the specified filter.