System One is Qwen3.5-4B-Base fine-tuned (LoRA + a scalar head) and temperature-scaled to answer typed questions with a calibrated probability distribution over exactly the options the caller supplies. That is the model's contribution. This Space shows the inference path that makes many of those decisions cheap, next to the instruct model on the same base doing the same job by generating JSON.
| how | forward passes | output | |
|---|---|---|---|
| System One, cached + parallel | prefill the state once, then score every (question, option) branch from that cache in one batched forward | 2 (+1 per 96 branches beyond the first 96) | a distribution per question — valid by construction |
| System One, naive | one forward per question, the state re-encoded for every option (what the calibration demo does) | one per question | the same distributions; run as a live equivalence check |
| Qwen3.5-4B instruct | greedy JSON generation, thinking off | one per generated token | text, parsed and checked against the allowed options after the fact; no probabilities |
Token accounting follows §4.1 of the
report:
naive is P·B + Σ tails, cached is P + Σ tails, for a P-token state and B branches.
The scorer's training format tokenizes State:\n{state} and
\n\nQuestion:\n{q}\n\nOption:\n{o} separately and concatenates them, so the head is a
token-exact shared prefix and each tail is a branch. Qwen3.5 is a hybrid: branching copies the
KV cache of its full-attention layers and the conv and recurrent state of its gated-delta-net
layers (Cache.reorder_cache with a zero index does both). On a random-weight Qwen3.5 in fp32
the branched scores match a full re-encode to ~1e-7; on the real model in bf16 the Space
reports the max |Δp| against the naive path on every run.
This is not the letter-logit trick from arm B of the report, where extra options are a free gather from one logits row. The 4B model is a scalar cross-encoder, so every option costs a branch — but only its tail tokens, never the state again.
200,000 / state_tokens otherwise. The
forward-pass count shown is the real one.Measured on 3,219 decisions about 500 real Gradio PRs (100–16k tokens, held-out, temperature from a
separate cal split): the scorer gets 0.740 accuracy against a 0.508 majority baseline with ECE 0.047,
and the published temperature transfers (refit: 1.867). But the untouched base model, read through
letter logits, is as good on the judgement questions and better above 2,000 tokens; the fine-tune's
advantage ends where its 384-token training data does. Full write-up: pngwn/open-jev-pr-eval.
Load PR fetches a public GitHub pull request (title, description, file list and per-file
patches; lockfile diffs are left out, and so are labels and changeset files, because they
state the answers to some of the questions) and uses it as the state, with a set of typed
review questions: kind of change, area, risk, review effort, semver bump, tests, API, breaking,
security, reviewer. It uses the unauthenticated GitHub API unless a GITHUB_TOKEN secret is set,
so it can be rate-limited; pasting the text works the same. The PR · 12 example is
gradio-app/gradio#13822, about 4,400 tokens.
SYSTEM_ONE_MOCK=1 python app.py serves the frontend with a fake backend (no GPU, no model
download beyond the tokenizer). SYSTEM_ONE_ADAPTER and SYSTEM_ONE_TEMPERATURE override
the scorer adapter and its temperature.
9 commits
System One is Qwen3.5-4B-Base fine-tuned (LoRA + a scalar head) and temperature-scaled to answer typed questions with a calibrated probability distribution over exactly the options the caller supplies. That is the model's contribution. This Space shows the inference path that makes many of those decisions cheap, next to the instruct model on the same base doing the same job by generating JSON.
| how | forward passes | output | |
|---|---|---|---|
| System One, cached + parallel | prefill the state once, then score every (question, option) branch from that cache in one batched forward | 2 (+1 per 96 branches beyond the first 96) | a distribution per question — valid by construction |
| System One, naive | one forward per question, the state re-encoded for every option (what the calibration demo does) | one per question | the same distributions; run as a live equivalence check |
| Qwen3.5-4B instruct | greedy JSON generation, thinking off | one per generated token | text, parsed and checked against the allowed options after the fact; no probabilities |
Token accounting follows §4.1 of the
report:
naive is P·B + Σ tails, cached is P + Σ tails, for a P-token state and B branches.
The scorer's training format tokenizes State:\n{state} and
\n\nQuestion:\n{q}\n\nOption:\n{o} separately and concatenates them, so the head is a
token-exact shared prefix and each tail is a branch. Qwen3.5 is a hybrid: branching copies the
KV cache of its full-attention layers and the conv and recurrent state of its gated-delta-net
layers (Cache.reorder_cache with a zero index does both). On a random-weight Qwen3.5 in fp32
the branched scores match a full re-encode to ~1e-7; on the real model in bf16 the Space
reports the max |Δp| against the naive path on every run.
This is not the letter-logit trick from arm B of the report, where extra options are a free gather from one logits row. The 4B model is a scalar cross-encoder, so every option costs a branch — but only its tail tokens, never the state again.
200,000 / state_tokens otherwise. The
forward-pass count shown is the real one.Measured on 3,219 decisions about 500 real Gradio PRs (100–16k tokens, held-out, temperature from a
separate cal split): the scorer gets 0.740 accuracy against a 0.508 majority baseline with ECE 0.047,
and the published temperature transfers (refit: 1.867). But the untouched base model, read through
letter logits, is as good on the judgement questions and better above 2,000 tokens; the fine-tune's
advantage ends where its 384-token training data does. Full write-up: pngwn/open-jev-pr-eval.
Load PR fetches a public GitHub pull request (title, description, file list and per-file
patches; lockfile diffs are left out, and so are labels and changeset files, because they
state the answers to some of the questions) and uses it as the state, with a set of typed
review questions: kind of change, area, risk, review effort, semver bump, tests, API, breaking,
security, reviewer. It uses the unauthenticated GitHub API unless a GITHUB_TOKEN secret is set,
so it can be rate-limited; pasting the text works the same. The PR · 12 example is
gradio-app/gradio#13822, about 4,400 tokens.
SYSTEM_ONE_MOCK=1 python app.py serves the frontend with a fake backend (no GPU, no model
download beyond the tokenizer). SYSTEM_ONE_ADAPTER and SYSTEM_ONE_TEMPERATURE override
the scorer adapter and its temperature.
9 commits