Skip to content
OATSCHEMA

Docs / Built for model outputs

Built for model outputs

Annotation is increasingly done by models, by pipelines that chain them, and by people checking their work. OATS gives all of them one shape for each task.

One shape, whoever does the task

A model, a pipeline and a person write the same JSON. Swap one for another, compare their outputs, or grade a model against human labels without converting formats.

Strict where model output is unreliable

Objects are closed with additionalProperties: false, so fields a schema doesn't define are rejected. A hallucinated key fails validation instead of slipping into your data.

The only exceptions are deliberately open objects such as attributes, and those are size-limited too.

Bounded by design

Every string has a maxLength, every array a maxItems, and every open object a maxProperties and a limit on key length. A runaway or malicious output can't overwhelm whatever reads it.

Stable for evaluation

A released version never changes, so benchmark results and stored records stay comparable over time. Pin the versioned URL, and upgrade when you choose. How the URLs work.

Any validator, any language

The schemas are plain JSON Schema draft 2020-12, so any compliant validator works. Validate a record in Python.