Eight weeks, one question: can an AI system be trusted with a number a scientist will act on?
At Novartis I built an evidence platform for drug-target decisions, then wired an agent on top of it. The interesting part was never the model. It was the architecture around the model: a persistent memory that survives every session, a division of specialized agents that do the narrow work, and a guard that refuses to let a single fabricated number reach a scientist. The same architecture now runs my own research and engineering work.
The diagram below is live. Hover a node to trace what it touches, click it to read what it does, or run a query and watch a real request travel the whole path.
Evidence flows left to right: a question enters, the orchestrator routes it to the agents that can answer it, those agents read from federated sources through a shared cache, and nothing reaches the scientist until the guard has checked every number against the exact row it came from. Select a node to see what it actually does.
Most grounded assistants score faithfulness after the fact and hand you a probability. This one makes it a condition of speaking: every number must appear verbatim in a cited source row, or the system declines. Declining is a feature.
A guarantee over truncated evidence is worthless. Default query caps were silently dropping 60 to 94 percent of the evidence on the busiest genes, and skewing everything downstream. That had to be fixed before the guard meant anything.
To let a scientist ask for any chart or table, the model fills a validated specification built from real columns and the system renders it. Open-ended capability, and no model-written code ever executes.
Ranking, synthesis and figures are computed deterministically. The model narrates over them and is checked on the way out, so swapping the model cannot change the numbers.
The same logic serves a standalone agent that scientists open directly and a tool layer that a much larger internal AI product calls. One gets you users, the other gets you distribution.
The most expensive lesson. Passing tests proved my modules worked, not that the system stood up for anyone else. A real test means a fresh checkout, its own environment, the documented launch path, over the real network.
Built over an eight week internship in the Novartis DAx group. The system is now used daily for gene safety screens and more broadly for target discovery and portfolio triage. The diagram above is deliberately abstracted: internal systems, hostnames and schemas are not represented here, and nothing proprietary is shown.