You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multiple robustness and correctness fixes across ingestion, search, upload and ranking:
- scripts/hybrid/filters.py: tighten DSL tokenizer to only match compact key:value (no spaces) to avoid capturing prose like "file: upload" or "repo: billing".
- scripts/hybrid/ranking.py: fix span sorting to correctly order by score (negate score uniformly) to avoid wasting token budget on low-ranked penalized spans.
- scripts/ingest/chunking.py: emit gap chunks for top-level code between symbols so imports/docstrings/top-level code are not dropped.
- scripts/ingest/pipeline.py: move dedupe delete to after embeddings/upsert and add per-file lock wrapper for smart reindexing; add retries/fallback in pseudo_backfill_tick.
- scripts/mcp_impl/context_search.py: scope fallback search to the same repo to avoid returning other repos' code.
- scripts/mcp_impl/search.py: run in-process reranker with a timed ThreadPoolExecutor to honor rerank timeout, and ensure rerank_return_m is treated as a quality cap while honoring caller limits.
- scripts/upload_delta_bundle.py: add atomic file writes, better error isolation for malformed/unsafe ops (skip and count failed ops instead of aborting bundle), collision warnings and safer apply logic.
- scripts/upload_service.py: persist per-workspace upload sequence to disk, warn on workspace key collisions, handle idempotent replay, apply bundles inline (ack after apply) and return processing metrics; improved error responses.
- scripts/workspace_state.py: make set_cached_file_hash atomic across threads/processes to avoid cache races.
- tests: add query DSL tests, chunking regression test and update upload_service tests to assert failed ops are isolated rather than raising.
These changes reduce silent failures, prevent data loss from partial operations, and make indexing/search behaviour more predictable.
0 commit comments