TypeSafe's System One Becomes Decision-Model Default in Six Weeks — OpenAI Sends a Fork
A new model category spent six weeks going from one startup’s experiment to a contested standard. Decision models — purpose-built systems that return typed answers with calibrated probabilities instead of prose — now have at least twelve vendors implementing the same core API schema. Except OpenAI, which shipped something almost identical under different names.
What Decision Models Do
A decision model takes application state (a customer message, a document, a policy rule) alongside a set of typed questions and returns structured answers with per-option probabilities. It never writes prose, code, or explanations. Because it generates no prose, each call is a single forward pass; output tokens are minimal.
TypeSafe AI’s Jev introduced the System One schema in mid-September. Three question types cover most classification, routing, and moderation workloads:
- choice — select one option from a named list
- score — place input on an ordered rubric (0 to N-1 scale)
- noul — return the probability that a yes/no condition holds (TypeSafe’s portmanteau of “no” and “null”)
How System One Spread
The schema moved faster than anyone expected. Within three weeks of Jev’s launch, Upstage deployed Solar Decide (released September 22) on its 35B MoE Solar Mini 4 model using the /v1/systemone path and TypeSafe’s exact request/response schema. Ollama added the endpoint in version 0.35 (September 29), shipping with three decision models — Nimble (9B from Bespoke Labs), Tev1 (4B from Together AI), and Tev1:0.8B.
AWS released Strands Decider 2B on October 1 with an Apache 2.0 license. It runs as a server on /v1/systemone — the same address. Microsoft’s Decision-1 on Azure AI Foundry uses TypeSafe’s noul, choice, and score types at its own path (/providers/microsoft/v1/systemone). Cloudflare Clef on Workers AI is “fully compatible with Jev and SystemOne.” Jared Palmer’s open-source Kev project, multiple SGLang and Ollaya runtimes, and LLM Gateway all expose the same interface.
The second tier keeps the semantics while changing the URL: OpenRouter serves native Jev at its Decisions API but also maintains a TypeSafe-compatible route for SDK portability. Perplexity’s Decisions API supports the same three question types at /v1/decisions. Venice serves Jev through a beta endpoint of its own.
Code-level portability is real: TypeSafe’s Python SDK works against any System One-compatible server once you change the base URL.
Strands Decider’s Architecture
AWS chose a causal decoder for Strands Decider 2B rather than an encoder-based classifier — the approach that dominates text classification in production. Marc Brooker, a principal engineer at AWS, explained the decision in a post published October 4.
Brooker compared five designs head-to-head. His production baseline (v19) is a 2B modified causal decoder built on Qwen3.5. He tested two encoder-decoder hybrids based on T5Gemma 2 at 2B and 8B total parameters, plus two encoder-only designs based on T5Gemma (2.6B) and a latency-optimized variant with a masked state cache.
On accuracy, the 8B encoder-decoder (b2) beat v19 on JevBench accuracy and calibration — but at four times the parameter count. The encoder-only design (e1b) roughly tied v19 on accuracy with slightly worse calibration.
On latency, the encoder-only models win at short prompts: roughly 35ms median versus v19’s 65ms. But the gap closes as prompt length grows, and e1b’s scaling is worse. Brooker’s finding: at production context lengths — where application state includes full documents or conversation histories — the causal decoder’s more favorable scaling preserves its advantage.
AWS’s own JevBench run on the public set scored Strands Decider at 0.723, comparable to Jev 1.13 at 72.13 on the same benchmark.
OpenAI Sends a Fork
OpenAI answered the category not with a System One implementation but with its own Decisions API, launched at DevDay in September. It runs on a specialized version of GPT-6 Luna and is still in limited preview with no published schema or pricing.
Structurally it is almost identical — the same three question types appear. But OpenAI uses different names: predicate where System One uses noul, and adds a refusal answer type absent from the TypeSafe schema. The endpoint sits at /decisions, not /v1/systemone. Only after OpenAI’s launch did it quietly add /decisions to its OpenAPI spec without bumping the version number.
The API Evangelist noted that only four providers — TypeSafe, Telnyx, Perplexity, and LLM Gateway — publish an OpenAPI for their decision endpoints. AWS and Ollama specs were reverse-engineered from source code. OpenAI’s schema remains unavailable.
The Chat Completions Precedent
The Chat Completions API is the closest analogy. vLLM, Ollama, OpenRouter, and dozens of providers cloned it until it became the default way to call an LLM. In January 2026, OpenAI launched Open Responses — an open specification based on its Responses API — with OpenRouter, Hugging Face, LM Studio, and Vercel as partners. The pattern: semantic shape spreads first, governance follows.
System One is less than two months old and covers three question types with minimal surface area — far simpler than Chat Completions. The proliferation speed suggests the category will consolidate. What decides the outcome is whether TypeSafe publishes System One as a formal open specification before OpenAI’s schema gains traction. If both schemas accumulate production deployments, the category carries two incompatible contracts. If OpenAI publishes and the market follows, it rewrites the default the way it did with LLMs.
The current state: twelve vendors on System One, one holdout with a draft.