yams/tests/unit/search
Trevon d398556ee5
fix(tests): replace frozen expectations and harden release gates (#323)
* test(search,daemon,storage): assert behaviour instead of frozen literals

Several suites encoded exact internal values that legitimate tuning and
ranking changes are allowed to move: SCIENTIFIC-era profile weights and
rrfK values, corpus-statistic figures, and hardcoded timeout/cancellation
numbers. They failed on every platform after those changes landed, so the
real behaviour regressions they should catch were hidden behind noise.

Replace the frozen literals with contract assertions: weights are finite,
non-negative and normalize, state selection still holds, capability-gated
sources stay zeroed, and hybrid results keep matching canonical hash/path
sets. Deadlines are not widened and the daemon paths they cover are
unchanged.

Also add independent corpus and adapter oracles, deterministic collector
cancellation and late-result gates, and synchronize ServiceManager
shutdown observation, so the tests fail for the behaviour they name.

The portability allowlist keeps its two reviewed raw test-env reads; only
their line numbers moved.

Signed-off-by: trvon <git@trevon.dev>

* ci(tests): summarise Meson failures without flooding the log

A failing test run printed the whole Meson suite output, so the actual
failing test names and their assertion messages were buried and the
uploaded logs were dominated by passing-test chatter.

Add a bounded reporter that extracts the failing test names plus their
surrounding diagnostics, keeps an overall cap on emitted lines, and is
unit-tested against representative Meson output. Wire it into the Tests
workflow so failures stay readable.

Signed-off-by: trvon <git@trevon.dev>

* build(deb): validate candidate identity, mapping and upgrade ordering

The Debian packaging scripts took filenames and versions on trust, so a
misnamed candidate or a wrong package ordering could pass validation while
the real install path was never exercised.

Fail closed on candidate identity, version and architecture, verify the
package-to-source mapping, seed the legacy-only layout, wait on the actual
services, and assert install/upgrade/remove ordering for both Debian and
RPM in an offline container. Cases that cannot be proven on a host are
reported as skipped rather than silently passing.

Signed-off-by: trvon <git@trevon.dev>

---------

Signed-off-by: trvon <git@trevon.dev>
2026-10-19 19:16:57 -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 perf(search): reuse Simeon scores within a request 2026-09-05 11:54:16 -06:00
search_engine_topology_catch2_test.cpp test(search): characterize the vector stage (#297) 2026-10-14 08:47:00 -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