mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-06 06:52:20 +02:00
preserve web tools in compound artifact workflows
This commit is contained in:
@@ -192,6 +192,16 @@ def test_typo_heavy_product_problem_is_complete_not_ambiguous_fragment() -> None
|
||||
assert not _is_ambiguous_short_low_signal(text)
|
||||
|
||||
|
||||
def test_product_review_request_routes_to_web_search_without_search_verb() -> None:
|
||||
from src.turn_contract import selected_tools_for_request
|
||||
|
||||
assert selected_tools_for_request("What's Dyson pencil vac reviews") == frozenset({"web_search"})
|
||||
assert "web" in _classify_agent_request(
|
||||
[{"role": "user", "content": "What's Dyson pencil vac reviews"}],
|
||||
"What's Dyson pencil vac reviews",
|
||||
)["domains"]
|
||||
|
||||
|
||||
def test_standalone_link_fragment_gets_clarification_path() -> None:
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@@ -2267,6 +2267,19 @@ def test_explicit_native_web_workflow_outranks_incidental_task_words():
|
||||
assert selected_tools_for_request(message) == {"web_search", "web_fetch"}
|
||||
|
||||
|
||||
def test_explicit_native_web_workflow_preserves_workspace_artifact_tools():
|
||||
message = (
|
||||
"Use Odysseus web_search to locate each RFC, then web_fetch every page. "
|
||||
"Create /tmp_workspace/results/inventory.jsonl, read the local inputs, "
|
||||
"and run the Python validator before finishing."
|
||||
)
|
||||
selected = selected_tools_for_request(message)
|
||||
assert selected == {
|
||||
"web_search", "web_fetch", "read_file", "write_file", "edit_file", "python",
|
||||
}
|
||||
assert requested_capabilities(message) == {"search_browser", "shell_files"}
|
||||
|
||||
|
||||
def test_typoed_webhook_inventory_selects_admin_reader():
|
||||
message = "list my webhoks again"
|
||||
assert selected_tools_for_request(message) == {"manage_webhooks"}
|
||||
|
||||
Reference in New Issue
Block a user