AgentWorkflow and Grader against a dataset, then reports aggregate scores and per-sample results. Runs visible on the Platform can originate from managed execution after eval submit or from a completed local eval run published with --upload or eval upload.
Concepts
Smoke Test or Formal Evaluation
- Local smoke test: use
osmosis eval runwith a small[evaluation].limitto confirm that the rollout works end-to-end and the grader returns useful scores. - Managed formal evaluation before training: use
osmosis eval submitand set[evaluation].limitto the dataset row count to evaluate every row; otherwise Osmosis selects a random 10% sample. An uploaded local result does not replace this managed full-size gate.
Evaluation Configuration vs Evaluation Run
An Evaluation Configuration identifies the model, dataset, AgentWorkflow, and evaluation settings. An Evaluation Run is one execution of that configuration. Submit the same configuration more than once to compare changes over time.Dataset Input Modes
In prompt mode, dataset rows provideuser_prompt and a reference answer in ground_truth or its label alias. In metadata mode, each row provides a metadata JSON object so the AgentWorkflow can construct the task. A Grader in metadata mode can use ctx.label, ctx.metadata, or both; write the workflow and grader to the contract of the dataset you select.
Publishing a Local Run
Run locally through the rollout’sLocalBackend or Harbor backend and publish after completion:
eval upload has no confirmation prompt. It requires authenticated workspace context and a compatible completed directory containing manifest.json, index.jsonl, progress.json, and metrics.json. Pending and cancelled runs cannot be uploaded; failed and skipped samples are terminal and uploadable.
Publication is idempotent and server-authoritative. Re-running the same command after interruption returns the same platform run and uploads only missing server files. Resuming an interrupted upload needs nothing extra. Publishing a different set of results for a run that already finished importing needs --replace, which is how a retried run replaces what it published. When present, the combined logs.txt is uploaded to the run’s Logs tab. Before hashing it, the CLI re-applies redaction using known provider and platform key values of at least 8 characters from the current process environment; see log redaction and its limits. Osmosis strictly validates the allowed trajectories and artifacts and recomputes metrics without launching hosted or Temporal evaluation work.
Submitting a Managed Evaluation Run
Submit a TOML configuration fromconfigs/eval/:
--yes to skip the confirmation prompt in scripts or CI:
Key Configuration Fields
branch and commit_sha are mutually exclusive. With branch, Osmosis resolves the branch head once at submission and stores that full commit SHA on the run. Omit both fields to use the repository’s default branch.
See Config Files for the full TOML reference, including
[env] and [secrets].n is the number of attempts per selected dataset row. With limit = L and n = N, Osmosis runs up to L * N evaluations, or sampled_rows * n when sampling.Status Lifecycle
Monitoring
Platform Dashboard
Open the standalone Evaluation Runs page at platform.osmosis.ai to search and filter runs by status, dataset, model, and rollout. Uploaded local results carry a Local badge, and dirty Git provenance produces a warning. Each run page has a sidebar for status, sample progress, duration, pass rate, tokens used, submission details, dataset, model, and rollout, when those values are available. The run page has four tabs:- Overview: aggregate reward statistics and a pass@k view when the run has enough attempts.
- Evaluation Samples: searchable, filterable sample outcomes with rewards, workflow messages, ground truth, grader metrics, and downloadable artifacts when present.
- Configuration: the rollout entrypoint, pinned branch or commit, model, dataset, evaluation settings, resolved secret scopes, and environment keys.
- Logs: lifecycle events and diagnostics for the run.
CLI Commands
eval info reports run context, timing, progress, configuration, and aggregate results as they become available.
Managing Runs
Stopping a Run
stopped after cleanup finishes. Pass --yes to skip the confirmation prompt.
Retrying Failed Samples
Osmosis classifies each sample attempt assuccess, failed, or skipped. The meaning of skipped depends on origin. A managed run records it when the attempt timed out with no grade. A local run records it when the grader succeeded and set remove_sample to exclude the row. A retry re-runs the skipped and failed rows and carries every success forward. This keeps one run rather than two to reconcile, and only the re-run samples consume compute.
Retry run on a finished, failed, or stopped run’s detail page re-runs its ungraded samples. The same thing from the CLI:
--retry-failed --upload together replace the run’s published results in place, so the platform run keeps its ID and URL. See Retrying Failed Samples for the local details.
Next Steps
Config Files
Reference for the evaluation TOML config.
Datasets
Upload and validate datasets for evaluation runs.
Training Runs
Submit a training run after the managed full-size evaluation gate passes.