Paper under double-blind review

The Agent-Native App: Building It (GUIOS) and Measuring It (LiveGUI-Bench)

Anonymous Authors

Built on the executable application APIs of AppWorld

500workflow cases
9+2app domains & families
2,386reserved episodes
10,480deterministic assertions
soonresults (rerun in progress)
LiveGUI-Bench overview: intention plus context must become an Agent-as-GUI workflow surface that survives an open-submit-revise-reopen episode sequence; chat answers, static mockups, and hidden memory each fail a different contract.
Overview. Given an end-user intention and context, a generator must produce an Agent-as-GUI workflow surface — a generated interface that an agent maintains as the user's visible, operable, recoverable task state — and the surface must survive a reserved open–submit–revise–reopen episode sequence. Each existing interaction form fails a different contract: a chat answer must be restated every day, a static mockup routes no control into an agent, and hidden memory leaves the user nothing to reopen.

Abstract

Recurring personal work is stateful and accretes across days: a user should be able to return tomorrow to visible, editable task state an assistant created today. This calls for an agent-native app — an interactive application whose interface, state, and behavior are generated and maintained by an agent — yet each dominant interaction form fails it differently: chat is one-shot, a static mockup routes nowhere, hidden memory exposes no object to trust, and a GUI agent cannot create the missing workspace. We make the concept both buildable and falsifiable over one shared spine of five executable contracts: visible task state, action routing, real-API grounding, grounded visible update, and reopen persistence. GUIOS makes it buildable: a whiteboard runtime that turns one natural-language sentence into a validated spec package rendered as a live interactive app whose controls dispatch to a unified agent backend making real API calls. LiveGUI-Bench makes it falsifiable: 500 cases over nine AppWorld single-app domains plus the multi_tool and shared_world families, with 2,386 episodes and 10,480 deterministic assertions checked against execution traces, API-call records, and AppWorld database diffs. The primary metric, Full Workflow Resolution (FWR), credits a case only when every contract holds in every episode. Results from the 500-case OpenRouter rerun are pending; the prior 319-case pilot found that routing and persistence are largely solved while real-API grounding is the dominant bottleneck.

The Task: Agent-Native Apps, Made Executable

On Monday, a user asks an assistant to plan outfits for a rainy week. On Tuesday, the forecast changes and the user revises the plan. On Wednesday, they reopen the plan before leaving home. A chat answer is one-shot. A generated mockup looks like a planner, but its buttons dispatch to nothing. Hidden agent memory retains the facts but gives the user no visible object to inspect, edit, or trust. A GUI agent can operate an existing app, but cannot create the missing workspace itself.

Agent-native app — an interactive application whose interface, state, and behavior are generated and maintained by an agent. Its evaluable form is the Agent-as-GUI workflow surface: a generated interface the agent maintains as the user's visible, operable, recoverable task state.

Given an intention x and context c, a system produces generate(x, c) → surface | failure. The evaluator never grades the serialized package directly — it renders the surface and executes a reserved episode sequence against it, through user-level actions only (fill, click, observe):

1 · open 2 · submit 3 · revise 4 · reopen

Episodes mirror how a real user returns to a workspace over days; the reopen episode runs after full teardown.

Five executable contracts

C1 · OPEN

Visible task state

Opening the surface renders task-relevant state and controls. Typical failure: blank shell, transcript answer.

C2 · SUBMIT / REVISE

Action routing

Events dispatch into the app-scoped agent workflow the surface declares. Typical failure: static controls, dead handlers.

C3 · SUBMIT / REVISE

Real-API grounding

The named AppWorld API is invoked and the application database changes — naming an API is not calling it. Typical failure: API named but never called.

C4 · SUBMIT / REVISE

Grounded visible update

The concrete returned entity (a playlist title, an amount, a file path) becomes user-visible state. Typical failure: hidden backend memory, generic echo.

C5 · REOPEN

Reopen persistence

After closing and reopening, the entity is still visible and editable. Typical failure: state reset, route loss.

SCORING

Full Workflow Resolution (FWR)

A case is resolved only if every contract holds in every episode — no partial credit at the case level. Assertion Pass Rate (APR) is reported only as a diagnostic.

Dataset

LiveGUI-Bench targets recurring personal workflows where a persistent visible surface is more appropriate than a one-off answer: a weekly commute-playlist builder, a shared-expense settle-up tracker, a download-folder sorter. The 500 cases span nine single-app AppWorld domains (spotify, amazon, gmail, phone, venmo, splitwise, todoist, simple_note, file_system) plus two compositional families: multi_tool (one app spanning ≥3 services) and shared_world (two apps sharing one world, the second discovering state the first wrote). Splits are stratified within every domain and family: 147 dev / 172 public-test / 181 sealed-test; the sealed split is withheld for hosted evaluation.

Each case carries on average 11 deterministic assertions whose expected values are concrete case entities — 376 assert a named API invocation, 268 assert an application-database change, 382 assert a concrete entity in visible state. Intentions and assertions were authored by multi-agent pipelines and adversarially reviewed so every grounding value is a concrete entity, never a generic word. Two live-world soundness audits then repaired 187 and 61 cases via a tracked override layer — the second asking whether a correct app could still fail (underivable expected values, widget-prescriptive wording) — growing the fixture library to 118 files of seedable world state and quarantining 7 unsatisfiable cases; the audited suite ships as v0.2.0 (219 cases with multi_tool and shared_world compositional extensions).

{
  "id": "spotify-weekly-commute-playlist__submit",
  "kind": "submit",
  "userMessage": "Vibe is upbeat indie, seed artists Phoenix and
      Two Door Cinema Club, about 20 songs for Monday Commute.",
  "assertions": [
    { "type": "route_enters_orchestrator", "value": true },
    { "type": "appworld_api_called",      "value": "create_playlist" },
    { "type": "appworld_db_changed",      "value": "spotify" },
    { "type": "visible_result_grounded",  "value": "Monday Commute" }
  ]
}

Illustrative episode schema (not a sealed-test case). Because AppWorld apps are real executable services with real databases, “the workflow created the Monday Commute playlist” is a checkable fact, not a rubric judgment.

Evaluation Harness

All systems are evaluated through a single adapter boundary: the harness supplies intention and context and receives a package or an explicit failure. The harness never repairs missing routes, missing state, or unrenderable surfaces — a broken package fails exactly as it would for a user. Routing is read from the runtime's agent trace; API invocation from per-action tool-call records; database change from AppWorld snapshots diffed before and after each call; persistence from a fresh state query after teardown.

Evaluator architecture: GUI evaluator for admission checks and behavior evaluator driving online episodes over the same generated surface.
Two evaluators, one action path. The GUI evaluator (/evaluator/gui) performs deterministic admission-quality checks on the package and its rendered A2UI model; the behavior evaluator (/evaluator/run) drives long-horizon exploratory sessions one user-level action at a time, ending in an LLM judgment over the full trajectory. All reported scores come from the deterministic runner; on a stratified 15-case probe the two evaluators agreed on 14 of 15 cases — the single disagreement was the behavior evaluator catching a spurious deterministic flake.
Benchmark pipeline from case sampling through reserved episodes to layered reporting.
Benchmark pipeline. A generator receives only intention and context, emits a workflow-surface package, and is evaluated through reserved open–submit–revise–reopen episodes with per-layer assertions feeding FWR and layer-attributed diagnostics. Every reported number is generated from archived report.json / run-summary.json artifacts by checked-in scripts.

Results

The 500-case suite is new, and every headline number will be compiled from archived report.json artifacts of the OpenRouter rerun — never transcribed by hand. Until those artifacts are archived, this section reports the measurement plan, not numbers.

What will be measured

Six scripted controls. Direct answer, static shell, route-only, hidden state, schema-first, and a multi-agent control — each constructed to pass some contracts and fail a targeted one, calibrating how far a single assertion-level score (APR) overstates workflow competence relative to FWR.

The GUIOS baseline on frontier models. GUIOS — the reference agent-native runtime and the benchmark's own baseline generator — runs end-to-end on multiple backing models behind one OpenRouter-compatible endpoint, over the 172-case public-test split; the sealed split is withheld for hosted evaluation.

A no-grounding ablation. The identical generator with the API-invoking executor disabled passes zero API and database assertions by construction, bounding exactly how much of the remaining score is surface behavior.

Contract localization. Per-contract pass rates (routing, API invocation, database change, grounded visibility, persistence) localize failures. The 319-case pilot found routing and persistence largely solved while only a small fraction of required API invocations actually happened — real-API grounding is expected to remain the dominant bottleneck, now stress-tested by the shared_world family where a second app must discover state the first really wrote.

Pilot observations (319-case suite, archived artifacts) are described qualitatively in the paper's case-study appendix; they are not comparable to the 500-case suite and are not shown here as current results.

Behavior Trajectories

The online behavior evaluator archives per-step snapshots of the rendered surface, which the harness renders into trajectory frames — the user's-side view of the same contracts the deterministic assertions check.

Fitness check-in surface, step 1: fields filled Fitness check-in surface, step 4: first submit routed and visible plan updated Fitness check-in surface, step 6: revision submit with updated visible plan
Passing episode — a fitness check-in surface completes fill → submit → revise: each click routes into the app-scoped workflow and the visible plan updates.
Amazon review-backlog surface at open Amazon surface after grounded API call: review id 15968 visible Venmo recurring-rent surface whose action degenerates to echoing the app title
The grounding discriminator. Left/center: an Amazon review-backlog surface routes a submit into the workflow, invokes the real create_product_review API, and writes the returned entity (review id 15968) into the visible result — a grounded, passing step. Right: a Venmo recurring-rent surface with equally structured slots, whose action degenerates to echoing the app title — no grounded entity ever reaches the surface. Same generated-app machinery; real-API grounding is the discriminator.

BibTeX

@article{liveguibench2026,
  title   = {LiveGUI-Bench: A Behavioral Benchmark for
             Agent-as-GUI Workflow Surfaces},
  author  = {Anonymous Authors},
  note    = {Paper under double-blind review},
  year    = {2026},
  url     = {https://liveguibench.pages.dev/}
}