Skip to content

Qualm — qddegtya

A TypeScript client for Jev where every decision must handle an unsure branch, so a low-confidence answer escalates instead of collapsing silently into a boolean.

Stars
2
Language
TypeScript
License
MIT
Published by
Community
Author
qddegtya
Last verified
Oct 2026

This is one of several Jev listings for the same project. The canonical entry is Qualm — RoderickQiu.

About this project

Typed decisions from a System One model (TypeSafe's Jev), where uncertainty is something you have to handle. A judgment that collapses to boolean, or to a bare argmax, throws away the one signal that tells you when to escalate. qualm never does that: every decision has an unsure branch, and the compiler will not let you forget it. Jev is the model. This is what qualm adds on top of calling its HTTP API yourself.

Quoted from the project's README. Read the full README.

Highlights

  • decide is a total switch: every label needs a handler, unsure needs a handler, and a missing branch is a compile error.
  • Labels come back as the literal union you declared, so a typo in a branch name fails to compile rather than missing silently.
  • The unsure branch is where an LLM call goes; decide passes the promise straight through without special-casing the handover.
  • Zero runtime dependencies, ESM and CJS with separate declarations, and it runs in Node, Workers, Deno, Bun and the browser.

Watch out

The confidence bar is a guess and the README says so: the default is 0.7, it is arbitrary, there is no principled value, and you should measure your own data and set your own. Confidence landing exactly on the bar counts as sure. Reading the top label deliberately skips the uncertainty check, and it is named top rather than value because it is only the one that came first, so a 0.34 against 0.33 split still has a top. decide is never async itself, which means mixing a synchronous branch with an async one gives you a union, and forgetting to await turns escalation into fire-and-forget; the README recommends keeping a no-floating-promises rule enabled. The Cloudflare provider is built from the documented wire format and the README notes one detail has not been confirmed against a live response. The README is long and the digest is truncated mid-sentence in that provider section. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

38GitHub stars
Python memory filter that judges every stored memory against the current request with one calibrated yes/no per memory in a single Jev request, keeping everything above a threshold.
Jev Tools & CLIs#community#jevbest#catalog-import
36GitHub stars
Stock decision terminal that gathers Valyu market evidence across five categories and uses Jev for a typed 30-day outlook with probability, signals, and timing.
Jev Tools & CLIs#community#jevbest#catalog-import
4GitHub stars
Playful chat demo that makes Jev hold a conversation one word at a time by picking from a compact 979-word vocabulary through repeated Choice calls.
Jev Tools & CLIs#community#jevbest#catalog-import
4GitHub stars
Shell CLI that sends state plus noul, choice, and score questions to Jev in one request and prints probabilities, choices, and rubric positions for pipes and scripts.
Jev Tools & CLIs#community#jevbest#catalog-import
Local-first app that extracts document text on the machine and files it into configured category folders using typed Jev decisions for category, confidentiality, prompt-injection risk and subject, with a per-run audit that previews and undoes every move.
Jev Tools & CLIs#community#jevbest#catalog-import
7GitHub stars
PDF search that asks Jev one noul per line, does this line answer the query, and ranks the lines by the returned probability, so matches highlight without embeddings, a vector index or a chunking strategy. Text is extracted locally with pdf.js and the key stays on the server.
Jev Tools & CLIs#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

The request shape barely changes across surfaces; the surrounding contract does. When to call the API directly and when a gateway, a Worker binding, or a router entry earns its extra hop.
Jev Tools & CLIs#gateway#vercel#cloudflare
Read article
Taking a decision checkpoint out of Python: what the GGUF and browser WebGPU exports preserve, what they change, and the parity evidence the model cards publish.
Jev Tools & CLIs#open-models#local#onnx
Read article
Jev labels a record that already exists. Code moves, flags, or holds it. How the document, mail, and transfer tools keep the action out of the model.
Jev Tools & CLIs#classification#email#security
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai