Curasynth

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.

Which targets in acute myeloid leukemia have strong genetic evidence, an approved drug, and a known safety liability? Recorded against the live application at twice speed.

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.

The top of an Analyst answer: the question, then the tool calls it made — resolve, prioritize, entity detail — each marked done, before the narrative begins.
The calls the Analyst made, in order, above the answer they produced.

From a question to a dossier someone else can check.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

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.

Target identification validate target biology assess druggability identify binding sites GATE 1druggability ≥ 0.6 Hit identification high-throughput screen virtual screen dose-response validation GATE 2IC50 ≤ 10 µM · 3+ confirmed hits Hit to lead optimize affinity assess selectivity initial ADME GATE 3IC50 ≤ 1 µM · 10× selective Lead optimization optimize PK toxicity profile synthetic accessibility in vivo GATE 4oral F ≥ 20 % · hERG IC50 ≥ 10 µM Candidate selection compile the package GLP toxicology prepare the IND
The hierarchical task network the runtime ships for drug discovery. Each phase decomposes into tasks bound to tools — today the platform's own assessments and computations, tomorrow a partner's — and a gate is a declared criterion the plan must satisfy before it proceeds.

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 inference

Plans 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 policies

What 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 below

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.

A campaign's results: candidate groups with belief intervals, each pinnable into the Program, and a line naming what survived the screen but was not carried to confirmation.
Each group carries its interval and can be pinned into the Program. What survived the screen but was not carried to confirmation is named rather than silently dropped.