mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-06 15:02:20 +02:00
fix(agent): honor explicit no-web requests
This commit is contained in:
@@ -8647,6 +8647,11 @@ def _web_search_unavailable_for_turn(
|
||||
"""
|
||||
if "web" not in set(intent_domains or ()):
|
||||
return False
|
||||
# Mentioning web only to forbid its use is not affirmative web demand.
|
||||
# Keep the web tools disabled, but let the normal model-only path answer
|
||||
# instead of claiming the request cannot proceed without web access.
|
||||
if _explicitly_avoids_web_lookup(text):
|
||||
return False
|
||||
# A turn is unavailable only when every public-web route is disabled.
|
||||
# Exact-URL turns intentionally expose web_fetch while keeping broad
|
||||
# web_search disabled; the former intersection check incorrectly
|
||||
|
||||
@@ -146,15 +146,8 @@ def test_negative_web_wording_withholds_the_web_tools(monkeypatch, phrasing):
|
||||
_assert_negative_web_turn(monkeypatch, phrasing)
|
||||
|
||||
|
||||
@pytest.mark.xfail(
|
||||
strict=True,
|
||||
raises=_MemoryOnlyTurnBlocked,
|
||||
reason="negative web wording is recognized but the memory-only turn is "
|
||||
"misclassified as web-dependent and blocked before the model call; "
|
||||
"production intent/short-circuit correction is outside test isolation",
|
||||
)
|
||||
@pytest.mark.parametrize("phrasing", BLOCKED_MEMORY_ONLY)
|
||||
def test_negative_web_wording_withholds_the_web_tools_unhandled(monkeypatch, phrasing):
|
||||
def test_negative_web_wording_withholds_the_web_tools_memory_only(monkeypatch, phrasing):
|
||||
_assert_negative_web_turn(monkeypatch, phrasing)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user