test(integration): address round-7 review — keep RAG assertion live, fix races
- test_no_results_for_unrelated_query: replace pytest.skip with `unrelated = ... or 0.0` and fall through. The physics query almost always returns nothing on this corpus, so the skip meant the comparison (and the manual-is-indexed check) never ran. Treating no-results as score 0.0 keeps the test live and vacuously satisfies `0.0 <= relevant`. - test_sampling: the three limit/threshold/max-tokens tests now gate on a representative created note being searchable (search_term + note_id) instead of a bare idle signal that can fire before the new notes are enqueued. - _get_with_retry: only sleep between attempts, not before giving up. - _search_helpers: log the id/doc_type schema-drift mismatch at WARNING (CI runs --log-cli-level=WARN) so it surfaces instead of hiding behind a timeout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4c7c627e51
commit
ca313e7271
@@ -49,9 +49,10 @@ async def document_is_searchable(
|
||||
if r.get("id") == note_id:
|
||||
if r.get("doc_type") == "note":
|
||||
return True
|
||||
# id matched but not a note — surface possible schema drift
|
||||
# rather than silently timing out.
|
||||
logger.debug(
|
||||
# id matched but not a note — surface possible schema drift at
|
||||
# WARNING (CI runs --log-cli-level=WARN) instead of letting the
|
||||
# caller time out with a generic message.
|
||||
logger.warning(
|
||||
"search hit id=%s has doc_type=%s (expected note)",
|
||||
note_id,
|
||||
r.get("doc_type"),
|
||||
|
||||
Reference in New Issue
Block a user