Curasynth / The Analyst
An analyst that shows its work, on a runtime built for long work.
The Analyst is the front door: a question in a sentence, a cited answer streamed back, and the queries it ran shown above the answer. Behind it is a runtime that also runs campaigns — the same evidence, weighed for hours instead of seconds, to a verdict that states its own uncertainty.
What a turn looks like
Resolve, query, open the record, then answer — and say so.
The Analyst does not answer from memory. For the question above it resolved the disease to its MONDO term, ran the prioritization join, then opened each candidate's own record to check the approved-drug flag and the safety-liability list directly. Each call is shown above the answer as it happens, so a reader can see what the answer rests on before reading it.
The answer ends with a provenance line: which sources, which vintage, which license. When a field is empty it says so — an empty safety list means none recorded, not safe — and it flags where the question's wording and the data's definition differ, as with germline versus somatic genetic evidence in a cancer.
The tools it holds
Search by meaning or keyword across every index · resolve a name or an identifier to its record · open an entity with its panels · walk its associations · rank the targets behind a disease · open a paper and quote its methods, dose or results table by section · trace a paper's evidence lineage · read computed evidence · estimate, request and poll a computation · query any served table · describe what is served and what each field means.
The rules it is held to
One species per value · weigh evidence only when asked · read our own screen before repeating a published claim · never state a phase as an outcome, because a registry records what phase a drug reached and never how the trial went · say what our data cannot answer instead of answering anyway.
How it is used
From a question to a dossier someone else can check.
-
01
Ask
A question in a sentence — a target and a disease, a drug and a liability, a mechanism you want the literature on. Or an identifier: a MONDO term, an NCT number, an Ensembl gene, an ORCID, and the page opens.
-
02
The Analyst assembles
It reads across all seven entities at once — expression and tractability, binding measurements, dependency, trial history, safety signals, the papers and what they cite — and streams a cited answer while it works. Conversations persist and can be reopened.
-
03
Check the lineage
Before a finding is presented as settled, the Analyst traces what the paper rests on and who has cited it since, ranked by influence, with each citing sentence's stance. A claim that rests on one Ki reads differently from one that rests on ten.
-
04
Prioritize and assess
Rank the targets behind a disease with dependency, deletion and complex context beside the score, and re-weight live. Assess druggability, target validity in a disease, selectivity against a chosen primary target, and combinations.
-
05
Hand it off
Assemble a Program: a dossier where every claim carries its source, license and vintage down to the record. Export it as a PDF or as data, share it with a team with comments in place, or expose it over MCP so the AI tools your team already works in can call it.
Prioritize
Program
The runtime underneath
Planners that already know the shape of a discovery program.
The Analyst runs on Fitila's agent runtime, which carries eleven planning strategies behind one interface: the step-by-step reasoning loop the Analyst uses today; hierarchical task networks for pipelines with a known decomposition and gate criteria; probabilistic graphical models — Bayesian networks, dynamic Bayesian networks and influence diagrams — for reasoning under uncertainty with known structure; belief-state tracking for partially observable problems; a planner that re-plans when the world drifts under a running plan; tree-of-thought for decisions worth a second opinion; multi-agent delegation; and model-written code as action for chained, conditional tool sequences.
Domains are configuration, not code. The drug-discovery domain below is a document the planner consumes: five phases, sixteen tasks, four gates with pharmacological thresholds.
Deciding under uncertainty
An influence diagram over the discovery funnel — is the target valid, is the hit strong, advance to hit identification or not, advance to lead or not — with the cost of advancing and the program's payoff as utilities, solved for the decision with the highest expected value.
Bayesian, dynamic Bayesian, Markov and influence-diagram inferencePlans that survive the week
A planner that watches declared state and re-plans when it drifts; checkpointed runs; per-step timeouts, retries and a circuit breaker; conversation memory that persists across sessions. The parts a research program needs to run for days rather than a turn.
Re-plan on drift · checkpoint · step policiesWhat it became
This is the machinery campaigns run on. A campaign's autonomous stages let the planner choose what to gather while our own executor does the reading, so no number a verdict rests on ever passes through a language model.
Shipped — see campaigns belowCampaigns
A campaign is an experiment someone else can argue with.
A campaign is not a prompt. It is a template — a file a colleague can read and disagree with — that declares the question, the bar a verdict must clear, what the run may spend, and the points at which it must stop and ask a human. Resolved against the shortlist you pinned, the whole thing is hashed, so what actually ran is a fact rather than a memory.
-
The frame
What is being claimed, and what would refute it
Each hypothesis must say what evidence would confirm or refute it, and must name its subject in a real registry — a gene accession and a disease term, not a phrase. One that cannot be refuted by anything is turned away at the frame, and the refusal is reported with its reason rather than dropped. Evidence about a different population is refused too, not discounted: a trial in another population is not weak evidence about this one, it is evidence about a different claim.
-
The arithmetic
Belief and plausibility, not a score
Evidence is combined as mass over the competing hypotheses, giving each a lower and an upper bound. Sources that are not independent are combined so that duplicates do not compound — five papers about one trial count once. Conflict between sources is kept and reported rather than normalized away. Each class of evidence is discounted by how much that kind of evidence has historically deserved: a replicated human genetic association outranks a cell-line expression contrast, and the ladder says by how much.
-
The verdict
Five answers, three of which are “not yet”
Credible, leading, inconclusive, the sources conflict, or the frame looks incomplete. The bar is named on the result, because a verdict cleared at a triage bar and one cleared at a commit bar are not the same claim and the numbers alone will not tell you which you are reading.
-
The gaps
What nobody gathered, and what to get next
Coverage names the classes of evidence with no record for this target — because a reader of a ranked list assumes somebody checked. The next-evidence ranking asks what each available experiment would be worth: how much it would narrow the interval, against what it would cost in money and in days. It needs no prior and no utility function to do it. A separate pass re-runs the verdict with each record held out, to name which ones are actually carrying it.
-
The record
Replayable, order-invariant, tamper-evident
Every record weighed is appended to a hash-chained ledger that refuses to load if it does not verify. A run stores the ledger head and a digest of what the rows claim, so a re-run is provably weighing the same evidence — and the order the evidence arrived in cannot change the answer, which is pinned by a test.
-
The calibration
Signed by a person, or declared unsigned
What each class of evidence is worth is not a constant buried in code. It is an anchor with a written reason, signed off by a named person on a date, per evidence class. A class nobody has signed runs at the framework's default and every verdict that used it says so. Today most of ours are signed by us and reviewed by nobody else — which is exactly what the page shows, because a calibration nobody will defend is worse than none.
Continue