Summary
Task 429 appears structurally unsatisfiable under the current
NetworkEventEvaluator logic for navigate tasks.
The task asks the agent to view the map info pages for the college or colleges
where The Chair was filmed, opening each in a separate tab. The dataset has
two NetworkEventEvaluator rows:
__MAP__/relation/583390395
__MAP__/relation/172206707
However, for navigate tasks with expected GET requests, the evaluator filters
the trace down to only the last navigation event before comparison. Because the
two expected URLs are distinct, a single last navigation event cannot satisfy
both expected rows. One row will always fail depending on which target was
visited last.
Version
- package:
webarena-verified==1.2.3
- evaluator checksum observed:
35c3385b1db4b3378657589f95f50defd4234bd36e5b93d44733fd561b01db4e
- data checksum observed:
d65275660814663375028e9017e1f929e3c38321041b125795e2713b52243d30
Relevant Evaluator Logic
In
webarena_verified/core/evaluation/evaluators/network_event_evaluator.py,
_filter_events_by_criteria() contains:
if context.task.is_navigate_task and config.expected.http_method == "GET":
last_navigation_event = [e for e in events if e.is_navigation_event]
return (last_navigation_event[-1],) if last_navigation_event else ()
This means each NetworkEventEvaluator for the same navigate task only sees the
same final navigation event.
Why Task 429 Cannot Pass Cleanly
Task 429 expects two different final target URLs:
{
"evaluator": "NetworkEventEvaluator",
"expected": {
"url": "__MAP__/relation/583390395"
}
}
and:
{
"evaluator": "NetworkEventEvaluator",
"expected": {
"url": "__MAP__/relation/172206707"
}
}
If the agent visits 583390395 last, the 172206707 check fails.
If the agent visits 172206707 last, the 583390395 check fails.
The trace can contain both correct navigation events, but the evaluator discards
all except the last one before checking either expected URL.
Observed Behavior
In our run, the trace contained both expected map GETs with HTTP 200, but the
official result failed the first expected URL because the evaluator only checked
the last navigation event:
- actual event considered by the evaluator:
__MAP__/relation/172206707
- expected row that failed:
__MAP__/relation/583390395
The agent response evaluator passed; only the network-event row failed.
Expected Behavior
For tasks with multiple expected navigation URLs, the evaluator should either:
- compare each expected URL against the full navigation-event set, or
- model the task as requiring a set of navigation events rather than repeatedly
filtering to only the final navigation.
Suggested Fix
In _filter_events_by_criteria(), when a navigate task has multiple
NetworkEventEvaluator expectations, avoid the last-navigation-only reduction
and fall through to the normal URL filtering logic. That would allow each
expected URL to match the corresponding event in the trace.
Boundary
I am not requesting a benchmark score change here. I am reporting what appears
to be an evaluator/task contract issue for task 429.
Summary
Task
429appears structurally unsatisfiable under the currentNetworkEventEvaluatorlogic fornavigatetasks.The task asks the agent to view the map info pages for the college or colleges
where The Chair was filmed, opening each in a separate tab. The dataset has
two
NetworkEventEvaluatorrows:__MAP__/relation/583390395__MAP__/relation/172206707However, for navigate tasks with expected
GETrequests, the evaluator filtersthe trace down to only the last navigation event before comparison. Because the
two expected URLs are distinct, a single last navigation event cannot satisfy
both expected rows. One row will always fail depending on which target was
visited last.
Version
webarena-verified==1.2.335c3385b1db4b3378657589f95f50defd4234bd36e5b93d44733fd561b01db4ed65275660814663375028e9017e1f929e3c38321041b125795e2713b52243d30Relevant Evaluator Logic
In
webarena_verified/core/evaluation/evaluators/network_event_evaluator.py,_filter_events_by_criteria()contains:This means each
NetworkEventEvaluatorfor the same navigate task only sees thesame final navigation event.
Why Task 429 Cannot Pass Cleanly
Task
429expects two different final target URLs:{ "evaluator": "NetworkEventEvaluator", "expected": { "url": "__MAP__/relation/583390395" } }and:
{ "evaluator": "NetworkEventEvaluator", "expected": { "url": "__MAP__/relation/172206707" } }If the agent visits
583390395last, the172206707check fails.If the agent visits
172206707last, the583390395check fails.The trace can contain both correct navigation events, but the evaluator discards
all except the last one before checking either expected URL.
Observed Behavior
In our run, the trace contained both expected map GETs with HTTP
200, but theofficial result failed the first expected URL because the evaluator only checked
the last navigation event:
__MAP__/relation/172206707__MAP__/relation/583390395The agent response evaluator passed; only the network-event row failed.
Expected Behavior
For tasks with multiple expected navigation URLs, the evaluator should either:
filtering to only the final navigation.
Suggested Fix
In
_filter_events_by_criteria(), when a navigate task has multipleNetworkEventEvaluatorexpectations, avoid the last-navigation-only reductionand fall through to the normal URL filtering logic. That would allow each
expected URL to match the corresponding event in the trace.
Boundary
I am not requesting a benchmark score change here. I am reporting what appears
to be an evaluator/task contract issue for task
429.