"""Heuristic gate for `_rewrite_query` (bot.py). Skips the LLM round-trip when the message has no pronouns or deictic references that would need context.""" from bot import Bot def _needs(msg: str) -> bool: return Bot._needs_query_rewrite(msg) def test_short_message_skipped(): assert _needs("hi") is False assert _needs("ok") is False def test_self_contained_no_pronouns_skipped(): assert _needs("What is the capital of France?") is False assert _needs("Summarize the Q3 earnings report") is False assert _needs("Wie ist das Wetter in Berlin morgen") is False def test_english_pronouns_trigger(): assert _needs("What does it mean?") is True assert _needs("Can you fix that?") is True assert _needs("Tell me more about them") is True def test_german_pronouns_trigger(): assert _needs("Was bedeutet das?") is True assert _needs("Kannst du es noch einmal erklären") is True assert _needs("Wer sind sie?") is True def test_french_pronouns_trigger(): assert _needs("Qu'est-ce que ça veut dire?") is True assert _needs("Parle-moi de lui") is True def test_empty_or_whitespace(): assert _needs("") is False assert _needs(" ") is False