Skip to content

test(web-benchmark): re-record agent recordings for @e2e-dev/web 0.12 - #833

Merged
okwasniewski merged 1 commit into
mainfrom
oskar/rerecord-web-benchmark-0-12
Oct 4, 2026
Merged

okwasniewski merged 1 commit into
mainfrom
oskar/rerecord-web-benchmark-0-12

Conversation

@okwasniewski

@okwasniewski okwasniewski commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

The web agent job fails on main and on every open PR with 25 REPLAY_STALE. #774 (chore: version packages) bumped @e2e-dev/web from 0.11.2 to 0.12.0. The cache key carries the engine minor (packages/e2e/src/cache/identity.ts:185), so every committed entry sat under an old hash, and --strict-cache refused each step whose recording was stored under another key. No cache code changed.

  • Re-recorded tests-agent/ live: 30 new entries.
  • Deleted the 30 entries under the old keys.
  • Cache JSON only.

Steps not replayed are the same ones as before for the same reasons as #796: the cart totals and wishlist acts end in planted bugs (missed by design), shadow-dom-form and iframe-form miss at a gap, and lying-labels and async-states hand off at a gap. pick Express delivery, left out in #796, now records and replays.

Verified

Ran it locally: yes

  • Web benchmark, e2e run --config e2e.agent.config.ts --strict-cache against the built packages, the same command CI runs.
main this branch
Tests 25 failed (REPLAY_STALE) 33 passed
Replayed 0 26
Handed off - 2
Missed - 4
Model calls - 20
Cost - $0.0035

Recording run: 33 passed, 32 missed, 142 model calls, $0.048.

Follow-up

Every minor release of an engine invalidates all committed recordings this way, and the release PR does not catch it. Separate change.

Review in cubic

#774 bumped @e2e-dev/web to 0.12.0. The cache key carries the engine minor,
so every committed entry sat under an old hash and the strict web agent job
failed 25 steps with REPLAY_STALE. Re-recorded live; old entries deleted.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 31 files

Heads up: you’re close to your included review allowance. Set a flex budget so reviews don’t pause.

Re-trigger cubic

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

🟢 e2e web: 91 passed

All 91 tests in 41 files
Test Time
🟢 tests/aria-hidden-flow.e2e.ts · 2 passed 406ms
🟢 aria hidden flow › picks the Pro plan by its visible text and confirms it 285ms
🟢 aria hidden flow › another plan shows the error and keeps the picker open 121ms
🟢 tests/async-states.e2e.ts · 2 passed 7.0s
🟢 async states › reads the code off the transient toast and verifies it once the button enables 2.2s
🟢 async states › a wrong code is rejected after the toast has gone 4.8s
🟢 tests/canvas-only.e2e.ts · 2 passed 200ms
🟢 canvas only › taps square, circle, then diamond at their pixel coordinates 108ms
🟢 canvas only › a shape out of order paints the error and resets progress 92ms
🟢 tests/canvas-whiteboard.e2e.ts · 2 passed 317ms
🟢 canvas whiteboard › drags both shapes into their slots and saves 182ms
🟢 canvas whiteboard › bounces a shape off the wrong slot and refuses to save early 135ms
🟢 tests/cart-totals.e2e.ts · 2 passed 279ms
🟢 cart totals › increasing a quantity updates the line total but the order summary stays stale (planted bug) 164ms
🟢 cart totals › a quantity never drops below one 115ms
🟢 tests/checkout-review.e2e.ts · 1 passed 132ms
🟢 shows a raw greeting token and an undefined delivery date (planted bug), yet places the order 132ms
🟢 tests/context-menu-trap.e2e.ts · 2 passed 463ms
🟢 context menu trap › right-click opens nothing; the row menu renames the file 250ms
🟢 context menu trap › the decoy menu items refuse and keep the file 213ms
🟢 tests/control-inventory.e2e.ts · 8 passed 3.1s
🟢 control inventory › check sets the checkbox and the radio without flipping a set one 215ms
🟢 control inventory › check picks a radio the pick replaces with its summary 123ms
🟢 control inventory › a long press and a double click are told apart from a tap 942ms
🟢 control inventory › the file menu opens on right-click only and Rename renames the file 188ms
🟢 control inventory › setInputFiles attaches files named from the project root 117ms
🟢 control inventory › the details view is left through the browser history 142ms
🟢 control inventory › scrollIntoView brings the footnote into view 221ms
🟢 control inventory › every exercise done shows the success message 1.2s
🟢 tests/css-content-ui.e2e.ts · 2 passed 282ms
🟢 css content ui › the tile labelled Ship it advances and confirming ships 146ms
🟢 css content ui › a wrong tile shows the CSS-rendered error and keeps the picker 136ms
🟢 tests/date-picker.e2e.ts · 2 passed 496ms
🟢 date picker › navigates three months ahead and books the required date 279ms
🟢 date picker › confirming without the exact date shows the error 217ms
🟢 tests/debounced-search.e2e.ts · 2 passed 2.8s
🟢 debounced search › a decoy one character off is refused 1.4s
🟢 debounced search › picking the exact item adds it to the cart 1.4s
🟢 tests/deferred-dialog.e2e.ts · 1 passed 1.0s
🟢 one submit opens one confirm, even when double-clicked 1.0s
🟢 tests/div-soup.e2e.ts · 2 passed 564ms
🟢 div soup › a wrong code is rejected 249ms
🟢 div soup › the right code grants access after the delete tile fixes a typo 315ms
🟢 tests/drag-and-drop.e2e.ts · 2 passed 581ms
🟢 drag and drop › an out-of-order item resets the dropzone 284ms
🟢 drag and drop › dropping Banana then Cherry passes 297ms
🟢 tests/filter-deep-link.e2e.ts · 2 passed 180ms
🟢 filter deep link › filtering writes the query to the URL 100ms
🟢 filter deep link › opening a shared link restores the filter 80ms
🟢 tests/gift-card-purchase.e2e.ts · 3 passed 421ms
🟢 gift card purchase › refuses to buy without an amount 119ms
🟢 gift card purchase › refuses a recipient without an at sign 147ms
🟢 gift card purchase › sends the gift card 155ms
🟢 tests/hover-menu.e2e.ts · 2 passed 395ms
🟢 hover menu › a decoy leaf is refused 178ms
🟢 hover menu › hovering Account, then Billing, reaches Redeem voucher 217ms
🟢 tests/iframe-form.e2e.ts · 2 passed 364ms
🟢 iframe form › a wrong code is refused by the host page 165ms
🟢 iframe form › the code read from one frame applies through the other 199ms
🟢 tests/image-only-ui.e2e.ts · 3 passed 382ms
🟢 image only ui › the icons have no names, so the bare svg locator is ambiguous 81ms
🟢 image only ui › a wrong icon shows the error image and keeps the icons 119ms
🟢 image only ui › tapping the star, then the heart, verifies the icons 182ms
🟢 tests/infinite-scroll.e2e.ts · 1 passed 3.9s
🟢 scrolls the feed until the Golden Ticket loads, then claims it 3.9s
🟢 tests/kanban-board.e2e.ts · 3 passed 597ms
🟢 kanban board › pointer drags move both cards into the goal layout 315ms
🟢 kanban board › a swipe along a path drags a card as well 134ms
🟢 kanban board › a plain tap moves nothing and the untouched board is rejected 148ms
🟢 tests/login-form.e2e.ts · 4 passed 618ms
🟢 login form › rejects a malformed email 134ms
🟢 login form › rejects a short password 149ms
🟢 login form › rejects an unknown account 152ms
🟢 login form › signs in and logs out 183ms
🟢 tests/lying-labels.e2e.ts · 4 passed 495ms
🟢 lying labels › the button whose accessible name says Pay now is the wrong one 114ms
🟢 lying labels › a text match for Pay now catches the decoy phrase too 87ms
🟢 lying labels › the field whose accessible name says Amount is the wrong one 147ms
🟢 lying labels › visible text drives the payment through 147ms
🟢 tests/native-dialogs.e2e.ts · 3 passed 369ms
🟢 native dialogs › answers the confirm, prompt, and alert chain 119ms
🟢 native dialogs › dismissing the confirm cancels the order 115ms
🟢 native dialogs › a wrong gift code is rejected 135ms
🟢 tests/newsletter-signup.e2e.ts · 1 passed 2.2s
🟢 subscribe renders no feedback and logs a TypeError (planted bug) 2.2s
🟢 tests/onboarding-wizard.e2e.ts · 5 passed 3.9s
🟢 onboarding wizard › back keeps what was typed and the brief comes back with it 208ms
🟢 onboarding wizard › the address step takes the brief through its bare-div dropdown 247ms
🟢 onboarding wizard › the profile step steers the calendar three decades back 1.0s
🟢 onboarding wizard › the preferences step flips the toggles the brief names and leaves the trap off 1.2s
🟢 onboarding wizard › the review step repeats the brief and finishes with the PIN 1.3s
🟢 tests/order-history.e2e.ts · 2 passed 1.3s
🟢 order history › overview and settings render their panels 145ms
🟢 order history › the orders tab never leaves its loading state (planted bug) 1.2s
🟢 tests/otp-auto-advance.e2e.ts · 3 passed 1.3s
🟢 otp auto-advance › focus advances with each digit and the full code verifies 428ms
🟢 otp auto-advance › backspace on an empty box clears and refocuses the previous one 112ms
🟢 otp auto-advance › a wrong code clears every box and starts over 742ms
🟢 tests/overlay-trap.e2e.ts · 1 passed 680ms
🟢 continues only after the banner and the overlay are gone 680ms
🟢 tests/playbook-cleanup.e2e.ts · 2 passed 388ms
🟢 playbook cleanup › deleting the draft removes it from an exact-name search 190ms
🟢 playbook cleanup › cancelling the dialog keeps the draft searchable 198ms
🟢 tests/price-sorting.e2e.ts · 3 passed 303ms
🟢 price sorting › opens in the featured order with sale prices struck through 92ms
🟢 price sorting › low to high sorts by the original price, not the paid one (planted bug) 104ms
🟢 price sorting › high to low is the same wrong order reversed (planted bug) 107ms
🟢 tests/product-reviews.e2e.ts · 1 passed 1.1s
🟢 the running-shoe page lists coffee-grinder reviews (planted bug) 1.1s
🟢 tests/promo-storefront.e2e.ts · 1 passed 1.3s
🟢 buys a deal once the promo chrome is out of the way 1.3s
🟢 tests/rich-text-editor.e2e.ts · 2 passed 396ms
🟢 rich text editor › bolding exactly the required word passes the check 196ms
🟢 rich text editor › bold that spills into the previous word fails the check 200ms
🟢 tests/saved-addresses.e2e.ts · 3 passed 432ms
🟢 saved addresses › adds an address and clears the form 153ms
🟢 saved addresses › ignores an add with an empty field 131ms
🟢 saved addresses › delete shows its toast but keeps the address, on retry too (planted bug) 148ms
🟢 tests/shadow-dom-form.e2e.ts · 2 passed 465ms
🟢 shadow DOM form › rejects a wrong access code 232ms
🟢 shadow DOM form › grants access with the code from the hint inside the root 233ms
🟢 tests/smoke.e2e.ts · 1 passed 342ms
🟢 home lists the scenarios and opens one 342ms
🟢 tests/stale-dom.e2e.ts · 1 passed 2.1s
🟢 taps the moving target three times across rebuilds of the list 2.1s
🟢 tests/sticky-chrome.e2e.ts · 1 passed 166ms
🟢 accepts the terms once the button clears the sticky footer 166ms
🟢 tests/virtualized-table.e2e.ts · 1 passed 1m 5s
🟢 scrolls the windowed table to the Golden Row and claims it 1m 5s
🟢 tests/wishlist.e2e.ts · 2 passed 1.4s
🟢 wishlist › saving toggles the button and the tab badge 181ms
🟢 wishlist › the wishlist tab renders the empty state despite the badge count (planted bug) 1.2s

e2e 0.17.0 · 1m 49s · web · run artifacts

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

🟢 e2e web agent: 33 passed

34 agent steps · 26 replayed from cache · 20 model calls · 76.1k tokens (92% cached) · $0.0034

All 33 tests in 5 files
Test Agent Time
🟢 tests-agent/control-inventory.e2e.ts · 7 passed 7 steps 7.1s
🟢 control inventory › check sets the checkbox and the radio 1 step 526ms
🟢 control inventory › check picks a radio the pick replaces with its summary 1 step 243ms
🟢 control inventory › a long press and a double click are chosen over a plain tap 1 step 870ms
🟢 control inventory › a right-click opens the file menu and Rename renames the file 1 step 2.5s
🟢 control inventory › upload attaches the named project files 1 step 2.3s
🟢 control inventory › back returns from the details view to the inventory 1 step 239ms
🟢 control inventory › scroll_to brings the footnote into view 1 step 335ms
🟢 tests-agent/login-form.e2e.ts · 1 passed 1 step 312ms
🟢 act signs in with the benchmark account 1 step 312ms
🟢 tests-agent/planted-bugs.e2e.ts · 3 passed 4 steps · 8 calls 10.7s
🟢 cart totals: a judgment catches the stale order summary 2 steps · 4 calls 4.8s
🟢 checkout review: a judgment catches the broken copy 1 step · 1 call 1.5s
🟢 wishlist: a judgment catches the lost saved items 1 step · 3 calls 4.4s
🟢 tests-agent/scenarios.e2e.ts · 21 passed 21 steps · 12 calls 2m 33s
🟢 act completes shadow-dom-form 1 step · 3 calls 3.9s
🟢 act completes lying-labels 1 step · 3 calls 5.2s
🟢 act completes iframe-form 1 step · 3 calls 3.5s
🟢 act completes infinite-scroll 1 step 5.2s
🟢 act completes virtualized-table 1 step 1m 40s
🟢 act completes overlay-trap 1 step 816ms
🟢 act completes sticky-chrome 1 step 827ms
🟢 act completes async-states 1 step · 3 calls 12.3s
🟢 act completes debounced-search 1 step 2.3s
🟢 act completes hover-menu 1 step 450ms
🟢 act completes drag-and-drop 1 step 414ms
🟢 act completes kanban-board 1 step 584ms
🟢 act completes context-menu-trap 1 step 2.6s
🟢 act completes stale-dom 1 step 415ms
🟢 act completes otp-auto-advance 1 step 692ms
🟢 act completes date-picker 1 step 771ms
🟢 act completes rich-text-editor 1 step 7.7s
🟢 act completes playbook-cleanup 1 step 546ms
🟢 act completes promo-storefront 1 step 2.2s
🟢 act completes gift-card-purchase 1 step 2.4s
🟢 act filters the list and the URL carries the filter 1 step 210ms
🟢 tests-agent/unique-cache.e2e.ts · 1 passed 1 step 270ms
🟢 act adds an address with a run-unique label 1 step 270ms

e2e 0.17.0 · 2m 52s · web · run artifacts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant