fix: data quality query and suppression fallback in recommendation worker
- Fix _DATA_QUALITY_QUERY: remove nonexistent d.source_id/s.source_class, use d.source_type directly - Fix LIMIT 1 applied after jsonb expansion by restructuring as CTE - Fix fallback build_quality_context_from_summary returning empty source_types which always triggered LOW_SOURCE_DIVERSITY suppression - Update test to reflect corrected fallback behavior
This commit is contained in:
@@ -128,12 +128,9 @@ def test_fallback_context_from_summary():
|
||||
def test_no_suppression_with_summary_fallback():
|
||||
"""When no quality context is provided, summary-based fallback is used."""
|
||||
summary = _make_summary(confidence=0.7)
|
||||
# Default config has min_source_types=1, but fallback has empty source_types.
|
||||
# With min_source_types=1 and empty source_types, LOW_SOURCE_DIVERSITY fires
|
||||
# only when total_documents > 0. But default min_source_types is 1 and
|
||||
# len(set()) = 0 < 1, so it would fire. Let's use a config that relaxes this.
|
||||
config = SuppressionConfig(min_source_types=0)
|
||||
result = evaluate_suppression(summary, config=config, reference_time=NOW)
|
||||
# Default config has min_source_types=1. The fallback now returns
|
||||
# source_types={"unknown"} so LOW_SOURCE_DIVERSITY does not fire.
|
||||
result = evaluate_suppression(summary, config=SuppressionConfig(), reference_time=NOW)
|
||||
assert result.suppressed is False
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user