JEBADIAH

What Jeb does

He doesn’t talk much. He just decides.

A support desk gets a ticket. It needs four answers before anyone reads it: which team, whether to reply today, how upset the customer is, and whether they want money back. Here is what Jebadiah 9B v2 returned on our fleet on 26 September 2026.

Incoming ticket

“Payouts failing again. Third payout this week bounced with error PAYOUT_REJECTED. I have to pay two contractors by Friday and your status page says everything is fine. What is going on?”
Unassigned
Jeb 9B v2 · four questions about 1.3 s end to end

Which team takes it?

choice
Billing0.878
Technical0.107
Account0.009
Sales0.007

Reply today?

noul
P(true)0.917

How frustrated is the customer?

score
0 · Calm0.009
1 · Mildly annoyed0.095
2 · Frustrated0.493
3 · Angry0.402

Expected level 2.29 on a 0 to 3 scale: between frustrated and angry.

Is the customer asking for a refund?

noul
P(true)0.020

What a chat model gives you

“This sounds like a billing issue, though it could involve the technical team since there's an error code. The customer seems quite frustrated, so it would be good to respond promptly...”

Now write code that turns that into a route, a priority and a refund flag. Then do it again when the wording changes.

What Jeb gives you

Numbers your code can use as they are. Route to billing because 0.878 clears your bar. Page someone because frustration sits at 2.29. Skip the refund flow at 0.020. The same question asked twice gets the same numbers.

choice

Pick one of several named options. Jeb returns a probability for each.

noul

A yes or no statement. Jeb returns the probability that it is true, from 0 to 1.

score

An ordered scale. Jeb returns a probability per level and the expected level.

Public Jeb · the generalist

Three sizes. Open weights.

Every model is Apache-2.0 and trained on public data only. The score is our own eval, not a leaderboard: a macro average over public decision sets the models never trained on.

Jebadiah 27B v2.1

Base: Qwen3.8-27B

57.03our run, Decision Index 0.3 public suite, board update pending
bf16
55.6 GB
Q8_0
29.0 GB
Q4_K_M
16.8 GB
MLX 8-bit
28.6 GB
Q8 agrees
259 of 260

Jebadiah 9B v2.1

Base: Qwen3.5-9B

47.20our run, Decision Index 0.3 public suite, board update pending
bf16
19.3 GB
Q8_0
9.8 GB
Q4_K_M
5.8 GB
MLX 8-bit
9.5 GB
Q8 agrees
257 of 260

v2.1 scores: 57.03 (27B, up 1.92) and 47.20 (9B, up 3.11) on the public part of Decision Index 0.3, our own run, submitted to the board. The board adds its private parts after the maintainer merges, so there is no rank yet. Every request and score. Tools dipped a little (27B 76.03, down 2.10). On a Mac, take the MLX 8-bit; the 9B 4-bit is the bare minimum.

On the board today: published Jebadiah 27B (v2) is #11 (tied) of 117 on Decision Index v0.3.1, full score 55.6 (generated 2026-10-10). Earlier it was #5 of 67 on Index 0.2.1 (September 26). Details.

JevBench: on its 231 public items, run through its own harness, Jebadiah 27B scores 0.866, the same as Jev 1.13.0. Our run, not the official board. Details and caveats.

“Q8 agrees” is how often the 8-bit GGUF gives the same answer as the full weights on 260 held-out questions. Smaller downloads, same decisions.

All three live in one Hugging Face collection, with mirrors on ModelScope.

Run it anywhere

Your hardware. Your call.

Run Jeb locally, step by step Ollama, LM Studio, vLLM, llama.cpp, MLX or AINode · jeb serve · your first decision in about two minutes Pick your runtime

One command: jeb serve

Install the jeb command and start it in front of the runtime you already have. It serves decisions on http://localhost:8100: POST /v1/systemone speaks Jev's wire format: JDE judges there by default with no key and no config, and an existing Jev client works once you change the endpoint. POST /v1/decide takes AINode's shape.

Python 3.10 or newer. No torch, no transformers. On the Ollama path, a clean setup answered its first decision in 2 minutes 1 second, most of it the model download.

The full walkthrough · the jebadiah-decide client

pip install jebadiah-decide
jeb serve     # Ollama: pulls the 9B Q8_0 (9.8 GB) the first time
jeb doctor    # checks the runtime, the model and a known answer

# decisions   POST http://localhost:8100/v1/systemone
# also        POST http://localhost:8100/v1/decide

Ollama or LM Studio

The fastest start. jeb serve pulls the model into Ollama and serves it. For LM Studio, load jebadiah-9b-v2 Q8_0, switch its server on, then run jeb serve --backend lmstudio. Up to 20 options per question on both.

Ollama path · LM Studio path

llama.cpp or vLLM

Run llama-server on the Q8_0 GGUF, then jeb serve --backend llama-server, with no limit on options. Or serve the full weights with vLLM and run jeb serve --backend vllm.

llama.cpp path · vLLM path

MLX on a Mac

No other runtime needed. jeb serve --backend mlx downloads the 9B v2.1 from jebadiah-9b-v2-1-MLX-8bit the first time, with no limit on options.

MLX path

AINode

An open-source local AI platform for NVIDIA GPUs. It serves Jeb on vLLM and answers /v1/systemone and /v1/decide itself, across a cluster. AINode path · github.com/getainode/ainode

A note on chat apps

Don't judge Jeb in a chat window. Every runtime's chat runs with thinking on and shows text, and Jeb isn't built to write text, so what you see there is nonsense by design. A decision reads the probability of each answer, which is what jeb does.

GGUF builds, including third-party ones, may show a “Vision” tag in LM Studio because the Qwen base has a vision tower. Jebadiah is not trained on images, and the file isn't needed.

Advanced: without jeb

Each model repository still carries one script per runtime (scripts/decide_gguf.py, decide_ollama.py, decide_lmstudio.py, decide_mlx.py) for a single request file, and the repository has a standalone server that runs the full weights with PyTorch: uv run jebadiah-serve --model frontier-infra/jebadiah-4b-v2.

Without jeb, in the guide

Judge Jeb + JDE

Public Jeb knows how to decide. Judge Jeb learns how you decide.

Billboard poster: a robot sheriff in a black hat and duster holds a gavel at a wooden bench at sunset over a Texas frontier town. The headline reads JUDGE JEB, the specialized decision model for JDE. Three lit signs on the bench read ALLOW, ASK and BLOCK. Along the bottom: Observe, Measure, Calibrate, Trust, Automate.
Judge Jeb: the same base, trained on how one engine decides.
In training

Judge Jeb

  • An adapter on the same Jeb base
  • Trained on JDE's decision shapes and approved outcomes
  • Private when it is trained on a customer's data

Its first training data comes from JDE's own ledger: decisions recorded in shadow mode, then labeled by what actually happened.

Open source · MIT

JDE, the Jeb Decision Engine

Jeb is the model. JDE asks the question and turns the answer into allow, ask or block.

  • Judges. Several models can answer the same question.
  • Per-judge calibration. Each judge's numbers are fitted so 0.8 means 0.8.
  • Bands. Every answer lands in allow, ask or block.
  • Ledger. Every decision and its outcome, kept.

github.com/Titanium-Devops/jde

ALLOWMove forward
ASKGet clarity
BLOCKPrevent risk
Poster titled How Judge Jeb Works. Jeb is the model; JDE asks the question and turns the answer into allow, ask or block. Public Jeb and Judge Jeb feed the JDE / Jev decision engine, which holds judges, per-judge calibration, bands and a ledger. The engine answers who asks, such as a help desk agent, and coding-agent hooks such as completion checks and ask-gates. A dashed loop shows the shadow-mode ledger becoming labeled data for Judge Jeb. A bar at the bottom reads DecisionBench, which measures any judge inside an engine.
The whole loop. Decisions go into the ledger, the ledger becomes training data, and Judge Jeb gets better at your calls.

Coding-agent hooks

“All tests pass.” Did they?

In design · shadow mode first

A coding agent finishes and says it is done. A distiller reads the session and reduces it to one question with the evidence attached. Jeb answers. JDE puts the answer in a band.

RequestFix the login timeout, add a test.
ClaimAll tests pass.
EvidenceRan pytest tests/test_login.py → 1 passed
Questionnoul “The evidence supports every part of the claim.”

Jeb's answer

0.34

ALLOW
ASK
BLOCK

One test file ran. “All tests” is a bigger claim than that, so the agent gets asked, not waved through. Where the band edges sit is set per judge by calibration.

Agent session→Distiller→One question→Jeb→Band

DecisionBench

Measure the judge where it works.

Coming

Leaderboards score a model alone. DecisionBench scores a judge inside an engine, the way it will be used, and runs the same way on every model. The code and data will be public.

Threshold error

How often it acts above the line when it should not have.

Recalibration cost

How many labels it takes to recalibrate.

Flips

Whether the same question gets a different answer.

Noise

How much the numbers wobble between runs.

Speed

Time per decision.

Cost

What each decision costs to run.

Where Jebadiah is

Same dirt. Higher intelligence.

Three kinds of evidence, strongest first: what someone else measured, what we measured that you can rerun, and who has picked Jeb up. Board numbers are from 2026-10-10; everything else is dated where it appears.

1 · Measured by someone else

Decision Index v0.3.1 · the board's own numbers · generated 2026-10-10

Published Jebadiah 27B (v2) is #11 (tied) of 117 on Decision Index v0.3.1, with a full score of 55.6 (public 55.1, same-skills 55.2, new domains 56.7).

These are the board's equated scores, from its data generated 2026-10-10 07:54 UTC. Models within 0.9 points count as tied. Jeb v2.1 is not on the board yet: our own run on the public items gives 57.03 for the 27B and 47.20 for the 9B, and the official rerun is pending.

History: on Index 0.2.1 (September 26) the 27B was #5 of 67 open models at 54.67, the board's validated number at the time.

On the 0.2 kit, with the kit's own scorer, it scored 50.32. All 151,476 requests were answered (151,034 of 151,034 scoreable). We ran it on one RTX PRO 6000 through the kit's hf-job, at the maintainer's invitation. Median latency was 110.6 ms per request. On 0.2, against AutoJev-27B, it led on retrieval (45.5 vs 42.0) and trailed slightly on knowledge, language, tools and arts.

Live board, Decision Index v0.3.1 (Oct 10): the ten entries more than 0.9 points above, then Jebadiah
EntryFull score
Perplexity Decider v1.1 (27B)62.75
Fastino GLiDE no-thinking (28B)60.21
Jev60.11
Torchcast Decision 27B59.91
deck31b (Gemma 4 31B)59.03
Kev 27B58.78
Quyet-1.0-Large58.71
Blink v0.3 26B-A4B (NVFP4)57.76
Decider chat · Gemma-4-31B57.62
Surogate Rune 26B-A4B v357.43
Jebadiah 27B (v2), #11 tied55.63
Screenshot of the Jev Decision Index 0.2.1 leaderboard chart, taken September 26, 2026. Bars from left: Jev 57.9, Surogate Rune 26B-A4B v3 57.4, Decider chat Gemma-4-31B 57.3, AutoJev-27B 56.4, simple-jev Qwen3.8-27B 55.7, then frontier-infra Jebadiah 27B at 54.7, a green LoRA bar outlined in amber, and Decider chat Qwen3.6-27B 52.2.
History: the board's chart on Index 0.2.1, captured 2026-09-27 02:35 UTC (September 26, 21:35 US Central). Jebadiah 27B is the green LoRA bar, outlined in amber. The board's axis starts at 0.

2 · Measured by us, reproducible

JevBench v1.4.2 · our run · as of 2026-09-26

On JevBench's 231 public items, run through its own harness, Jebadiah 27B scores 0.866, the same as Jev 1.13.0.

Jebadiah 9B v2 scores 0.818 on the same items.

This is our own run on the public items. The board's official ranking also uses sealed items that only its maintainer runs. The 27B's hard-tier calibration (ECE 0.113) is weaker than the 9B's, and it got 4 of 15 temporal and numeric items right.

TierJebadiah 27BJev 1.13.0
Easy48/4848/48
Standard70/7271/72
Hard82/11181/111
Score0.866 200/2310.866 200/231

JDE blind test · as of 2026-09-26

Titanium Computing's production decision engine (JDE): 290 real decisions, blind to training.

Jebadiah 9B v2 against Jev on the same 290 decisions, inside the engine that makes them. JDE is open source.

0 flips

Across 5,800 calls, no answer changed on a repeat. The probabilities were identical from run to run.

277/290

Jeb 9B v2's total, against Jev's 282. Close, and Jev still leads on coverage checks (3 misses to Jeb's 7).

37 vs 35

Jeb beat Jev on the added-requirement checks: 37 of 40 right, to Jev's 35.

3 · Adopted by others

  • mradermacher GGUF quantsIndependent GGUF builds of the 9B v2, made by a third party.as of 2026-09-26
  • yibie awesome-jevListed in yibie's awesome-jev, the main Jev community list.as of 2026-09-27
  • Decision Index news feedListed in the Decision Index news feed, under trained models.as of 2026-09-26
  • OmniJev awesome-jev-galleryListed; the pull request is merged.as of 2026-09-26
  • logicrw Awesome Jev catalogListed. A catalog entry, not a performance validation.as of 2026-09-26
  • LM Studio model searchJebadiah shows up in LM Studio's built-in model search.as of 2026-09-26
  • OllayaThe maintainer invited a pull request for the Jeb family.as of 2026-09-26
  • Qwen3.5-9B model treeJebadiah 9B v2 appears as a fine-tune in the base model's tree on Hugging Face.as of 2026-09-26
  • ModelScopeMirrored: all nine repos (three sizes, each as weights, GGUF and MLX).as of 2026-09-26
  • Awesome-LLMOpsJebadiah is listed under Model > Large Language Model.as of 2026-10-07

About the “Vision” tag: GGUF builds, including third-party ones, may show a Vision tag in LM Studio because the Qwen base model has a vision tower. Jebadiah is not trained on images and does not make decisions in a chat window. Use the decide scripts: scripts/decide_gguf.py or scripts/decide_lmstudio.py.

Who builds it

Built in Texas. For what comes next.

Jason Brashear

Builds and trains the Jeb models, and builds AINode.

Frontier Infra

The Hugging Face organization that publishes the weights.

AINode

The open-source local AI platform that serves Jeb on our own GPUs. github.com/getainode