yams/tests/unit/search
Trevon ae15bf317a
perf(ingest): harden daemon batching and shutdown (#58)
* fix(daemon): harden model state ownership

Keep ModelPoolConfig single-defined and serialize telemetry snapshots to avoid ODR drift and torn concurrent reads.

* refactor(daemon): consolidate ingest pollers

Require the wake-timer contract so every post-ingest stage shares one event-driven poller configuration.

* refactor(daemon): unify repair execution

Share admission, operation ordering, cancellation, progress, and result aggregation between synchronous and asynchronous repair paths.

* refactor(daemon): unify runtime tuning

Resolve startup and reload settings through one typed path so parsing, precedence, and range validation cannot drift.

* refactor(daemon)!: remove dead IPC surfaces

Delete unreferenced framing, cancellation, and compatibility paths while keeping the active streaming protocol intact.

BREAKING CHANGE: callers using connectAsync or legacy MessageFramer and FrameReader helpers must migrate to connect, frame_message_into, feed, and get_frame.

* refactor(daemon): hide test hooks

Preserve test-library linkage without exposing daemon-only probes through production headers or external symbols.

* fix(daemon): avoid replaying successful adds

A fresh-connection transport retry reuses the response handler. Clear its stale EOF error when the retry returns a valid add response so the outer retry loop does not enqueue the document again.

* bench(ingest): enforce lossless pipeline runs

Separate admission, storage, drain, enrichment, and searchability timing. Decision-grade plans now reject drops, duplicate processing, incomplete pipelines, and experiment identity drift.

* bench(search): expose cold seed ingest timings

Pair generalized-memory quality arms with admission, storage, drain, searchability, and enrichment timing from their shared cold seed. Keep the observation distinct from repeated throughput measurements.

* perf(ingest): batch deferred content indexing

Directory ingestion already schedules content work through post-ingest. Avoid duplicate inline indexing and coalesce normal-priority trickles within a bounded window.

* feat(metadata): expose insert writer metrics

Separate queue, batch-apply, and transaction time so ingestion runs can attribute connection pressure without changing write semantics.

* fix(daemon): retry transient refused connects

The daemon socket can be bound before its listener is ready during startup. Reuse the existing bounded retry budget for that refusal window.

* bench(ingest): attribute submission path costs

Decision-grade runs need stable coalescing identity and separate queue, apply, transaction, and estimated connection-wait costs.

* perf(ingest): batch durable document storage

Commit chunks, manifests, references, and metadata in bounded batches while preserving publication only after durable reference success.

* perf(ingest): coalesce bulk post-processing

Use a 16-item bulk cap while keeping latency-sensitive daemon ingestion on the existing four-item priority quota.

* bench(ingest): record post-ingest batch size

Include the effective cap in metrics and experiment identity so runs with different batching policies cannot be compared as one system.

* perf(ingest): batch queued storage waves

Preserve single-document fallback semantics and execute inline when the coordinator has one worker to avoid self-deadlock.

* perf(ingest): route bulk enrichment batches

Keep quota-sized interactive groups on the RPC lane while sending larger lossless groups through bounded coalescing.

* test(daemon): initialize task fixtures

* perf(ingest): batch post-ingest dispatch

* perf(ingest): widen directory storage waves

Borrow from a full wave when one document would otherwise fall through to single-document storage.

* perf(storage): bound batch writer fanout

Reuse a fixed worker set so batch size no longer creates one thread and payload copy per object.

* perf(ingest): align storage batch drains

Dispatch one configured batch through storage so intermediate waves do not fragment downstream metadata work.

* fix(ingest): commit metadata state atomically

Fold first-version, extracted-title, and embedding-completion state
into existing transactions.

Read committed extraction state so duplicate-content tasks cannot
double-count corpus counters.

* bench(ingest): measure production submission

Drive pipelined files through DocumentIngestionService.
Export dispatch, fingerprint, and enqueue costs through xplan.

* fix(xplan): preserve native failures

Report child signals and bounded stderr before readiness checks so
assertions are not masked as missing traces.

* fix(daemon): preserve embedding success hashes

* fix(daemon): serialize pooled socket shutdown

* fix(daemon): harden batch publication shutdown

* fix(storage): use compat jthread shim

* fix(daemon): avoid poller template shadowing

* fix(search): keep vector pipeline test enabled

* fix: harden shutdown and fallback paths

Demote expected shutdown SQL interruptions, ignore readonly FTS integrity noise, avoid stopped-executor socket hangs, and preserve metadata writer fallback outcomes.
2026-07-17 07:04:30 -04: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 feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04: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: harden CI and metadata stability (#48) 2026-06-11 16:42:54 -04:00
cross_rerank_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
evidence_search_pipeline_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
graph_expansion_catch2_test.cpp feat: installation tests and build improvements. Test fixes related to optimizations for reranker 2026-04-08 14:01:18 -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 fix(tests): use portable getpid shim 2026-05-20 15:54:13 -04:00
internal_benchmark_catch2_test.cpp feat: fixes for repair batching logic, hnsw rebuild and search refinements before graph building improvements land 2026-04-04 20:06:12 -04:00
kg_scorer_simple_catch2_test.cpp ingestion optimizations, continued test migrations 2025-12-12 12:50:56 -05:00
lexical_scoring_catch2_test.cpp Stabilize daemon recovery and vector reconciliation (#36) 2026-05-23 21:21:55 -04: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 running linter 2025-12-13 16:27:07 -05: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 feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_config_environment_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_engine_config_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_engine_simeon_lexical_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_engine_topology_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04: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 feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_tuner_catch2_test.cpp feat(search): make topology-assisted retrieval the default (#57) 2026-07-13 20:26:43 -04:00
search_vector_pipeline_catch2_test.cpp perf(ingest): harden daemon batching and shutdown (#58) 2026-07-17 07:04:30 -04: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 perf: coalesce KG writes and document live-mirror drift 2026-07-02 09:12:23 -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
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