Skip to content

quickstart

Submit External Outputs with the CLI

Prepare a frozen manifest, submit real application responses, inspect judging and compare explicit Trials.

Submit External Outputs with the CLI

Prerequisites

Authenticate with write access and select the exact organization, Project, Benchmark and immutable Version. Your application produces the responses in its own runtime. A managed Harness is optional.

Prepare Cases and criteria

Shell
teammately eval version-context --kind summary
teammately eval version-context --kind policies --limit 20
teammately eval version-context --kind rubrics --limit 20
teammately eval prepare --out ./evaluation-package

Read the generated manifest and result contract. Execute its frozen Cases with your application. Preserve Case, membership and record-version identities; access to a manifest does not grant access to protected materials.

Record actual responses

results.json shape
JSON
[
  {
    "case_id": "<issued Case ID from the manifest>",
    "output": {"reply": "<actual application response>"}
  }
]

Replace both placeholders with an actual manifest ID and its actual response. Each row has exactly one native JSON output or failure with code and message. Optional trajectory and measured latency/usage/cost remain absent when unknown. JSON null and text whitespace can be meaningful outputs.

Validate, submit and inspect

Shell
teammately eval validate-results \
  --manifest ./evaluation-package/manifest.json --results ./results.json
teammately eval submit-results \
  --manifest ./evaluation-package/manifest.json --results ./results.json \
  --name 'Application candidate' --receipt ./import-receipt.json

Missing Cases require explicit --allow-partial for both validation and submission. The CLI accepts result files up to 32 MiB and uses batches up to 10 MiB. Keep the manifest, results and receipt secure until recovery is no longer needed.

Use the returned child Run ID, not the group ID:

Shell
teammately run wait --run "$RUN_ID" --timeout 10m
teammately eval results --run "$RUN_ID" --limit 20
teammately run compare --run "$BASELINE_RUN_ID" --target "$RUN_ID"

Comparison needs an actual baseline selected before inspecting candidate outcomes. Without one, inspect the first Trial's results without inventing a comparison. Page through results and preserve incompleteness/comparability reasons.

Recovery and corrections

Retry an interrupted write with the same original files and receipt. Changed content needs a new receipt and operation. Accepted responses are immutable within a Trial; a correction can create another Trial in the same external Run using --group, or an intentionally new Run.

If completion froze the responses but judging admission failed, use teammately eval complete --group "$GROUP_ID" --run "$RUN_ID" --retry, retaining the original partial policy. Admission success is not completed judging. These operations do not adopt code changes or activate a Harness.

Found something unclear?

Report outdated, unsupported, or confusing docs so we can fix the source page.

Report a docs issue

Continue learning

Related docs