From dc4a38f3bcdcf28380acf5e54d60f280c5b0ebcb Mon Sep 17 00:00:00 2001 From: pewdiepie-archdaemon Date: Thu, 17 Sep 2026 20:04:51 +0000 Subject: [PATCH] preserve manual formats and require discovery for evidence requests --- src/clean_agent_preview.py | 6 ++++-- src/turn_contract.py | 2 ++ tests/test_clean_agent_preview.py | 9 +++++++-- tests/test_turn_contract.py | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/clean_agent_preview.py b/src/clean_agent_preview.py index 465369775..c19c9571f 100644 --- a/src/clean_agent_preview.py +++ b/src/clean_agent_preview.py @@ -3441,7 +3441,7 @@ def preserve_requested_web_recency(name, args, *, user_text='', prior_search_int query = f'{query} site:{domains[0]}' if ( re.search(r'\bofficial\b', user, re.I) - and re.search(r'\b(?:manual|handbook|pdf)\b', user, re.I) + and re.search(r'\bpdf\b', user, re.I) and not re.search(r'(?:filetype:pdf|\.pdf)\b', query, re.I) ): query = f'{query} filetype:pdf' @@ -3912,7 +3912,9 @@ async def stream_preview(*, endpoint_url, model, messages, headers, turn_contrac budget_completion_attempted = False answer_recovery_attempts = 0 force_no_tools_next_round = False - force_web_search_next_round = False + force_web_search_next_round = ( + broad_current_web_request(direct_user_text) and not native_workspace_enabled + ) force_private_browser_next_round = False suggestion_retry_required = False suggestion_retry_attempted = False diff --git a/src/turn_contract.py b/src/turn_contract.py index 78acabf92..ba9688407 100644 --- a/src/turn_contract.py +++ b/src/turn_contract.py @@ -3991,6 +3991,8 @@ def broad_web_briefing_request(message: str) -> bool: return True if re.search(r"\b(?:research|investigate|deep[ -]?dive)\b", text, re.I): return True + if re.search(r"\b(?:find|gather|look\s+for)\s+(?:supporting\s+)?evidence\b", text, re.I): + return True if ( re.search(r"\b(?:latest|recent|current|today(?:'s)?|right\s+now)\b", text, re.I) and re.search( diff --git a/tests/test_clean_agent_preview.py b/tests/test_clean_agent_preview.py index a98adeb84..c9115b067 100644 --- a/tests/test_clean_agent_preview.py +++ b/tests/test_clean_agent_preview.py @@ -1987,14 +1987,19 @@ def test_missing_refinement_query_is_grounded_in_user_request(): assert args['time_filter'] == 'day' -def test_official_manual_search_requests_direct_pdf_results(): +def test_official_manual_does_not_invent_pdf_requirement(): args = preserve_requested_web_recency( 'web_search', {'query': 'WIKING Miro stove manual official source'}, user_text='Find the official English WIKING Miro stove manual online.', ) - assert args['query'].endswith('filetype:pdf') + assert 'filetype:pdf' not in args['query'] + explicit = preserve_requested_web_recency( + 'web_search', {'query': 'camera manual'}, + user_text='Find the official camera manual PDF.', + ) + assert explicit['query'].endswith('filetype:pdf') def test_unknown_official_domain_rejects_reseller_but_accepts_direct_document(): diff --git a/tests/test_turn_contract.py b/tests/test_turn_contract.py index 8ce9e0db2..4065c3135 100644 --- a/tests/test_turn_contract.py +++ b/tests/test_turn_contract.py @@ -35,6 +35,7 @@ from src.turn_contract import ( 'latset ai neews?', 'whats new in japan rn', 'what’s new in Sweden', + 'Compare battery chemistries for home storage. Find evidence and explain tradeoffs.', ]) def test_broad_web_briefings_share_one_search_semantic(prompt): from src.turn_contract import broad_web_briefing_request