Research
Compile Once, Govern Every Repair
Deterministic Replay for Repeated GUI Work
Reasoning through a known workflow on every run is wasteful and unsafe. It adds latency and cost, and—because a rendered “Saved” banner is not a persisted write—it can report success after a partial, duplicate, stale, or rejected business effect. OpenAdapt compiles one recorded demonstration into a deterministic program: healthy replay makes no model calls, a resolution ladder repairs targets when the interface drifts, and the runtime verifies effects against the application's own system of record rather than the screen—refusing when it cannot verify.
The headline result
We injected seven persistence faults behind a real HTTP boundary and ran each ten times. Judged by the screen—the same signal a computer-use agent or an RPA script trusts—replay silently accepted 50 of 90 wrong outcomes. When the consequential step declared a typed effect checked against the system of record, silent acceptance fell to zero.
What the paper reports
- Compiled replay vs. a computer-use agent. On an already-demonstrated OpenEMR task, compiled replay completed 20/20 runs at a 39.2 s median with no model calls, versus the agent's 70.4 s and $0.55/run. On the bundled CI fixture, 100/100 at 4.9 s versus 37.5 s.
- Repair under drift. When a theme re-render invalidated every recorded template crop, compiled replay self-healed in 9.7 s with 8 target repairs and zero model calls, while the same agent under the same drift took 87.4 s and $0.63.
- Identity before action. Against adversarial look-alike records (O/0, l/1), the identity ladder recorded zero false accepts in every tested configuration—halting rather than clicking a confusable target.
- One governed contract, many substrates. The same semantics drive browser, native Windows UI Automation, native macOS, and real-network RDP tasks, each with an independent effect oracle and explicit refusal controls.
Reproducibility
Every headline number in the paper is bound by a machine-check to a released raw benchmark file: the build fails if a constant in the text drifts from its artifact. The implementation, the raw run data, and the failure taxonomy are published together in the openadapt-flow repository. This is a technical report; see the paper for the exact scope of each measured result and its limitations.