A benchmark for typed System One decision models
Jev · Laya · Kev · and whatever comes next
System One models read a block of state plus typed questions and return a probability distribution over the answers you defined — one of N options, a level on an ordinal scale, or yes/no — in a single forward pass. No text is generated, so nothing has to be parsed. sys1bench measures what that buys: whether the probabilities are calibrated (against a noise floor), how much the answer depends on how the question is worded, how confidence behaves out of scope, how accuracy scales with options and state length, whether batched questions interfere, and what it all costs per decision. Headline numbers come from generated items whose labels follow a stated policy, so they cannot be memorised.
pip install sys1bench
sys1bench suite all results/my-model --config my_model.yaml # A–I on generated, policy-labelled data
sys1bench report results --html results/dashboard.html # tables + interactive dashboard
Results at a glance
Jev 1.13.0 (hosted), Laya 0.3.4 and Kev 0.8B / 4B / 9B (local, GB10) on identical generated manifests, n = 500, September 2026. Left to right: accuracy across five paraphrases and criteria variants of the same question (red = canonical wording); reliability on the same question; accuracy as the option count grows from 2 to 255; median latency as more questions share one request. Hosted latency includes the network path and is not comparable to local compute time.
Why this benchmark
| Policy-labelled data | Labels follow a rule stated in the question (e.g. urgency + 1 if angry + 1 if premium tier, cap 4). A regex cannot solve it; neither can memorised public sets. Control arms are paired item-for-item: unknowable, label-noise, distractor, none-of-the-above. |
| Calibration relative to noise | Every ECE is divided by the ECE a perfectly calibrated model would show on that sample. Brier decomposition, clipped NLL, per-primitive temperature refit, quantisation report. |
| Wording as a factor | Accuracy is the median over five paraphrases and three criteria variants, with the range shown; adversarial wordings reported as a worst case. |
| Selective prediction and cost | Risk–coverage, coverage at 5 % risk, abstention with and without an explicit option, and realised cost per 10 k decisions under argmax, Bayes and escalate policies from per-question cost matrices. |
| Ordinal, not categorical | MAE, weighted kappa, ranked probability score, monotonicity along controlled severity ladders, 3/5/10-level scale invariance. |
| Honest infrastructure | Hosted and local latency never share an axis; the serving device is recorded on every row; a local model that lands on CPU when CUDA was requested aborts the run; every response is cached and re-derivable offline. |
Add your model
A hosted model with a conventional JSON decisions API needs a config file, no code:
sys1bench configs example_future_vendor > my_model.yaml # fill in url, auth env var, field names
Anything else subclasses BaseAdapter (declare capabilities, implement decide) and registers with @register("my_model") or the sys1bench.adapters entry-point group from your own package. Kev, which speaks the TypeSafe API, runs with --config kev_4b and no code at all.
Documentation
- Specification — contract, data tiers, suites A–I, statistics, audits, rules for future models
- Design review — how the design was derived from the public state of the art
- Changelog · Issues
Apache 2.0 · Rahul Sharma · numbers change with model versions, so every row carries the version string the provider returned
Release files for sys1bench 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sys1bench-0.3.2.tar.gz | 145.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sys1bench-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 316.1 kB
Release files / sys1bench-0.3.2.tar.gz
| Download URL | sys1bench-0.3.2.tar.gz |
|---|---|
| Size | 145.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80b690f5fd18ed6870f4e2589d6c36f48ad6ab991a70e1d5ac144d84dd8d8420
|
|
BLAKE2b-256 checksum How to use checksums |
26670fd8a17165cbaff0143a75fb205b77000cc8f61b09e18dde2aef6a9170ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / sys1bench-0.3.2-py3-none-any.whl
| Download URL | sys1bench-0.3.2-py3-none-any.whl |
|---|---|
| Size | 170.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e846d00be69fb9ba7d3b45d3643a622af714d2ec1972a5e0e0b32969bc15e05
|
|
BLAKE2b-256 checksum How to use checksums |
d183a8d981703b876dd0d1b46de3b2535d10dbc6c62f62a1fc7654fc048df4d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log