Five NVIDIA Nemotron agent roles, through the Nebius Token Factory API, plan, investigate, read and
explain. NVIDIA Parabricks, as a Nebius Serverless AI job on an H100, aligns the reads and calls the variants. Between
them, Traceome's own code holds the three approval gates, checks every call and output, and writes every step into
one Journey that the researcher and the agents both read. Code copies, the model decides, code
checks.
NVIDIA Nemotron 3.5 Super VLNebius Token FactoryNVIDIA Parabricks 4.7Nebius Serverless AI · H100Nebius Object StoragePydantic AINCBI · EVA · Europe PMCGalaxy Project indexesNiceGUIPython 3.12 · uv
The system · 01
One Run, end to end.
The researcher brings a question, a paper or cited variants, and raw reads. Traceome's code runs the Run:
it calls Nemotron for the judgements that change from question to question (which reference to plan for, which
record a loose variant name means, how to explain the findings), Parabricks for the heavy compute, and public
sources for identity.
Nothing consequential happens without an approval, and every arrow is recorded.
Traceomesystem architectureToken FactoryH100Object StorageNCBI · EVA
Researcher
Question + request"tell me whether HG001 carries each SNP"24 rsIDs · FASTQ pair 3.9 GB1
Three approvalsthe compute · the Work items · the report basis4
7The Journey fileappend-only, immutable facts + write-once files under their SHA-256 · every arrow above is a fact
1The researcher registers the question, the variant request and the ordered FASTQ pair (begin).
2Reference and variant identity come from NCBI and EVA, papers from Europe PMC and PMC Open Access; every lookup is a recorded contact, and each source's answer is copied as returned.
3Each agent turn is one Nemotron request to Token Factory: 145 in Run H, all HTTP 200 R8.
4Each approval binds the exact proposal or basis by digest R2.
5After approval 1, one Nebius Serverless AI job on an H100 runs Parabricks R6.
6Inputs go up and outputs come down through Object Storage; Run H's BAM was 3.66 GB in 110 parts.
7Everything lands in the Journey: Run H kept 1,834 facts of 65 kinds and 337 files R14.
8The GUI, the CLI and the agents read the same record, during the Run and after R15R16.
The science
Four bounded outcomes per Work item: observed, not carried, no VCF record, unresolved. Coverage is measured per item R19; no function or causality is claimed R9.
Validation
29/29 findings equal across models; 2/2 planted bad IDs unresolved; 337/337 files re-verified R5R4.
Interfaces
A GUI for researchers, so no technical skill is needed: it replays recorded Runs and starts and follows live ones. A CLI sits underneath it R18.
Safety
Three approvals, proposals never facts, research use only. The public replay needs no key.
The rule
Code copies, the model decides, code checks.
The work splits in two. NVIDIA Parabricks does the alignment and variant calling; our own code reads the
VCF, hashes every file and assembles the report. NVIDIA Nemotron makes the judgements that change from question to
question.
Code copies
Sources, as returned
Whatever a source returns is copied into the record exactly as the source wrote it, never generated or rewritten
by the model. Each source's original answer is kept beside the typed result copied from it.
The model decides
Which tool, what it means
An agent chooses which tool to call and what a record means. When it names a value, it must cite the record or
the quote it took it from.
Code checks
The citation is real
Code checks every citation against the record. The researcher approves, and the Journey keeps all of it.
This is what lets human and non-human samples run through the same pipeline: one set of source tools,
and no rules that hold only for one species.
The agents · 02
Five roles, one model, narrow tools.
Each role is NVIDIA Nemotron 3.5 Super VL through the Nebius Token Factory API and is offered only the
tools it needs. The two roles that read results are offered no tools at all.
Nemotron 3.5 Super VLAgent · 01
Planning agent
Inspects the inputs, settles the species and reference genome through NCBI, picks a Parabricks recipe and resources, and compiles one proposal.
Reads the VCF window around each target, as observed by code, and raises concerns such as a nearby variant.
no tools · reads the observed table only
→ nearby variant: 2 records within 100 bases
Nemotron 3.5 Super VLAgent · 04
Report explainer
Explains the frozen outcomes in plain words. It may cite only facts in the approved basis.
no tools · approved basis only
→ "T>C carried (0/1), T>A not carried [3b84b6f1…]"
Nemotron 3.5 Super VLAgent · 05
Paper reader
Reads the paper the Run found and stored, and pulls out the variants it cites, each from a quoted span. Live: rs429358, rs7412 and rs1801133 from Mullins 2020 R12.
We started on NVIDIA Nemotron 3 Ultra. It worked in simple cases, but as the steps grew in complexity it fell into loops: runaway replies, retries and gateway timeouts.
Super VL runs every role
NVIDIA Nemotron 3.5 Super VL, at a lower price point, showed no drift across roles and clean tool calls, so one model runs the whole pipeline. Most of our loop guards are no longer needed.
Qwen as the baseline
Qwen3.5-397B-A17B on the same Token Factory API separated model issues from backend and pipeline issues. On the same inputs it reached the same findings R5.
Settings: tool_choice: auto, parallel tool calls, explicit max_completion_tokens of 245,760, recorded with every request.
The loop · 03
Proposal → check → approval → fact.
Nemotron proposescall checktool runs · result recordedoutput checkyou approvefact in the Journey
Call check. Before any contact, calls to tools that were not offered are refused, copies collapse, and a call that repeats an earlier one with nothing changed is stopped.
Typed result. A tool's result is recorded and fed back to the model as typed data.
Output check. A final output must come alone, after its evidence, and match its schema.
Bounded repairs. A malformed output gets a short repair note, a bounded number of times, and is then refused. The explainer is the most-repaired role.
Ask you. When an agent is unsure, only that item pauses, with a typed question R17.
The record · 04
The Journey is the data plane.
A general agent keeps a chat. Traceome keeps the Journey file: append-only, immutable facts that both sides
can query while the Run is happening.
Typed facts
journey.jsonl
Append-only. Every model request and reply, tool call, source retrieval, Attempt, approval and publication is one typed fact. Run H: 1,834 facts of 65 kinds, 30.7 MB.
Write-once files
artifacts/sha256/<digest>
Every file is stored under the SHA-256 of its bytes and re-verified when the Journey is opened. Run H: 337 files, 0 mismatches.
Contact journal
per processing interval
Each interval's close binds its journal of external contacts by digest and size, so the record of who was contacted is itself checkable.
Reading makes no contact and changes no byte R15. A Fork copies a closed prefix into a new Run with one RunForked fact, 0 contacts, parent unchanged R10.
The sequence · 05
Who talks to whom.
Six phases, three approvals (orange). Solid arrows are calls; dashed arrows are returns. Every arrow is appended to the Journey.Measured · 06
Measured on development Runs.
Each figure comes from one retained development Run and its post-Run review. Formal evals over repeated Runs are pending.
What a general coding agent won't give you: observability.
A coding agent may well find the variant. What the researcher can't see is which reference or allele it
used, whether a missing record was read as "not carried", or how to fix one step without starting over.
A general coding agent
Traceome
Starts from
a VCF someone already made
raw FASTQ, then an approved Parabricks job on a Nebius H100
Replies were cut at the provider's default 8,192 tokens. We caught it when planning replies ended at exactly 8,192, held that Run, and made the reply limit explicit.
A model that wouldn't stop calling
On Nemotron 3 Ultra, one reply held thousands of copies of a single tool call, and long requests timed out at the gateway. Streaming didn't help: with forced tool use every call arrived in the final chunk. We took control of the turn in code and moved to Super VL with the model free to choose its tools.
Prose that contradicted its claims
An earlier explainer contradicted its own correct findings. Now code fills in the claim words, each genotype is checked against the VCF row it cites, and it may cite only approved facts. It is still our weakest part.
Our answer key was wrong
For a public C. elegans sample our expected answer was wrong, not the agent. The sample's identity is unresolved, so we draw no biological conclusion from it R13.
Even the clock lied
The host clock stepped back about 104 s mid-Run. The Journey's ordering exposed it, so readiness now checks the clock first R7.
Human was easy
Runs that worked on a human sample struggled on non-human ones: different sources, names and formats, and rules that held only for human. One set of tools and "code copies, the model decides, code checks" fixed it.
What's next · 09
A prototype, built to grow.
More of Parabricks
We use one workflow, germline alignment and calling. RNA-seq alignment, somatic calling, fusion detection and DeepVariant-based calling would each add a kind of question.
From checking to interpreting
Annotation and population frequency, structural variants, and a broad search of the whole sample instead of only named targets.
More papers, more sources
Several papers per question, and more literature sources.
Inside an agent harness
Let a researcher add the tools their question needs, while the Journey still records every step.
Across Runs
Compare what several Runs found, across samples or questions, from their Journeys. Reports the researcher shapes.
Formal evaluations
Repeated Runs and held-out cases, scored by review of the recorded evidence: targets found, time, cost E1–E4.