Skip to content

v1.4.28

@sachitrafa sachitrafa tagged this 28 May 12:34
BM25 was contributing zero on alias queries because FTS hits that didn't
clear the cosine threshold (0.50) were discarded before scoring. The hybrid
formula (0.4×bm25 + 0.6×cosine) only ran over vector candidates, making
BM25 effectively a no-op for exact alias matches like 'k8s' → Kubernetes.

Fix: after vector search + FTS search, fetch FTS-matched memories not in
vector candidates and add them to the pool. BM25 now pushes alias matches
above the score threshold even when cosine alone is insufficient.

/retrieve now accepts a scope parameter (list of context_paths values).
Applied as a hard filter before scoring — beliefs with mismatched scope
are excluded entirely, not just de-boosted. Beliefs with no context_paths
annotation or user:universal scope are always included.
Assets 2
Loading