Jev vs deterministic pipelines
A deterministic pipeline (dbt, Airflow SQL, Spark maps) must replay the same outputs. Jev is stochastic-looking even when consistent — TypeSafe discusses consistency, not bit identity. Do not put Jev in the gold transform.
Unofficial architecture compare. docs.typesafe.ai.
Comparison scope
Fact tables stay deterministic. A branch that labels a comment column can call Jev and store model id + probabilities as columns — clearly marked.
Criteria that decide the architecture
| Axis | Jev (System One) | Deterministic pipelines |
|---|---|---|
| Replay bit-identical | Not guaranteed | Wins |
| Language column | Optional hop | Rules |
| Primary keys / joins | Code | Code |
| Pinning | jev-1.13.0 |
Git SHA of SQL |
Decision quality and control
TypeSafe: quantitatively similar outputs for similar inputs, but structural invariants you imagine (negation sums to 1) are not guaranteed. Pipelines that assume identities will lie.
Integration trade-offs
Isolate Jev in a labeled task. Checkpoint inputs. On alias move, diffs should look like a model change, not a silent SQL change.
TypeSafe’s public models page lists jev-1.13 at $0.042 per million input tokens with output tokens free — a vendor claim, not a jev.pro measurement. Confirm on the models page before you bid.
When each approach fits
Prefer Jev when
- A column is a judgment, not a join
Prefer Deterministic pipelines when
- The column is a fact
Deterministic core; probabilistic hop at the edge; humans on drift.
What this page does not claim
-
No claim Jev is deterministic.
-
Schema-safe output is not the same as factual correctness.
-
No independent bake-off numbers live here.
When not to use Jev
Do not put Jev in the gold transform. Fact tables, primary keys, and joins stay SQL. A schema-safe label is not a fact.
Do not assume bit-identical replay. TypeSafe discusses consistency, not identity. Tests that assert row == golden on a Jev column will flake.
Do not hide the hop inside a dbt Python model without marking it non-deterministic. Downstream marts should treat probabilities as attributes, not grain.
Skip Jev when the column is a join, a window, or a date diff — jaggedness: math and dates belong in code.
Pairing-specific failure modes
- Silent alias in ELT.
jev-lateston Monday is a new model, not a SQL change. Pinjev-1.13.0in the task. - Identity assumptions. A pipeline that stores
1 - noulas the negation will lie. Official invariants are not guaranteed. - Warehouse dump as state. Official jaggedness: large irrelevant state. Project the comment column, not the whole row family.
- Idempotent-looking retries. Same input + pin ≈ similar answers; still design for review on flips. Do not treat HTTP retry as a merge-key guarantee.
Production sketch
- Deterministic core builds the fact table (git SHA of SQL).
- Isolated task reads
{pk, comment}. POST pinnedjev-1.13.0. Writelabel, probabilities,response.model, criteria SHA as separate columns. - Checkpoint inputs so a model move is a diff you can name.
- Tests: SQL stays bit-identical; Jev columns have distribution / review checks, not golden-row equality.
- Humans review drift when the pin or criteria SHA changes. See batch processing and architecture patterns.
Hub: Comparisons. Siblings: vs batch processing, vs probabilistic pipelines.
FAQ
Can I use Jev as a dbt Python model? You can call HTTP. Mark it non-deterministic in docs and tests.
Idempotent retries? Same input + pinned model ≈ similar answers; still design for review on flips.
Is Jev deterministic? No. Do not claim that. Isolate the hop.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.