Writing Jev criteria that the model can use
Criteria close the set of answers.
| Type | Criteria shape | Limits (API) |
|---|---|---|
| Choice | Map of option → description or null |
Max 255 options |
| Score | Ordered array of level descriptions | 2–10 levels |
| Noul | Optional { true, false } |
— |
Treat criteria as an extension of the instruction. If they ask for different things, jev-1.13 can get confused. The jaggedness page’s example is a Noul whose true maps to no.
Practical rules from the docs
- Put boundary cases in the criteria, not in a footnote you hope the model infers.
- Add
other/noneon Choice when coverage is incomplete. - Write Score levels as descriptive, ordered rungs a person could apply.
- Keep criteria and instructions in language “easy for the average person to read.”
- Criteria, like instructions, can hold JSON structure. See advanced structure.
When a wrong answer makes you explain “what you really meant,” that explanation belongs in the instruction or a criterion. TypeSafe’s literal-reading note is exactly this.
Sources
Public TypeSafe or adjacent documentation only. No private claims.