jev.directory
Systems
noulscorechoiceBrowser/CUA

Jev Browser — headless browser use, one Jev judgment per step

jev-browser drives a real headless Chromium and asks Jev to pick the next action, one call per step.

Three judgments over the same state, deliberately unable to see each other: a Choice over the page's clickable, typeable and selectable elements — which single action best advances the task — and two Nouls, whether the goal has been achieved and whether the run is stuck repeating itself. The fan-out is the point. Because goal_done cannot see the action the Choice picked, it is an honest cross-check rather than a rationalisation of it.

A native <select> adds a second-stage Choice over that element's option labels, asked only once the first stage has chosen it — Choice cardinality is bounded, and the options are not known until then.

Code owns the loop. Budgets, recovery and stop gates stay outside the model; what comes back is the final page, a step trace with per-step confidences, console errors and a screenshot.

Navigating Wikipedia from Coffee to Espresso took about four seconds and $0.0016.

Source (8 files)

scripts/ensure-chromium.mjs
src/cli.ts
src/index.ts
src/lib.ts
src/navigate.ts
src/provider.ts
src/questions.ts
test/e2e.test.mjs