Skip to content

docs(lens): a refused Browser Run call says nothing about the engine - #288

Merged
oddharsh merged 3 commits into
mainfrom
docs/lens-engine-429-caveat
Aug 9, 2026
Merged

oddharsh merged 3 commits into
mainfrom
docs/lens-engine-429-caveat

Conversation

@oddharsh

@oddharsh oddharsh commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Chasing "does /lens actually run on Kitesurf" ran into a caveat worth writing down: an engine label on a non-200 is not evidence.

runBrowserAction only flips kitesurfParamLive true on response.ok, so a call Cloudflare refuses falls through to chromium-rest whether or not the selector was honoured, and the span records that label beside the failure. On the free plan the daily browser-minute ceiling does most of the refusing, which makes this the common case rather than the edge.

Measured 2026-08-08 in Workers Logs. Filtering on exists(lens.render_engine) returned five lens.browser spans over 24h, every one chromium-rest with lens.outcome: browser_budget_spent, reaching back to a 2026-08-07 scan of theverge.com on an earlier version. Read that as no data, not as a verdict for Chromium.

Same family as the "a 200 was being read as proof Kitesurf served" note it sits under, so it goes directly after it. Docs only, no code touched.

🤖 Generated with Claude Code

The engine seam only flips kitesurfParamLive true on response.ok, so a
call the API refuses falls through to chromium-rest whether or not the
selector was honoured, and the span records that label beside the
failure. On the free plan the daily browser-minute ceiling does most of
the refusing, which makes this the common case rather than the edge: a
log window fills with chromium-rest while holding no evidence about
Kitesurf either way.

Measured today while trying to answer whether /lens runs on Kitesurf.
Filtering Workers Logs on exists(lens.render_engine) returned five
lens.browser spans over 24h, every one chromium-rest with
lens.outcome: browser_budget_spent, back to a 2026-08-07 theverge.com
scan. Read the two attributes together, and read a window with no
successful render as no data.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 8, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
aadhar-sh 1432114 Aug 09 2026, 12:44 AM

oddharsh and others added 2 commits August 8, 2026 17:53
Empty commit. The github-advanced-security check failed on 30d55ef inside
GitHub's own autofix agent (CAPI 400, "The requested model is not
supported") before it read the diff, and that run is not retriable through
the API. This exists only to dispatch a fresh one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@oddharsh
oddharsh enabled auto-merge (squash) August 9, 2026 00:43
@oddharsh
oddharsh merged commit 36d3e55 into main Aug 9, 2026
4 of 6 checks passed
@oddharsh
oddharsh deleted the docs/lens-engine-429-caveat branch August 9, 2026 00:44
oddharsh added a commit that referenced this pull request Aug 9, 2026
…rnoon (#296)

Two releases shipped unlogged (Dyno at #295, the lens docs fix at #288), so
/updates still names v179 as the running build while describing /perf, a path
that now redirects. This stages the entry that covers both.

It also records two findings from that work in CLAUDE.md, because neither is
derivable from the tree and both cost real time:

26. `run_worker_first` caps at 100 rules and this repo sits at exactly 100.
    Adding two took it to 102 and wrangler refused to boot. Neither
    `npm run build` nor `wrangler deploy --dry-run` catches it, because
    parseStaticRouting runs at session creation; `npm run routes:check` does,
    because createTestHarness() starts a real Worker. That is a second reason
    the route oracle earns its keep. The note also says why deduping buys
    nothing (7 duplicates, wrangler counts the 100 unique) and to check the
    existing wildcards before adding a rule, which is how the Dyno change
    shipped at 100 instead of 102.

27. A red `github-advanced-security` check is usually GitHub's Copilot Autofix
    failing on its own infrastructure. Seen twice on 2026-08-08 across two
    unrelated PRs, both with CodeQL green. The signature is an empty output
    title plus an annotation pointing at `.github:<line>`, which is a directory
    and cannot have one. Read the sibling CodeQL check before touching code;
    it is not a required check and both PRs merged and shipped with it red.

Co-authored-by: Aadharsh Pannirselvam <19518661+oddharsh@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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