Using system-one models inside high-throughput data pipelines

Hrishi Olickel·

Jev (TypeSafe's system-one model) is a quantum leap forward for data processing pipelines, if harnessed correctly. We used Jev to accelerate an entity resolution pipeline to join donors and committees across Ohio campaign finance data. Hank-assisted resolution pipelines that use Jev as the workhorse reduced model costs by 99.56% and increased measured call-time throughput to 7.35× the baseline while retaining near-Fable quality.

But it's not all roses. Applying the wrong signal or prompting the wrong way causes large mistakes at scale. No free lunches, only subsidised ones.

We'll talk about the results, explain the task of entity resolution, and at the end we'll provide some prompts and principles that can work for integrating models like Jev into AI data pipelines.

Results

Left is cheaper, higher is more accurate, smaller bubble is less total model time.

Recorded model cost as a multiple of Jev only, against families matched, with bubble area for accumulated call time.

One panel. The horizontal axis is logarithmic and reads in multiples of Jev only, which came to 3.37¢. Bubble area is proportional to accumulated call time, with reference bubbles at (56 s) and 15× (845 s). The vertical axis is zoomed to 194 to 200 matched families and carries a break mark; it does not start at zero. Accumulated call time sums awaited component-call durations, including unpriced attempts; it is not wall-clock makespan. The Luna + Gemini bubble is drawn with a dashed edge because 8 of its calls were never priced, so its cost is a floor.194195196197198199200accuracy · families matched (of 200)10×30×100×300×Model costJev only1× · baseline3.37¢ · 56 sJev + 5 Luna reviews1.29×4.35¢ · 115 sLuna + Gemini8.95×30.12¢ · 715 sFable292×$9.83 · 845 s
One panel. The horizontal axis is logarithmic and reads in multiples of Jev only, which came to 3.37¢. Bubble area is proportional to accumulated call time, with reference bubbles at (56 s) and 15× (845 s). The vertical axis is zoomed to 194 to 200 matched families and carries a break mark; it does not start at zero. Accumulated call time sums awaited component-call durations, including unpriced attempts; it is not wall-clock makespan. The Luna + Gemini bubble is drawn with a dashed edge because 8 of its calls were never priced, so its cost is a floor.194195196197198199200accuracy · of 20010×30×100×300×Model costJev only1× · baseline3.37¢ · 56 sJev + 5 Luna reviews1.29×4.35¢ · 115 sLuna + Gemini8.95×30.12¢ · 715 sFable292×$9.83 · 845 s

On a segment of the Ohio dataset that we selected to be difficult, using Fable to join entities costs $9.83 for 1.2 MB of prepared evidence, and takes 844.64 seconds.

An optimized hank (like the one below) is an alternative to direct comparisons using a model or a code-based approach. Here, it reduces model costs to $0.3012 for 715.08 seconds (a 32.6× reduction in cost but about the same time).

evidence in

52 batches

200 families

205 cases

903 rows

decideAnswer source-bound choice questions

pi/openai/gpt-5.6-luna

all 52 batches · high thinking

52 calls · $0.1685 · 608.48 s

$0.35 cap · 8 unpriced

10 of 52 referred42 of 52 kept

pi/google/gemini-3.7-flash

the 10 referred · medium thinking

10 calls · $0.1328 · 106.60 s

$0.75 cap

One codon, cloned per call. The runner binds the model, not the hank.

families out

199 of 200

$0.3012

715.08 s

8 unpriced

budget per call · 300 s deadline · 16,384 output tokens · fail on exceedevery attempt kept · prompt · response · session log · accounting

After Gemini Flash stopped being priced like a flash model, Luna has been a solid workhorse data-processing model for us on the Pareto frontier.

Using only Jev to adjudicate drops accuracy significantly, but Jev as the primary workhorse inside a five-family review stage with Luna provides 226x lower cost ($0.0000361 per KB), 7.35x higher throughput (10.5 KBps in call-seconds against Fable's 1.4), while being within 0.5 percentage points of Fable in accuracy.

Jev is the final missing piece for something we set out to do 18 months ago; to scale these workflows up to Terabytes of data.

  • Fable$8.16m
  • Jev + 5 Luna reviews$36.1kJev $27.9k + Luna $8.13k
Extrapolated model costs at 1 TB
Each grid holds 200 dots. Dark dots are hand-audited mistakes; ringed dots are families where the model declined to commit. Positions are arbitrary; the counts and rates are measured.Jev onlyJev only: Declined to certify a single-row donor. Both were typed correctly as a person. Jev answered "uncertain" on whether one lone contribution row is a coherent donor unit (0.57 and 0.56), so the atom carries an uncertainty flag the reference does not. The identity answer is the same as the reference's.Jev only: A real mistake. A one-row business with no address was typed a committee instead of an organization. Jev put 0.53 on that label — a near coin-flip — and this arm's policy consumes the chosen label without a probability gate, so the near-tie became the answer. The source record supports the reference.Jev only: Declined to certify a single-row donor. Both were typed correctly as a person. Jev answered "uncertain" on whether one lone contribution row is a coherent donor unit (0.57 and 0.56), so the atom carries an uncertainty flag the reference does not. The identity answer is the same as the reference's.Jev only: Correct merge blocked by an abstention. Two records for the same person at one address on one date, differing only by a middle initial. Jev called them the same person at 0.96 — the reference agrees — but flagged one atom's unit coherence "uncertain" at 0.59, and the pipeline refuses to compose a merge across an uncertainty fence, so the case produced no answer.Jev only: Declined the whole case. Two records for one organization at one address, one of them a registered political-committee body. Jev typed one atom a committee (0.67) and the other an organization (0.80) and put only 0.44 on them being the same, so nothing composed. It asserted no wrong answer.1mistake+4 declined3.37¢ · 56 sJev + 5 Luna reviewsJev + 5 Luna reviews: A real mistake. A one-row business with no address was typed a committee instead of an organization. Jev put 0.53 on that label — a near coin-flip — and this arm's policy consumes the chosen label without a probability gate, so the near-tie became the answer. The source record supports the reference.1mistake4.35¢ · 115 sLuna + GeminiLuna + Gemini: A household link not asserted. Both clusters matched the reference, but the same-household relation between two people at one address was never asserted.1mistake30.12¢+ · 715 sFable$9.83 · 845 sEach grid holds 200 dots. Dark dots are hand-audited mistakes; ringed dots are families where the model declined to commit. Positions are arbitrary; the counts and rates are measured.Jev onlyJev only: Declined to certify a single-row donor. Both were typed correctly as a person. Jev answered "uncertain" on whether one lone contribution row is a coherent donor unit (0.57 and 0.56), so the atom carries an uncertainty flag the reference does not. The identity answer is the same as the reference's.Jev only: A real mistake. A one-row business with no address was typed a committee instead of an organization. Jev put 0.53 on that label — a near coin-flip — and this arm's policy consumes the chosen label without a probability gate, so the near-tie became the answer. The source record supports the reference.Jev only: Declined to certify a single-row donor. Both were typed correctly as a person. Jev answered "uncertain" on whether one lone contribution row is a coherent donor unit (0.57 and 0.56), so the atom carries an uncertainty flag the reference does not. The identity answer is the same as the reference's.Jev only: Correct merge blocked by an abstention. Two records for the same person at one address on one date, differing only by a middle initial. Jev called them the same person at 0.96 — the reference agrees — but flagged one atom's unit coherence "uncertain" at 0.59, and the pipeline refuses to compose a merge across an uncertainty fence, so the case produced no answer.Jev only: Declined the whole case. Two records for one organization at one address, one of them a registered political-committee body. Jev typed one atom a committee (0.67) and the other an organization (0.80) and put only 0.44 on them being the same, so nothing composed. It asserted no wrong answer.1mistake+4 declined3.37¢ · 56 sJev + 5 Luna reviewsJev + 5 Luna reviews: A real mistake. A one-row business with no address was typed a committee instead of an organization. Jev put 0.53 on that label — a near coin-flip — and this arm's policy consumes the chosen label without a probability gate, so the near-tie became the answer. The source record supports the reference.1mistake4.35¢ · 115 sLuna + GeminiLuna + Gemini: A household link not asserted. Both clusters matched the reference, but the same-household relation between two people at one address was never asserted.1mistake30.12¢+ · 715 sFable$9.83 · 845 s

Point at a marked dot to read what it did.

The job

The task is simple. Can we resolve entities across the Ohio Campaign Finance dataset? Entities here could be donors, committees, companies, etc. This is the task we have been working on as part of a much larger ingestion and data pipelining test designed to measure 4a, our internal superagent that can autonomously build and self-optimize AI data pipelines.

In practice, ER is incredibly difficult. Humans make honest mistakes - middle names are a common example.

Filing AFiling BSame person?
DANIEL R. OKAFORDANIEL OKAFOR JRA middle initial on one record, a suffix on the other; same street address.
KAREN L.KAREN LAn initial and punctuation inside the given-name field.
WALTER H. BRENNAN SR.WANDA BRENNANShared surname and address, but two different given names.

We also move houses and jobs, change names, get married, omit information, and overall shenaniganize our lives.

Then there's (alleged) hostile obfuscation - large donors and companies attempting to spread out detection with different entity names, honest looking mistakes, etc etc.

Our ER pipeline resolves these problems using atoms - bundles of equivalent donor evidence. We put rows together into atoms, and models decide on what these bundles are (a company, a person, a committee, a joint donor or an unnamed record), and how they're related (same person, same household?). As we join more and more atoms, the dataset slowly resolves itself.

Here's one case: 11 rows, five atoms, two people. Ordinary code makes the atoms and keeps every original row. Jev judges which atoms represent the same donor, then whether the two donors share a household. The household is a connection between people, not permission to merge them.

Source recordsCode · groupJev · judgeCode · join11 rows5 atoms2 people11 rows~ same address~ same employer~ same name and ZIP~ same person~ different nameR01Morgan ValeR02Morgan ValeR03Morgan ValeR04Morgan ValeR05Morgan ValeR06Morgan ValeR07Morgan ValeR08Morgan ValeR09Morgan ValeR10Morgan ValeR11Avery ValeA11 rowA25 rowsA32 rowsA42 rowsA51 rowMorgan ValeP1 · 10 rowsAvery ValeP2 · 1 rowsame_household~ same householdR01P1R02P1R03P1R04P1R05P1R06P1R07P1R08P1R09P1R10P1R11P2

This is where Jev comes in.

If you were so inclined (either rich or a frontier lab), you could have a frontier LLM adjudicate every atom and bundle. However - even if you could pay for all of this (our estimate for the four-file Ohio snapshot is about $9,614 for Fable) - speed makes it difficult to do so. Even the best of us only have about 3 billion seconds of life.

Additionally, we have found that at scale, using cheaper models with additional review steps can surpass the accuracy of even frontier models deployed raw.

Prompts

Here are the things we learned making Jev useful for this task.

  1. Telling Jev what counts as enough evidence. Our first questions spent too much time telling it what wasn't proof.

This was the original yes criterion for a household link:

Text
This specific relationship is supported between distinct compatible entities.

This is the criterion we replaced it with:

Text
Both records give the same residential street address (same house number and street), and the two are distinct persons.

The revised instructions also say that DR and DRIVE don't break an address match, and that a shared employer, business address or PO box doesn't establish a household. On the same 13 development questions, Jev went from answering no to all 13 to yes to all 13, matching all 13 reference answers. Those are development results, not the final benchmark score.

  1. We made the same change to identity. Here is the actual revised same criterion:
Text
The same donor. Sufficient: the same surname and the same or clerically equivalent given name (spelling, nickname, initial, or a middle name or suffix present on only one record) at the same residential street address, or at the same postal code with the same employer. Differences only in employer/occupation, one blank field, or address formatting do not distinguish donors.

Much like prompting in the 3.5-turbo days, more examples and more specific choices make things easier. Same for humans: we all prefer MCQs over essays!

Conclusion

More work remains to be done in integrating intelligence classifiers across data problems, especially when it comes to pipelining the raw performance on offer. This is the largest change we've seen in architecture since the flash (gemini, deepseek, glm) series of models to change how we structure data work in production. We are already seeing significant bumps in accuracy, cost and speed across other tasks like mining, selection, sanitization, and a lot more. We'll share results as we can make them ready for publication.

Data

You can download the publication-safe experiment data and the Ohio campaign-finance sources here.

Want to try this on your own data? Start with Jev's typed questions, and use Hankweave for the reasoning steps.