Architecture

Agentic. Observable. Checked.

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 Factory NVIDIA Parabricks 4.7Nebius Serverless AI · H100Nebius Object Storage Pydantic 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
Public sources
NCBIDatasets · E-utilities · genomes FTP · assembly reports · dbSNP RefSNP · Variation Services2
EVAEuropean Variation Archive
Papers and indexesEurope PMC · PMC Open Access · Galaxy Project prebuilt reference indexes
Traceome applicationadvance · observe · answer · resume · fork Five agent roles · the brain
planning_agentinvestigation_plannertable_readerreport_explainerpaper_reader
Deterministic code · the hands
inspect inputscompile proposalverify by hashobserve VCFfreeze basispublish report
Guards
3 approval gatescall checkoutput checkbounded repairs, then refuse

Every agent output is a proposal, never a fact, until code verifies it and the researcher approves it.

Nebius + NVIDIA
Nebius Token FactoryNVIDIA Nemotron 3.5 Super VL through the Token Factory API · all five roles3
Nebius Serverless AI · H100NVIDIA Parabricks pbrun germline 4.7.05
Nebius Object Storagea fresh bucket per Run · inputs up, BAM + VCF down in parts6
Readers
GUI · CLI · agentsreplay, observe, journey-feed, search_journey8
7The Journey fileappend-only, immutable facts + write-once files under their SHA-256 · every arrow above is a fact
  1. 1The researcher registers the question, the variant request and the ordered FASTQ pair (begin).
  2. 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.
  3. 3Each agent turn is one Nemotron request to Token Factory: 145 in Run H, all HTTP 200 R8.
  4. 4Each approval binds the exact proposal or basis by digest R2.
  5. 5After approval 1, one Nebius Serverless AI job on an H100 runs Parabricks R6.
  6. 6Inputs go up and outputs come down through Object Storage; Run H's BAM was 3.66 GB in 110 parts.
  7. 7Everything lands in the Journey: Run H kept 1,834 facts of 65 kinds and 337 files R14.
  8. 8The GUI, the CLI and the agents read the same record, during the Run and after R15 R16.
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 R5 R4.

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.

inspect_input_metadataresolve_taxondiscover_assembliesinspect_referencelist_compatible_analysis_recipescompile_proposalsearch_journey

→ one Parabricks proposal on GRCh38

Nemotron 3.5 Super VLAgent · 02

Investigation planner

Turns each loose identifier into exact Work items, one per alternate allele, or leaves it unresolved. It can ask the researcher a typed question.

fetch_refsnpfetch_eva_variantfetch_assembly_reportlocate_variantsearch_journeyrequest_investigation_information

→ rs4149056: 2 Work items (T>A, T>C)

Nemotron 3.5 Super VLAgent · 03

Table reader

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.

outline_papergrep_paperread_paperfilter_paper_rows

→ variants and their build, each with its quote

Ultra came first

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
Four Nemotron roles, the Attempt loop, and what can happen to a final output
  1. 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.
  2. Typed result. A tool's result is recorded and fed back to the model as typed data.
  3. Output check. A final output must come alone, after its evidence, and match its schema.
  4. 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.
  5. 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.

Who reads it, and how
observeobserve --richjourney-feedrun-artifactssearch_journey (agents)GUI replayfork

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.

Sequence diagram of one Run: researcher, Traceome, Nemotron, NCBI and EVA, Parabricks
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.

The difference · 07

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 agentTraceome
Starts froma VCF someone already maderaw FASTQ, then an approved Parabricks job on a Nebius H100
What is kepta chat transcripta typed, append-only Journey R14
You approvea shell command or a file editthe exact scientific object, bound by its digest R2
A finding isa sentenceone of four bounded outcomes, tied to its VCF record and sources R3
"Not in the VCF"easy to write up as "not carried"always "no record" R9
When unsureit guesses, or asks in the chatonly that item pauses, with a typed question R17
Fixing one stepre-prompt and run againamend at the gate, or fork from a closed point R10
Swapping the modelthe answer is whatever that session wrotethe same 29/29 findings R5
Who can check itsomeone who reads code and logsthe researcher, statement by statement
Lessons · 08

What went wrong, and what we changed.

Silent truncation

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.

Code, quick start and the technical build