Skip to content

Address agent-friction issues from real usage analysis (#30, #31, #32, #33)#34

Merged
detrin merged 2 commits into
mainfrom
fix/agent-friction-issues
Jun 29, 2026
Merged

Address agent-friction issues from real usage analysis (#30, #31, #32, #33)#34
detrin merged 2 commits into
mainfrom
fix/agent-friction-issues

Conversation

@detrin

@detrin detrin commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Fixes derived from analyzing 5,505 real brow calls across 11 agent projects. Each fix targets a quantified friction point.

Closes

Changes

#30 [N] ref-as-selector (25 failed calls)

_resolve_selector now coerces a bare [N]/N selector to [data-brow-ref="N"]. Agents copy the snapshot token [1] and click "[1]" just works instead of SyntaxError: '[1]' is not a valid selector.

#31 session profile lock (117 "already in use" errors)

  • session new --reclaim closes the stale holder and takes over the profile.
  • Conflict message now says: ... Retry with reclaim, or run: brow session delete N.

#32 eval footguns (26 'coroutine' errors)

  • text(sel) / texts(sel) async helpers in the eval namespace for the common "just get the text" case.
  • Un-awaited-coroutine errors now append: "page methods are async; did you forget 'await'?".

#33 weak auto-settle (1,947 manual sleep N)

  • navigate --wait domcontentloaded|load|networkidle (capped at 10s). Lets agents wait for SPA/network settle instead of guessing sleeps.

Not in this PR

#29 (brow read content extraction) — the biggest finding (1,241 html + 1,173 eval calls bypassing snapshot) is a design feature, deferred to its own PR.

Verification

  • 100 tests pass (added: bracket-ref click, networkidle navigate, eval text() helper, coroutine hint, profile conflict + reclaim).
  • ruff clean.
  • SKILL.md + CHANGELOG updated.

🤖 Generated with Claude Code

detrin added 2 commits June 29, 2026 11:47
- #30: click/fill/select accept '[N]' snapshot ref as selector
- #31: session new --reclaim + actionable profile-conflict message
- #32: eval text()/texts() helpers + missing-await hint
- #33: navigate --wait domcontentloaded|load|networkidle

Derived from analysis of 5,505 real brow calls across 11 projects.
Updates SKILL.md and CHANGELOG. 100 tests pass.
@detrin detrin force-pushed the fix/agent-friction-issues branch from 6d90667 to 180d9e6 Compare June 29, 2026 09:47
@detrin detrin merged commit 2545c39 into main Jun 29, 2026
7 checks passed
@detrin detrin deleted the fix/agent-friction-issues branch June 29, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment