Computaco

Expert work, checked.

Games became training data because a program can tell who won. A procedure a lawyer, an engineer or a team already follows gets the same property here: it runs through pointer and keyboard, replays to the byte, and its own checks judge it.

260verified episodes
52procedures
14domains
4.8×GUI actions per tool call
49×tokens per tool-call token

A thousand verified trajectories for eight cents.

Every catalog procedure, performed through pointer and keyboard, every frame rendered, replayed to the byte and passed by its own checks: 7.2 s on one CPU core, or $0.08 per thousand. The cheapest computer-use agent comes to about $305 per thousand, because it pays for every screenshot it reads and every attempt that fails.

The ComputerWorld rows and one DeepSeek sample are measured. The other rows are estimates built from published prices and success rates over the catalog’s 89 actions per trajectory at 1280×800. Each assumption gives the agent the benefit of the doubt; the table lists them with sources.

MeasuredEstimate

The chart draws from data/expert/cost.json.

Table, assumptions and sources

A diff becomes a team episode.

The input is a real change, its regression test, and who asks, fixes and reviews. The output is one episode across a Mac, an Ubuntu desktop and a Windows desktop, each action chosen from the screen of the person who makes it. Through tools the same task is 29 calls.

swe-atlas-bfs-dead-end, seed 3: 118 actions, 7 checks pass.

A feature tree becomes a part.

A FreeCAD document is a tree of features. The compiler walks it in order and writes how an engineer builds it: sketch each profile, type each dimension, apply each feature, save. The CAD engine recomputes the result and checks every typed value.

cad-mounting-plate, seed 1: 86 actions, 16 checks pass.

An accountant closes the month.

QuickBooks, the bank feed and the August statement are in the world. The accountant matches each bank line to the books, books the lines that nobody recorded, reconciles to $516,301.17, posts depreciation and an accrual, and closes August. That is 128 actions. Through tools it is 62 calls, and 39 checks read the ledger.

fin-month-end-close, seed 1: 128 actions, 39 checks pass.

A music claim is disputed and released.

An editor licenses a music track, renders the cut and uploads it. A producer schedules the video on YouTube. Content ID then claims the music. The producer disputes the claim with the license. The claimant has 30 days to reply; the world clock passes them, the claim is released, and the video premieres. 102 actions, 23 checks.

med-video-claim-dispute, seed 1: September 17 to October 17.

Each domain gains a different amount.

Every procedure runs on the same seeds twice: through the screen, and through the tool calls that reach the same verified state. CAD gains the most, because one tool call writes the finished file. Government filings gain the least, because their tool path still fills each form field with its own call.

Tool callsGUI actions

The chart draws from data/expert.json.

Table view

Every episode is one dot.

Pick any two measured dimensions. Each domain then gets its own panel, lit against the rest of the swarm. Hover a dot for its procedure and seed.

The chart draws from data/expert.json.

Table view: median per procedure

Every number comes from one run.

The figures on this page read data/expert.json, written from one run of the dataset generator over every procedure, seeds 1–5. Actions are measured; tokens are a stated convention. The cost comparison reads data/expert/cost.json, from its own runs.

How procedures work
How these were measured

Every number on this page and in the home page’s section is read from data/expert.json, which scripts/site/build-expert-data.py writes from one run of the dataset generator: every procedure in worlds/*/procedures, procedure seeds 1–5, worlds booted with seed 7, 1280×800, text typed as runs, engine 0.3.0. All 52 procedures in 14 domains verified on every seed, through the screen and through tools, and none was skipped; the run took 179.8 s without frames.

Action counts are measured. Tokens are a convention, not a measurement: one observation per GUI action at ⌈w·h/750⌉ = 1,366 tokens, plus the actions’ JSON at four bytes a token; the tool side counts only the calls’ JSON, so it understates the tool cost and the token multiplier is an upper bound.

The cost comparison is measured separately: research/studies/expert-cost/measure.py (native) and measure-wasm.mjs (Wasm) time every procedure on seeds 1–3, each pinned to one core, through projection, rendering every frame and PNG encoding; measure-agent.py runs a real model on the same worlds; build.py writes the file from those runs and the dated prices and success rates in agents.json.

python examples/python/expert_dataset.py --episodes 5 --skip-failing --out target/site-expert
python scripts/site/build-expert-data.py target/site-expert --out site/data/expert.json

Dataset digest e477247fa91e81fe40b2c56f2036ea4bbafc08a1e01f838bfd1feaa2b99421c8. The videos are re-rendered by replaying the recorded actions, and the renderer refuses an episode whose replay does not end on the measured state hash. How procedures are written, projected and verified