Skip to content

Everyday tasks suite, faster heavy sites, linked answers, one rule for obstacles and declines - #47

Merged
ahamsel merged 2 commits into
mainfrom
claude/everyday-suite
Sep 28, 2026
Merged

ahamsel merged 2 commits into
mainfrom
claude/everyday-suite

Conversation

@ahamsel

@ahamsel ahamsel commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Why

The benchmark leaned on email and shopping, so "powerful for any task" wasn't being measured. A new everyday suite of 13 common asks on public sites passed 11/13 on its first run in the user's Edge. The traces showed what to fix:

Task Problem
Best Buy price 20s of a 28.6s task spent waiting for ads and trackers to finish loading
YouTube trailer The answer had no link (the writer only saw page text)
Stack Overflow A CAPTCHA led the planner through 20 calls of Google caches and repeat searches (47.7s)
Chat replies Occasionally ended with filler

Separately, the user asked for obstacles and declines to be handled in one general way rather than case by case.

What changed

  • Everyday suite (bench --suite everyday):
    • Tasks: weather, a driving time, a YouTube trailer, a product price, a headline, MDN, a recipe, currency, GitHub stars, Stack Overflow, and a few facts.
    • Currency and GitHub stars are checked against live APIs.
  • Heavy sites: after a navigation, WebPilot proceeds once the DOM is ready, allowing at most 2.5s more for the full load. This applies to both drivers and all tab waits.
  • Linked answers: each page read keeps its most task-relevant links (absolute URLs, ranked by relevance) for the answer writer and the answer check. The writer includes links for the items it mentions.
  • One rule for obstacles, anything only the user can clear:
    • covers sign-in, CAPTCHA, paywall, verification code, payment details, consent, and declined actions;
    • never get past it or fake it; do everything else first; then say exactly what's needed.
    • Replaces the sign-in and CAPTCHA special cases.
  • One rule for declines: any declined confirmation hands the decision to the model. It judges whether anything can still move forward (other parts, other sources) or whether the rest depends on it. A declined action is never offered to Jev again.
  • Resilience: an answer stream that fails partway is withdrawn and retried once. It happened in a real run: "JSON error injected into SSE stream".
  • Chat replies are direct, with no filler.

Results (user's real browsers)

Suite Chrome Edge
Everyday 13/13, median 6.3s 13/13, median 7.3s
Realistic (regression) 11/11, median 9.1s 11/11, median 9.3s
  • Stack Overflow with a CAPTCHA: 14–18s (was 47.7s); it goes straight to another source.
  • Best Buy: 15–16s (was 28.7s).
  • The YouTube answer includes the watch link.

Also:

  • npm test: 76/76.
  • npm run extension:smoke: 11/11.
  • npm run build passes.

🤖 Generated with Claude Code

ahamsel and others added 2 commits September 28, 2026 20:24
…ule for obstacles and declines

- Everyday suite (bench --suite everyday): 13 common asks on public sites
  (weather, driving time, a YouTube trailer, a product price, news, MDN, a
  recipe, currency and GitHub stars checked against live data, Stack Overflow,
  facts). First run in the user's Edge: 11/13, median 6.1s.
- Heavy sites: after a navigation, act once the DOM is ready (plus up to 2.5s
  for the full load) instead of waiting up to 12-15s for ads and trackers to
  finish. Best Buy spent 20s of a 28.6s task waiting on the load event.
- Answers link to what they mention: each page read keeps its most relevant
  links (absolute URLs, ranked by relevance to the task) for the answer writer
  and the answer check.
- Obstacles, handled one way: a single rule for anything only the user can do
  or approve (sign-in, CAPTCHA, paywall, verification code, payment details,
  consent, a declined action): never get past it or fake it, do everything
  else first, then say exactly what's needed. Replaces the sign-in and CAPTCHA
  special cases.
- Declines, handled one way: any declined confirmation hands the call to the
  model, which decides whether anything can still move forward without it or
  the rest depends on it. A declined action is never offered to Jev again.
- Chat replies: direct, no filler.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OpenRouter dropped an answer mid-stream ("JSON error injected into SSE
stream") after text had shown, failing a 4s task. Streamed answers now take
an onReset callback: the partial text is withdrawn and the call retried once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ahamsel
ahamsel merged commit 0a28641 into main Sep 28, 2026
1 check passed
@ahamsel
ahamsel deleted the claude/everyday-suite branch September 29, 2026 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant