BetterWright 0.4.0
Added
- Native Pi Coding Agent integration — BetterWright is now a Pi package (
pi install npm:betterwright). Thepi.extensionsmanifest loads a persistentbrowsertool, an approval-gatedbrowser_downloadtool, screenshot vision blocks, bounded step budgets, optional trace recording, and typed JavaScript exports, without an MCP hop. - Online-Mind2Web benchmark harness — deterministic runner with 50-task and full 300-task manifests, development/holdout partitions, v2 trajectory validation, resumable subset runs, and a strict local multimodal judge.
- Recorded 300-task campaign report — 278/300 (92.7%) under the local strict judge, with public-safe results, difficulty breakdown, and dataset hashes under
benchmarks/online-mind2web/.
Changed
connectOverCdpnow has a display-aware default: on a desktop with a real Google Chrome, BetterWright attaches to that Chrome over CDP (real logins and extensions); headless or Chrome-less environments keep the managed Cloak sandbox with the network floor intact. PassconnectOverCdp: ""to force the sandbox.publicSearchPolicynow defaults to"allow"; set it (orBETTERWRIGHT_PUBLIC_SEARCH_POLICY) to"block"to route broad discovery through a host-supplied search tool.
Fixed
- Pi start-page navigation failures are recoverable and retained as trace evidence.
- Challenge detection and Pi trace screenshots follow only the active page, so a stale CAPTCHA tab cannot replace current evidence.
- The stock-Chromium fallback uses its own
profile-chromiumdirectory, preventing a shared-profile format upgrade from crashing the older Cloak binary; an already-poisoned profile now fails with a clear, actionable error. - Local benchmark judging retains the first trajectory frame.
Full details in CHANGELOG.md.