Automatic
Deterministic re-resolution
Structure, templates, OCR, and geometry try to re-find the recorded target. No model is required. A changed anchor is saved as an auditable bundle diff.
The method
Record a bounded, repeated task once. OpenAdapt compiles the trace into a deterministic local program, replays it with zero per-run model cost, and resolves, repairs, or halts under interface drift. Here is what each step produces and where the loop deliberately stops.
How it works
Three steps, one governed loop. Healthy replay is deterministic; model spend is reserved for compilation or repair.
Demonstrate one bounded, repeated task. OpenAdapt compiles the trace into a reviewable, parameterized program. Not a prompt a model rereads each run.
Healthy runs execute the compiled steps locally with zero model calls. Repeat runs are fast and cost nothing per run.
When the interface drifts, deterministic evidence re-finds the target, an optional model proposes a governed repair, or verification halts and keeps a run report.
From trace to program
A single demonstration can become a governed loop that runs once per record in a worklist: bounded, identity-gated, and effect-verified per record, halting on ambiguity instead of guessing. One recorded path becomes governed execution over a queue.
openadapt-flow for-each my-bundle --records worklist.csv --out queue-bundleCompiled-program visualizer
A recording under-specifies intent. The compiler turns it into a program you can read before it runs: each step, the resolution ladder, where an identity gate is armed, which writes carry an effect check, and every point the run can halt. Render it from the CLI as a self-contained page or Mermaid, or open the same graph in Cloud.
openadapt-flow visualize my-bundle --format html -o graph.html
Workflow catalog & halt map
The catalog is a read-only readout across every compiled workflow: what each one automates, how its trials went, and the return it stands to make. The step-level halt map shows where runs stop and why, so you fix the demonstration or policy at the exact step.

UI drift
OpenAdapt is not an unconstrained agent. Drift ends in one of four explicit outcomes, each visible in the run report.
Automatic
Structure, templates, OCR, and geometry try to re-find the recorded target. No model is required. A changed anchor is saved as an auditable bundle diff.
Optional
If deterministic evidence is insufficient and a model is configured, it can propose a target or confirm limited visual state. The model can be wrong, so identity, policy, and postcondition gates still decide whether execution continues.
Operator path
A halt produces evidence for an operator. The CLI can teach a correction, and durable mode can checkpoint verified progress for authenticated approval and resume.
Unsupported drift
If no configured path can establish the target or expected result, the workflow stops. OpenAdapt does not claim general adaptation to arbitrary application changes.
Availability and refusal depend on retained evidence and configuration. Identity checks cover armed steps only; system-of-record verification requires declared effects and a configured verifier. Read the measured limits.
See it running
Each reference is a bounded, synthetic fixture with its own honest evidence and caveats.