State: the material Jev evaluates
State is the content you ask a System One model to evaluate: a support message, a passage, or a slice of application data. It travels in the state field next to questions. Each request evaluates one state against one or more questions. Every question sees that same state and is scored independently.
This page is for builders who already heard of Jev / System One and keep stuffing whole tickets, PDFs, and image URLs into the payload. jev.pro is an independent unofficial field guide — not affiliated with TypeSafe AI. Confirm the concept page on docs.typesafe.ai. We do not sell keys.
Definition
Jev is TypeSafe’s first public System One model: unstructured state in, typed probabilistic decisions out. State is the material, not the judgment. Keep facts in state. Keep the judgment in instructions and criteria.
There is no hidden session memory. If you need history, put the slice you need in this request. Jev will not crawl a file URL for you. Fetch text in your code, then send it.
Schema-safe answers still depend on what you put here. Garbage in, confident-looking Choice out. Schema-safe ≠ correct.
Allowed shapes
| Format | Use when | Example |
|---|---|---|
| String | One piece of text | "My card was charged twice." |
| Object | Named fields and related records | { "message": "...", "order_id": "A-104" } |
| Array | A sequence of messages or records | ["Hi", "My card was charged twice."] |
Prefer an object for most production calls so each part has a name. Point questions at fields with backtick paths such as ticket.messages[0].text.
What cannot go in state
Jev accepts text only. Images, audio, video, and binaries are not. English is the primary training language; other languages are accepted with currently lower accuracy — language support.
Do not treat a URL as an attachment. Only if you fetch it and put text in state does Jev see it.
Mental model: filter before you send
The jev-1.13 jaggedness note says accuracy falls as the state grows with unrelated detail. Retrieve and filter in code. Context limits live on the models page: 64k tokens for state plus all questions combined, and 32k for state plus the single longest question (vendor claims). Unused tokens still bill as input (vendor list price $0.042 per million; output free).
All atomic questions in one POST share this state. That is why extra questions are cheap relative to extra HTTP calls: you do not resend the ticket. Questions remain independent — one answer is not hidden context for another.
Keep hard policy out of a 40-page dump. Extract clauses (policy-aware decisions, data handling). Keep arithmetic in code; 1.13 is weak at numeric precision.
State vs instructions
Belongs in state |
Belongs in instructions / criteria |
|---|---|
| Customer message, records, extracted clauses | The snap judgment you want |
| Named fields your paths can point at | Option lists and rubric levels |
| The history slice for this decision | Weights you will apply in code anyway |
If you put the question in state and leave instructions vague, you are fighting 1.13’s literal wording.
See also
FAQ
Do all questions share state?
Yes. That is why extra questions are cheap relative to extra HTTP calls.
Can I attach a file URL?
Only if you fetch it and put text in state. Jev will not crawl for you.
State vs memory?
There is no hidden session. If you need history, put the slice you need in this request.
Does a larger state make Jev “smarter”?
On 1.13, unrelated detail tends to hurt. Filter. Schema-safe ≠ more correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.