{ "summary": { "timestamp": "2026-02-09 11:08:47", "source": "src", "k": 10, "coarse_k": 100, "query_count": 7, "avg_jaccard_topk": 0.41421235160730957, "avg_rbo_topk": 0.22899068093857142, "staged": { "success": 7, "avg_latency_ms": 32009.68328570468 }, "dense_rerank": { "success": 7, "avg_latency_ms": 2783.3305999977247 } }, "comparisons": [ { "query": "class Config", "staged": { "strategy": "staged", "query": "class Config", "latency_ms": 40875.45489999652, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\api\\semantic.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\parsers\\factory.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\graph_expander.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\watcher\\file_watcher.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\lsp\\server.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\embedding_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\api\\references.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\__init__.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 10633.91399383545, "stage2_expand_ms": 12487.980365753174, "stage3_cluster_ms": 10781.587362289429, "stage4_rerank_ms": 6914.837837219238 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 149, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "class Config", "latency_ms": 3111.874899983406, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\query_parser.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\embedding_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\migration_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.1111111111111111, "rbo_topk": 0.06741929885142856, "staged_unique_files_topk": 10, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 8, "dense_unique_dirs_topk": 4 }, { "query": "def search", "staged": { "strategy": "staged", "query": "def search", "latency_ms": 38541.18510001898, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\global_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\ranking.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\ann_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\graph_expander.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\enrichment.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 548.8920211791992, "stage2_expand_ms": 27176.724433898926, "stage3_cluster_ms": 8352.917671203613, "stage4_rerank_ms": 2392.6541805267334 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 101, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "def search", "latency_ms": 2652.75, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\query_parser.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.26666666666666666, "rbo_topk": 0.2983708721671428, "staged_unique_files_topk": 9, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 }, { "query": "LspBridge", "staged": { "strategy": "staged", "query": "LspBridge", "latency_ms": 26319.983999997377, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\vector_meta_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\graph_expander.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\merkle_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\global_index.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 514.4834518432617, "stage2_expand_ms": 14329.241514205933, "stage3_cluster_ms": 9249.040842056274, "stage4_rerank_ms": 2159.9059104919434 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 100, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "LspBridge", "latency_ms": 2666.9745999872684, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\vector_meta_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\graph_expander.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.6666666666666666, "rbo_topk": 0.3571430355128571, "staged_unique_files_topk": 10, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 }, { "query": "graph expansion", "staged": { "strategy": "staged", "query": "graph expansion", "latency_ms": 25696.087299972773, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\gpu_support.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\embedding_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\vector_meta_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\global_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 560.4684352874756, "stage2_expand_ms": 13951.441526412964, "stage3_cluster_ms": 8879.387140274048, "stage4_rerank_ms": 2229.4514179229736 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 100, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "graph expansion", "latency_ms": 2544.8630999922752, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\migration_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\global_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.42857142857142855, "rbo_topk": 0.13728894791142857, "staged_unique_files_topk": 10, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 }, { "query": "clustering strategy", "staged": { "strategy": "staged", "query": "clustering strategy", "latency_ms": 27387.41929998994, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\ranking.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\global_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\embedding_manager.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\__init__.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 625.0262260437012, "stage2_expand_ms": 14211.347103118896, "stage3_cluster_ms": 10269.58680152893, "stage4_rerank_ms": 2208.007335662842 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 100, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "clustering strategy", "latency_ms": 2928.22389999032, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\__init__.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\gpu_support.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\enrichment.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.17647058823529413, "rbo_topk": 0.07116480920571429, "staged_unique_files_topk": 10, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 }, { "query": "error handling", "staged": { "strategy": "staged", "query": "error handling", "latency_ms": 23732.33979997039, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\enrichment.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\vector_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\__init__.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 504.0884017944336, "stage2_expand_ms": 12899.415016174316, "stage3_cluster_ms": 7881.027936935425, "stage4_rerank_ms": 2372.1535205841064 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 100, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "error handling", "latency_ms": 2946.439900010824, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\__init__.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\embedding_manager.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.6666666666666666, "rbo_topk": 0.19158624676285715, "staged_unique_files_topk": 10, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 }, { "query": "how to parse json", "staged": { "strategy": "staged", "query": "how to parse json", "latency_ms": 41515.31259998679, "num_results": 9, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\enrichment.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\registry.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\ranking.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py" ], "stage_stats": { "stage_times": { "stage1_binary_ms": 601.7005443572998, "stage2_expand_ms": 30052.319765090942, "stage3_cluster_ms": 8409.791231155396, "stage4_rerank_ms": 2371.1729049682617 }, "stage_counts": { "stage1_candidates": 100, "stage2_expanded": 100, "stage3_clustered": 20, "stage4_reranked": 20 } }, "error": null }, "dense_rerank": { "strategy": "dense_rerank", "query": "how to parse json", "latency_ms": 2632.1878000199795, "num_results": 10, "topk_paths": [ "d:\\claude_dms3\\codex-lens\\src\\codexlens\\cli\\commands.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\chain_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\index_tree.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\code_extractor.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\dir_index.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\hybrid_search.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\search\\ranking.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\chunker.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\storage\\sqlite_store.py", "d:\\claude_dms3\\codex-lens\\src\\codexlens\\semantic\\ann_index.py" ], "stage_stats": null, "error": null }, "jaccard_topk": 0.5833333333333334, "rbo_topk": 0.4799615561585714, "staged_unique_files_topk": 9, "dense_unique_files_topk": 10, "staged_unique_dirs_topk": 4, "dense_unique_dirs_topk": 4 } ] }