yams/tests/unit/search
Trevon 6ea11353ec
perf(search): build the topology route index off the query path (#346)
TopologyRoutingSnapshotCache built its route index lazily, under its
lock, on the first routed lookup. The first routed query after daemon
start, and after every topology rebuild (a new epoch misses the cache),
built it inline: 2.9-3.0 s on SciFact, 7.0 s on NFCorpus, while
concurrent queries waited on the lock.

- getRoutingSnapshot(cache, epoch, options): the lookup a routed query
  makes, shared by queries and warm-ups so a warmed entry is the one
  the next query reads.
- SearchEngine::prewarmTopologyRouting(): load the latest snapshot
  with the options a routed query uses. False when routing is
  disabled or nothing is published.
- SearchEngineManager posts a warm-up after an engine build, as a
  separate task so readiness does not wait for it.
- ServiceManager warms after an async topology rebuild stores a batch,
  on the rebuild task.

Retrieval A/B on grim (gcc Profiling, search_product_clean_baseline,
3 timed reps + 1 profiled pass per arm; base is #344):

                         SciFact            NFCorpus
  first query, profiled  3251 -> 28.9 ms    7481 -> 33.6 ms
  max query, profiled    3251 -> 91.2 ms    7481 -> 90.0 ms
  buildIndex             query thread ->    query thread ->
                         background         background
  cold first, timed      84.3 -> 69.3 ms    51.0 -> 36.7 ms
  p95, timed             55.3 -> 53.3 ms    56.7 -> 52.3 ms
  MAP / MRR / nDCG       identical          within base run-to-run
                                            range (base MAP stdev
                                            0.0020, change 0.0004)
2026-10-25 14:58:26 -06:00
..
benchmark_history_store_catch2_test.cpp fix(tests): use portable getpid shim 2026-05-20 15:54:13 -04:00
chunk_coverage_catch2_test.cpp running linter 2025-12-13 16:27:07 -05:00
component_fanout_catch2_test.cpp fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
concept_boost_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
corpus_stats_search_integration_test.cpp fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
cross_rerank_catch2_test.cpp fix(search): restore measured scientific ranking (#318) 2026-10-16 09:43:41 -06:00
evidence_search_pipeline_catch2_test.cpp feat(search): trace bounded topology rescue 2026-07-28 10:40:00 -04:00
final_result_order_catch2_test.cpp fix(search): restore measured scientific ranking (#318) 2026-10-16 09:43:41 -06:00
graph_expansion_catch2_test.cpp [09/14] Bound rerank text and reuse search parsing (#149) 2026-09-12 10:09:20 -04:00
hotzone_manager_catch2_test.cpp fix(ci): stabilize PR checks 2026-05-21 16:18:08 -04:00
hybrid_search_comprehensive_test.cpp chore(warnings): clean up compiler warnings on GCC, Clang and Apple Clang (#279) 2026-10-08 14:30:28 -06:00
internal_benchmark_catch2_test.cpp Sync experimental into main: Search retrieval improvements (#60) 2026-07-24 19:00:22 -04:00
kg_scorer_simple_catch2_test.cpp [06/14] Measure and reduce repeated SQLite prepares (#146) 2026-09-12 10:09:19 -04:00
lexical_scoring_catch2_test.cpp fix(search): restore measured scientific ranking (#318) 2026-10-16 09:43:41 -06:00
query_concept_extractor_catch2_test.cpp test: cover factory helpers 2026-05-20 10:50:41 -04:00
query_helpers_catch2_test.cpp fix(ci): stabilize tests and coverage 2026-05-21 09:26:43 -04:00
query_qualifiers_catch2_test.cpp [11/14] Separate status presentation and centralize shared query helpers (#151) 2026-09-12 10:09:21 -04:00
query_router_catch2_test.cpp feat: search / grep freshness and query intent router improvements. Test improvements 2026-04-14 13:37:41 -04:00
relevance_label_store_catch2_test.cpp fix(tests): use portable getpid shim 2026-05-20 15:54:13 -04:00
retrieval_benchmark_support_catch2_test.cpp bench(retrieval): seed one-way kNN semantic edges on request (#308) 2026-10-14 08:47:06 -06:00
search_config_environment_catch2_test.cpp [05/14] Consolidate configuration authority (#145) 2026-09-12 10:09:19 -04:00
search_engine_config_catch2_test.cpp fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
search_engine_simeon_lexical_catch2_test.cpp fix(search): gate lexical status and fragment state on publication (#340) 2026-10-23 21:16:25 -06:00
search_engine_topology_catch2_test.cpp perf(search): build the topology route index off the query path (#346) 2026-10-25 14:58:26 -06:00
search_facets_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_tracing_catch2_test.cpp Sync experimental into main: Search retrieval improvements (#60) 2026-07-24 19:00:22 -04:00
search_tuner_catch2_test.cpp fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
search_vector_pipeline_catch2_test.cpp fix(search): skip per-hash score lists under MAX chunk aggregation (#293) 2026-10-16 09:43:40 -06:00
search_vector_stage_characterization_catch2_test.cpp test(search): characterize the vector stage (#297) 2026-10-14 08:47:00 -06:00
search_vector_stage_road_beam_catch2_test.cpp perf(memory_sync): skip idle rescans and listings of a direct op store (#311) 2026-10-16 09:43:40 -06:00
search_vector_stage_road_walk_catch2_test.cpp feat(search): walk along roads (#307) 2026-10-14 08:47:05 -06:00
search_vector_stage_route_only_catch2_test.cpp feat(search): RouteOnly policy behind an evaluation gate (#300) 2026-10-14 08:47:02 -06:00
search_vector_stage_timeout_catch2_test.cpp fix(search): vector-stage lifetime on component timeout (#299) 2026-10-14 08:47:01 -06:00
simeon_bandit_backend_catch2_test.cpp refactor(search): remove RM3 from the retrieval product 2026-06-28 18:31:35 -04:00
simeon_bandit_catch2_test.cpp refactor(search): remove RM3 from the retrieval product 2026-06-28 18:31:35 -04:00
simeon_lexical_backend_catch2_test.cpp fix(search): stop the simeon-lexical build when shutdown begins 2026-09-27 13:20:55 -06:00
string_interner_catch2_test.cpp feat(topology): opt-in medoid representative and BQ rotation (#277) 2026-10-08 14:30:27 -06:00
symspell_search_catch2_test.cpp Sync experimental into main: Search retrieval improvements (#60) 2026-07-24 19:00:22 -04:00
topological_quality_catch2_test.cpp feat: expanding topology instrumentation to expose quality of clusters, cli ux improvements and expanded modifiers 2026-04-23 21:28:35 -04:00
topology_search_test_support.h test(search): characterize the vector stage (#297) 2026-10-14 08:47:00 -06:00
tuning_features_catch2_test.cpp feat: further search improvements and daemon sleep fixes. Commit before service manager refactor/cleanup 2026-04-15 21:50:03 -04:00
tuning_slot_catch2_test.cpp feat: improved search fusion logic and tuning parameters. CI improvements, reverting to push with wrangler in CI. Experimenting with vector rebuild to address additional lost overhead in search 2026-05-05 08:58:20 -04:00