Added in 0.3. The matching producer capability is slate.
A slate is a set of runs started together on one task, from one commit, to be compared. A pair is a slate of two. Runs on the same task and the same starting point compare configurations directly, without differences in task difficulty in the way. A preference is a judgement between slate members: which one is better, or a tie. Each run is its own document, so each member’s file carries the same slate object, and every preference is copied into every member’s file.

Slate

Runs started together on one task to be compared (a pair is a slate of two). Every member’s file carries the same object (E194).
required
string[]
required
Run ids.
string
At most 200 characters.
boolean
Members ran in separate worktrees or sandboxes.
boolean
Judges did not know which member ran which configuration.
  • isolated says the members ran in separate worktrees or sandboxes, so one could not see or disturb another’s changes.
  • blinded says the judges did not know which member ran which configuration.

Preferences

A pairwise judgement between slate members. Copied into every member’s file; readers deduplicate by id.
required
string
required
At most 200 characters.
string
required
A member run id, or tie (E194).At most 200 characters.
string[]
object
  • A reader MUST deduplicate preferences by id, since the same preference appears in every member’s file.
  • winner is a member’s run id, or tie.
  • judge.kind says who judged: a referee agent, the user, or a model. tier says how the judgement is known.

Requirements

These are checked as E194:
  • The run’s id MUST be one of slate.members.
  • When both are present, task.base_commit MUST equal slate.base_commit.
  • A preference that names a slate MUST name this run’s slate. Its winner MUST be tie or one of the preference’s members, or of the slate’s members when the preference lists none.
  • Documents with the same slate.id MUST share task.id and the base commit (task.base_commit, else slate.base_commit). A checker can only see this when it reads several files at once, as loopmath ocp validate does when given more than one file.
A preference is a judgement between slate members, and each member’s file carries the same slate object. The reference checker does not test either: it does not check a preference’s own members against the slate, and across files it compares only the task and the base commit. See what the checker does not test.

Privacy