Skip to content

[Eval] Add repeatable browser and desktop task suites #13

Open

Description

@Yunaik

Why

Browser and desktop improvements need a fixed set of tasks with explicit success checks and repeatable starting conditions. The existing evaluation runner, job records, and replay tools provide a starting point.

Scope

Create a small suite covering browser forms, date selection and search, plus desktop document editing and file dialogs. Define the required operations for each task and record unsupported operations explicitly. Establish the baseline on tasks the current agent can execute.

Reuse the existing evaluation runner and artifact formats. Record completion rate, total time, decision latency, model cost, and failure reason. Record hardware and model configuration for local inference.

Acceptance criteria

  1. Every task defines its initial conditions, reset procedure, required operations, and an independent success check.
  2. Repeated runs use the same task definitions and budgets across models. All attempts count toward completion rate, including failures, timeouts, and unsupported tasks.
  3. Results distinguish model inference, environment execution, and total task time. Local compute cost assumptions are stated.
  4. Saved records and replays are sufficient to inspect failures and reproduce the result table.
  5. The documented command runs the initial suite and produces a baseline report. Desktop results identify the operating system.

Starting points

evals/README.md, s1a/agents/desktop.py, and docs/browser-front.md.

This suite supplies the baseline for Cua-S1 4B 0.2 evaluation, desktop operation extensions, and bounded recovery.

Activity

  1. Birfy commented on Oct 9, 2026

    @Birfy
    Collaborator

    Triage against main 320bb086: the existing table is a useful starting point, but its score/time/cost columns cannot yet serve as this issue's application-completion report.

    evals.table.rows removes errored trials before calculating time, calls and cost, as well as score. The current regression deliberately expects one scored trial plus two errors to show N=1, score=1.0; an all-error group loses its resource totals. This is existing game-score behavior, so application reporting should add explicit fields rather than silently redefine those metrics.

    Suggested report acceptance checks:

    • Enumerate the fixed task/repeat/model/budget matrix before execution. Reconcile every planned entry with an outcome, including unsupported tasks and interrupted/missing records; an absent result.json must not silently shrink the denominator.
    • Persist the independent task verdict separately from the run status. Retain both when a correct submission is followed by a timeout; declare whether the task's success rule requires clean termination.
    • Keep time, calls and known cost from failed attempts in all-attempt aggregates. Preserve unknown usage/cost, and show any scored-only or successful-only statistics with their own denominators.
    • Keep incompatible checkpoint, serving, OS, task-version and budget configurations in separate comparison groups; the current table groups only by eval/model.

    Overlap: #31 already introduces shared recovery records and paired summaries with independent verification and failure-inclusive denominators. Reuse that contract where it fits, while leaving its recovery-specific comparisons in #16. #42 supplies a final-page artifact; #52 measures decision-service quality. Neither replaces this suite's independent application verdict.

    Review/acceptance clarification only; no implementation is claimed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions