Skip to content

Footwork

Verified computer-use agent: a Jev guard checks claimed completions and gates irreversible actions; Jev also takes simple steps.

ProjectbetaMIT

Overview

Footwork is a verified computer-use agent for the browser and native macOS apps. It puts a cheap, calibrated Jev guard in front of whoever drives: every claimed completion is checked against observed state and the trajectory before it counts, every irreversible action passes a gate, and every action returns a receipt describing what visibly changed. On top of the guard, Jev can take fast mechanical steps itself as System 1 while the driver, System 2, keeps the reading, comparing and deciding.

The driver can be an LLM loop using browser-use as a library, or an operator at the keyboard such as a person or a Claude Code session issuing one command at a time. Native apps are driven in the background through the Cua Driver's accessibility tree. The Python package is jevdual; every number in the README comes from a results directory, and every experiment was pre-registered before running. Optional browser inspection utilities collect redacted, timestamped evidence.

What the decision model decides

TypeQuestionAnswers
Yes / noIs the claimed completion supported by observed state and trajectory?yes · no
Yes / noIs this action irreversible and should it be gated?yes · no
ChoiceSystem 1: which action should be taken on this observation?—

How it works

  1. Start a task with a required completion condition
  2. Driver (LLM or operator) proposes actions; Jev may propose mechanical steps
  3. Gate irreversible actions; act, settle and re-observe with a receipt
  4. Accept completion only if Jev verifies it against evidence

Strengths

  • Pre-registered, measured experiments
  • Completion claims verified, not trusted
  • Works for browser and native macOS

Caveats

  • Multi-component setup (Python, Rust, Cua Driver)
  • Requires a TypeSafe key

Getting started

footwork start "Compute 48 times 13" --app Calculator --require "The display shows 624", then footwork look / s1 --act / do click <id>.

At a glance

Type
Project
Status
beta
Language
Python
Runtime
CLI (browser-use, Cua Driver)
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • A verified browser agent: a cheap Jev guard (evidence-checked completions, a destructive gate) in front of any LLM browser driver, with Jev taking the mechanical steps in dual mode. Built on browser-use; every number pre-registered and measured.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev verify?

That claimed completions match observed state, and it gates irreversible actions.

Who drives?

An LLM loop via browser-use, or a person or agent issuing commands.

Are results reproducible?

Experiments are pre-registered and numbers come from committed run directories.

Related projects

  • Claude Code plugin adding typed Jev decisions to hooks: task kind, command risk, failure class, completion; never grants permissions.

    PluginbetaJavaScript
  • Accessibility-first macOS computer-use MCP server and CLI, with optional Jev guards on targets and inputs before irreversible actions.

    PluginbetaPython
  • DeepSeek Harness plugin with 12 opt-in Jev or Luna Decisions judgments: skill and file selection, supervision, filtering and approval help.

    PluginbetaTypeScript
  • MCP server that lets agents observe and control Android phones over ADB, with Jev picking controls and judging goal completion.

    MCP serverbetaTypeScript
  • Flutter integration-test package where Jev picks the next registered UI action and judges whether the test goal is reached.

    LibrarybetaDart
  • Plain-English end-to-end tests for Android and iOS apps where Jev works out the taps and a lockfile replays every decision exactly.

    AppbetaPython