Repository navigation
Conversation
yummybomb
force-pushed
the
hypeship/bench-checkout-intents
branch
from
October 8, 2026 18:57
2d82690 to
62ca74e
Compare
A prepare intent walks a site's flow part way and may register named action tools as well as read-only ones. Once the agent is done, the runner reads the end state with the intent's read-only check tool, in both arms, and grades it, so the result comes from the site rather than the agent's answer. The first one puts the cheapest Delta Main Classic fare in the cart and stops on Trip Summary. Each WebMCP invocation now records the tool's own status and error message. invoke ok counted calls whose tool returned status error as successes; it no longer does. The report adds a per-tool failure table with the most common errors.
…corded invocations
yummybomb
force-pushed
the
hypeship/ab-harness
branch
from
October 8, 2026 20:33
e738025 to
01262f4
Compare
yummybomb
force-pushed
the
hypeship/bench-checkout-intents
branch
from
October 8, 2026 20:33
62ca74e to
5d6e626
Compare
This was referenced Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #112.
Summary
Two additions to
bench/: checkout intents, and per-tool failure reporting.Checkout intents. The bench so far only measured single lookups, and only registered read-only tools, so it couldn't measure multi-step flows such as booking a flight, where the tools should help most. A new
prepareintent:actions: tools that change site state, registered alongside the read-only ones;check: a read-only tool, input and rules. Once the agent is done, the runner invokes that tool in the browser and grades its output. It does this in both arms; control gets the tools registered only at that point. So the end state is read from the site rather than trusted from the agent's answer.The first one is
delta-cart-main-classic: put the cheapest Delta Main Classic one-way fare in the cart and stop on Trip Summary, checked withget_trip_summary(step, passengers, one slice, origin, destination, cabin). The system prompt's checkout rule becomes "do not pay, place an order or complete a booking, and go no further into a checkout than the task asks".Tool failures. Each WebMCP invocation now records the tool's own
statusand an error message. Before this,invoke okcounted any invocation that finished as a success, including tools that returned{"status": "error"}, and calls rejected for a staletool_refwere recorded asunknown. The report adds a table per tool: calls, failures, and the most common errors.Testing
node --test "bench/**/*.test.mjs": 66 pass. New tests cover prepare-intent validation, action registration, end-state grading, and failure capture for three cases: the call failed, the tool returned an error, and the MCP server rejected the call.delta-cart-main-classicon Haiku 5.5 at low thinking, stealth browsers, $0.13. All 6 trials reached Trip Summary with DL 1162, Main Classic, ATL→MCO, $143.40 in the cart, verified byget_trip_summary. Treatment was faster in all 3 pairs (1.3×). The failure table showsdelta.com/search_flightsfailing all 6 calls withUI_CHANGED: missing button, which is why agents finished by clicking through instead.search_flightsfailing on every call.Review fixes
checkcan listsame_as_answerpath pairs;delta-cart-main-classicrequires the answer'samount_dueto equal the cart's, so the agreement check onamount_duecompares what was actually in the cart rather than what the agent reported.