ARGOS · A Controlled Test
Anyone can call the same language model. How deep a report it produces isn't set by the model — it's set by the structured data you feed it. That data is the part we own. Here's the experiment that proves it.
The ceiling
Give a model a research task and it digs until the answer looks good enough — not until the data runs out. Ask it to profile a cruise line and it grabs revenue, a couple of risk sentences, and stops. It will not go hunting for occupancy, berth utilization, net yields, or a buried red flag unless you force it to.
That's not a flaw to prompt away — it's the objective being satisfied early. Which means the depth of any "let the model figure it out" report has a hard ceiling. If you want depth, you don't push the model harder. You hand it data that's already been extracted.
The experiment
We built the same kind of single-company report three times, holding the model constant and varying only the data layer. Then we counted the specific, verifiable data points in each (named facts, figures with context, dates, IDs — not generic filler), judged consistently by a separate pass.
C · BASELINE
Carnival — a cruise operator. Generic tools only. No industry extraction exists for it.
A · DOMAIN
Sarepta — a biotech. Same generic tools. The model digs on its own.
B · + EXTRACTION
Sarepta again — plus our bio extraction: pipeline, FDA history, de-risking, target base rates.
Specific data points per report. Taller is denser.
What it shows
Adding one industry-extraction section took the biotech report from 26 to 39 data points — +50% — and the facts it added are the hardest, most valuable in the entire test. Straight from the knowledge graph, none of it diggable from a filing:
14 assets (4 approved, 3 clinical, 7 preclinical); a de-risking score of 0.7431; four FDA approvals with their BLA/NDA numbers and dates — ELEVIDYS (BLA 125781, Jun 2023), AMONDYS 45, VYONDYS 53, EXONDYS 51; gene targets DUX4, DMPK, β-sarcoglycan.
A model reading the 10-K never produces that. It doesn't exist there in structured form. It exists because code did the exhaustive extraction first.
We expected the two "generic tools" runs to look alike. They didn't — the biotech (26) nearly doubled the cruise line (15) with the identical toolset. Pharma filings are simply more quantitative, so even a generic pass comes out denser. Carnival's generic report was 65% filler; its risk section collapsed to a single bucket, and the model — satisficing — never went looking for the operational specifics.
Two factors. The second is the one we control — and it adds the highest-value data.
Why this is the moat
Anyone can call the same open-weight model we do. What they can't call is a decade of filings, trials, and disclosures already resolved into a queryable graph — pipelines mapped to targets, targets to base rates, sponsors to their FDA and enforcement history. That's what our MCP serves. Build an agent or a report on it and it inherits that depth for free — and it compounds with every industry we instrument.
Carnival's operational data — occupancy, berth-days, net yields — is disclosed. It's just not extracted yet. Instrument it, and the cruise report jumps exactly the way the biotech report did. The gap is never the model. It's which industries we've mined.