fix(retrieval): enforce source_kind on halacha_filters — close cross-corpus leak (GAP-10, INV-RET1)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 17:46:59 +00:00
parent 7826ff4910
commit 1af689a969
2 changed files with 105 additions and 2 deletions

View File

@@ -3165,7 +3165,10 @@ async def search_precedent_library_semantic(
of halacha review status.
"""
pool = await get_pool()
halacha_filters = ["h.review_status IN ('approved', 'published')"]
halacha_filters = [
"h.review_status IN ('approved', 'published')",
f"cl.source_kind = '{source_kind}'",
]
chunk_filters = [f"cl.source_kind = '{source_kind}'"]
h_params: list = [query_embedding, limit]
c_params: list = [query_embedding, limit]
@@ -3398,7 +3401,10 @@ async def search_precedent_library_lexical(
return []
pool = await get_pool()
halacha_filters = ["h.review_status IN ('approved', 'published')"]
halacha_filters = [
"h.review_status IN ('approved', 'published')",
f"cl.source_kind = '{source_kind}'",
]
chunk_filters = [f"cl.source_kind = '{source_kind}'"]
# $1 = query, $2 = limit. Filters append starting at $3.
h_params: list = [query, limit]