Jebadiah (Jeb) is an open System One decision model. Ask it a typed
question and it answers with a calibrated probability over the labels — never a
paragraph. Pick an option, confirm a statement, or score a case: Jeb returns a
number you can put a threshold on.
Every question Jeb answers is one of three types. The type is part of
the answer: it tells you what distribution comes back and how to calibrate it.
choice
Pick one of N named options. Jeb returns a probability over every option —
a ranking you can gate on, not a single guess.
{ "type": "choice",
"state": "Ticket #4812: user cannot sign in…",
"options": ["password reset", "mfa lockout", "account suspended"],
"criteria": "route to the queue that can actually fix it" }
noul
A yes-or-no statement. Jeb returns P(yes) — one calibrated number, stable across
runs, that turns fuzzy judgment into a threshold.
{ "type": "noul",
"state": "PR #217 touches 3 files, tests green, no docs",
"statement": "this change is safe to auto-merge",
"criteria": "merge only if risk is low and intent is clear" }
score
Place a state on an ordered rubric. Jeb returns a distribution over rubric
levels — graded judgment without prose.
{ "type": "score",
"state": "Summary of a 40-page incident report…",
"rubric": ["misses the point", "partial", "faithful", "excellent"],
"criteria": "does the summary preserve what mattered" }
Get Jeb
Frozen versions, published as separate repositories — a new version
never replaces an old one, so a decision recorded with v1 stays reproducible.
Every training question is public or licensed data. The synthetic pool was written by
one model and labelled by two others; a question was kept only when the teachers'
top picks agreed (or the averaged top probability cleared 0.4), and states were checked
for overlap against all 20 public evaluation sets the model reports on. The point of a
decision model is that you can trust the number — so the number's provenance ships
with it.
One honest caveat, stated plainly: served through AINode today,
/v1/decide and /v1/systemone return the model's raw
distribution. The per-type temperatures in temperatures.json — the ones
every calibrated number on the model cards uses — are applied offline by the
standalone script in each repository until
AINode issue 276 lands.
Reproduce any number on the card yourself, from the repo.
Serve it yourself
Jeb is trained and served with AINode,
the platform that turns any NVIDIA GPU into a local AI node — the same prompt bytes end
to end, from training to serving to measurement.
# AINode serves Jeb's three question types on any NVIDIA GPU
docker run -d --gpus all -p 8080:8080 ghcr.io/getainode/ainode
curl http://localhost:8080/v1/decide \
-H 'content-type: application/json' \
-d '{"model": "jebadiah-9b-v1", "type": "noul",
"state": "Deploy window opens in 10 minutes",
"statement": "it is safe to proceed now"}'