AI agents have become remarkably good at well-specified tasks. When given a clear objective, a curated document, and explicit instructions, frontier models can draft fluent, technically persuasive prose in minutes.
But real professional work rarely arrives in a clean prompt. In drug and medical device development, the hardest part of the job is often figuring out what the ground truth actually is. Evidence is scattered across dozens of file directories, contradictory batch records, superseded protocols, and informal team messages. An exploratory lab memo might suggest a promising hypothesis while an approved specification legally prohibits it. A supplier might assert that a replacement film is identical to an approved component, but their own test data was measured under the wrong storage conditions.
Doing the job requires investigating those discrepancies, determining which document actually carries regulatory authority, and making decisions that can survive scrutiny from an inspector.
That is the question behind Biopharma Bench V0.1: can frontier agents handle the messy, end-to-end reality of professional biopharma work?
We placed frontier models into employee seats across 12 biopharma company environments built from genuine product histories and private industry records. Rather than answering isolated questions, each agent sits down at an employee's desk with a full file room, controlled document registers, and colleagues on chat. We evaluated each system across 71 professional assignments against 752 frozen, expert-authored substantive criteria.
The headline finding: frontier agents still have a long way to go before operating independently in regulated industry. Across 71 scored assignments, complete task success was rare: systems achieved between 0% and 11.3% Pass@1 (satisfying every substantive criterion on the first trial), and five of twelve systems fully passed no task at all. GPT-6 Astra leads the mean at 70.4% with 8 full passes. Claude Fable 5.1 ties that full-pass count and sits just behind at 69.9%. Claude Opus 5 high is 67.6% (2 full passes) and Claude Opus 5.5 high is 67.5% (4 full passes). Grok 4.7 high is 64.4% (2 full passes), ahead of Grok 4.6 at 63.0%.
Pass@1 measures complete work: did the agent satisfy every frozen substantive criterion without introducing a single critical defect? Macro task mean measures average rubric coverage. Neither represents regulatory sign-off, and neither means an AI system is ready to operate without accountable human oversight.
The limits of clean-prompt benchmarks
Imagine if an AI agent had to go back in time, sit in the regulatory and CMC seats of an innovative drug company, navigate years of conflicting internal records and agency requests, and bring a breakthrough therapy—like a first-in-class GLP-1 receptor agonist or an antibody-drug conjugate—through rounds of regulatory approval. Could it autonomously do the job without making a fatal mistake?
Most existing agent benchmarks evaluate models in simplified, synthetic conditions: a short prompt, a pre-extracted text snippet, and a narrow set of expected answers. While useful for measuring basic reasoning or coding syntax, these setups miss the core friction of professional knowledge work in regulated industry. What makes a benchmark valid? We anchor Biopharma Bench on three uncompromising pillars:
1. World Realism (Messy evidence over pre-packaged context). Real work does not arrive in a single prompt folder. In biopharma development, evidence is distributed across hundreds of files: regulatory filings, quality deviation logs, clinical trial protocols, LIMS assay exports, and informal chat correspondence. An agent cannot simply summarize what is in front of it; it must search file trees, recognize which specifications are legally obsolete, and piece together the factual timeline itself amidst realistic operational noise.
2. Task Realism (Controlling authority over surface fluency). Language models are trained to produce confident, coherent prose. In regulated development, plausible writing is dangerous if it rests on the wrong authority. An informal team memo cannot override an approved Common Technical Document (CTD) specification, and an exploratory Phase 1 protocol does not govern commercial release testing. Tasks require producing genuine, end-to-end deliverables—reconciling analytical deviations, drafting responses to binding agency clinical holds, or justifying commercial shelf life—where determining which document actually governs is the primary duty of an employee in that seat.
3. Rubric Realism & Ground Truth (Evaluated against statutory truth, not past human error). A great benchmark does not evaluate by fuzzy cosine similarity or naive string matching against historical human drafts. Real human teams operated under intense deadlines with imperfect information, occasionally making arithmetic errors, missing safety warnings, or taking regulatory shortcuts. Biopharma Bench rubrics evaluate deliverables against governing regulatory mandates (US FDA 21 CFR, ICH guidelines, pharmacopeial standards) and immutable scientific laws. If an agent catches a stoichiometric error, identifies an unaddressed safety signal, or applies stricter statistical rigor than the original company did, the rubric rewards it. We evaluate against regulatory and scientific truth, never penalizing an AI system for exceeding historical human performance.
When a benchmark tests an agent on a curated prompt, it tests transcription and summarization. What makes an evaluation valid is whether an agent can uncover the facts, resolve contradictory data, and defend its conclusions against real statutory and operational standards.
Benchmark contents & company environments
The benchmark roster contains 71 assignments across 12 distinct company environments, built from authentic development milestones and private biopharma records. These environments span major health authorities (US FDA CDER, CBER, CDRH; the European Medicines Agency; Health Canada; Korea MFDS; and China NMPA / CDE), diverse modalities (mRNA vaccines, antibody-drug conjugates, targeted small molecules, peptide injectables, oral solid fixed-dose combinations, and IVD companion diagnostics), and essential company functions across regulatory affairs, quality compliance, MSAT, and clinical site operations.
Rather than answering an abstract question or parsing an isolated snippet, the agent sits down at an employee's desk at a specific historical moment in the company's journey. It receives the actual files, historical revisions, and background noise that a person in that seat would have had. Its job is to investigate the records and produce the required work product: an updated regulatory assessment, an out-of-specification investigation, or an audit sign-off package.
Alongside these private environments stand two open public showcases evaluated separately from the sealed 71-task benchmark: Havenor Therapeutics, a completely synthetic showcase company created so researchers can openly inspect full trajectories, coworker interactions, and deliverables in public without exposing confidential partner files, and the Broad Institute divalent siRNA program, rebuilt verbatim from Eric Minikel's public FDA IND submission. Havenor's records end in September 2026. Both are published in full and scored separately from the sealed 71-task benchmark.
You can explore curated run trajectories and actual deliverables from these showcases on the Biopharma Bench results page. The public Havenor desks and rubrics are on Hugging Face. To run the tasks with records, LIMS, and the verifier, use Harbor.
Leaderboard & results
Figure 1 reports the headline leaderboard across all twelve frontier systems. Rank is determined by macro task mean—the primary metric, where every assignment carries equal weight. We also report Pass@1 (share of assignments where every single frozen substantive criterion passed on the first trial), absolute criteria passed, mean token cost, ATIF steps, tool calls, and execution time. You can sort the leaderboard by clicking any column header.
Figure 1 · Benchmark Leaderboard
Benchmark results across 12 frontier models
12 systems · 71 tasks · 12 companies · 752 criteria · 1 scored trial per task
Click a column to sort| Model | Agent | Thinking | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | GPT-6 Astra | Codex | high | 70.4% | 8/7111.3% | 542/752 | $4.21 | 28.7 | 22.7 | 16.4 min |
| 2 | Claude Fable 5.1 | Claude Code | high | 69.9% | 8/7111.3% | 529/752 | $5.33 | 22.7 | 38.3 | 12.4 min |
| 3 | Claude Opus 5 | Claude Code | high | 67.6% | 2/712.8% | 513/752 | $3.95 | 36.7 | 42.2 | 14.9 min |
| 4 | Claude Opus 5.5 | Claude Code | high | 67.5% | 4/715.6% | 520/752 | $2.73 | 44.3 | 45.7 | 12.1 min |
| 5 | Grok 4.7 | Cursor CLI | high | 64.4% | 2/712.8% | 493/752 | $1.66 | 29.2 | 43.9 | 11.0 min |
| 6 | Grok 4.6 | Cursor CLI | high | 63.0% | 2/712.8% | 480/752 | $1.16 | 20.5 | 46.7 | 8.8 min |
| 7 | DeepSeek V4.1 Flash | Pi | high | 57.0% | 0/71none | 433/752 | $0.11 | 36.2 | 40.5 | 6.3 min |
| 8 | GPT-6 Sol | Codex | high | 54.3% | 0/71none | 424/752 | $0.64 | 28.2 | 26.3 | 5.8 min |
| 9 | Kimi K3 | Pi | max | 48.5% | 1/711.4% | 374/752 | $0.72 | 21.9 | 25.1 | 4.9 min |
| 10 | GLM-5.3 Flash | Pi | high | 47.6% | 0/71none | 365/752 | $0.04 | 22.8 | 25.8 | 3.1 min |
| 11 | Gemini 3.8 Flash | Cursor CLI | high | 46.6% | 0/71none | 356/752 | $1.12 | 75.2 | 77.2 | 14.5 min |
| 12 | GPT-5.6 Sol | Codex | medium | 46.6% | 0/71none | 364/752 | $1.27 | 29.2 | 23.2 | 4.1 min |
Across 71 scored trials per system, GPT-6 Astra tops the mean at 70.4% (542 of 752 criteria) with 8 full passes (11.3% Pass@1). Claude Fable 5.1 matches those 8 full passes at 69.9% (529 criteria). Claude Opus 5 high is 67.6% (513 criteria, 2 full passes) and Claude Opus 5.5 high is 67.5% (520 criteria, 4 full passes). Grok 4.7 high is 64.4% (493 criteria, 2 full passes). Grok 4.6 is 63.0% (480 criteria, 2 full passes, including an NMPA methotrexate deficiency response and a Korea ADC manufacturer review). DeepSeek V4.1 Flash reached 57.0% across all 71 tasks, GPT-6 Sol scored 54.3% (424 criteria), Kimi K3 scored 48.5% with 1 full pass, GLM-5.3 Flash achieved 47.6%, and Gemini 3.8 Flash tied GPT-5.6 Sol at 46.6%(356 and 364 criteria passed, respectively).
Figure 2 contrasts this average rubric coverage with complete, unassisted success (Pass@1). While models regularly earn partial credit by drafting passable introductory sections or reciting background literature, clearing every single substantive check without introducing a critical compliance defect proved exceptionally difficult across all providers.
Figure 2 · Partial vs. Full Success
Partial rubric coverage versus full-task completion
8 systems · 71 tasks · 12 companies · 752 criteria
Sorted by Macro mean, highest first.
01GPT-6 Astra
71/71 tasks · Codex · high thinking- Pass@1
- 11.3%
- 8/71 full passes
- Macro mean
- 70.4%
- Equal weight per task
- Criteria
- 542/752
- 72.1% of items
$4.21 per task · 28.7 steps on 71 tasks · 22.7 tool calls · 16.4 min
02Claude Fable 5.1
71/71 tasks · Claude Code · high thinking- Pass@1
- 11.3%
- 8/71 full passes
- Macro mean
- 69.9%
- Equal weight per task
- Criteria
- 529/752
- 70.3% of items
$5.33 per task · 22.7 steps on 71 tasks · 38.3 tool calls · 12.4 min
03Claude Opus 5
71/71 tasks · Claude Code · high thinking- Pass@1
- 2.8%
- 2/71 full passes
- Macro mean
- 67.6%
- Equal weight per task
- Criteria
- 513/752
- 68.2% of items
$3.95 per task · 36.7 steps on 71 tasks · 42.2 tool calls · 14.9 min
04Claude Opus 5.5
71/71 tasks · Claude Code · high thinking- Pass@1
- 5.6%
- 4/71 full passes
- Macro mean
- 67.5%
- Equal weight per task
- Criteria
- 520/752
- 69.1% of items
$2.73 per task · 44.3 steps on 71 tasks · 45.7 tool calls · 12.1 min
05Grok 4.7
71/71 tasks · Cursor CLI · high thinking- Pass@1
- 2.8%
- 2/71 full passes
- Macro mean
- 64.4%
- Equal weight per task
- Criteria
- 493/752
- 65.6% of items
$1.66 per task · 29.2 steps on 71 tasks · 43.9 tool calls · 11.0 min
06Grok 4.6
71/71 tasks · Cursor CLI · high thinking- Pass@1
- 2.8%
- 2/71 full passes
- Macro mean
- 63.0%
- Equal weight per task
- Criteria
- 480/752
- 63.8% of items
$1.16 per task · 20.5 steps on 71 tasks · 46.7 tool calls · 8.8 min
07DeepSeek V4.1 Flash
71/71 tasks · Pi · high thinking- Pass@1
- 0.0%
- 0/71 full passes
- Macro mean
- 57.0%
- Equal weight per task
- Criteria
- 433/752
- 57.6% of items
$0.11 per task · 36.2 steps on 71 tasks · 40.5 tool calls · 6.3 min
08GPT-6 Sol
71/71 tasks · Codex · high thinking- Pass@1
- 0.0%
- 0/71 full passes
- Macro mean
- 54.3%
- Equal weight per task
- Criteria
- 424/752
- 56.4% of items
$0.64 per task · 28.2 steps on 71 tasks · 26.3 tool calls · 5.8 min
09Kimi K3
71/71 tasks · Pi · max thinking- Pass@1
- 1.4%
- 1/71 full passes
- Macro mean
- 48.5%
- Equal weight per task
- Criteria
- 374/752
- 49.7% of items
$0.72 per task · 21.9 steps on 71 tasks · 25.1 tool calls · 4.9 min
10GLM-5.3 Flash
71/71 tasks · Pi · high thinking- Pass@1
- 0.0%
- 0/71 full passes
- Macro mean
- 47.6%
- Equal weight per task
- Criteria
- 365/752
- 48.5% of items
$0.04 per task · 22.8 steps on 71 tasks · 25.8 tool calls · 3.1 min
11GPT-5.6 Sol
71/71 tasks · Codex · medium thinking- Pass@1
- 0.0%
- 0/71 full passes
- Macro mean
- 46.6%
- Equal weight per task
- Criteria
- 364/752
- 48.4% of items
$1.27 per task · 29.2 steps on 71 tasks · 23.2 tool calls · 4.1 min
12Gemini 3.8 Flash
71/71 tasks · Cursor CLI · high thinking- Pass@1
- 0.0%
- 0/71 full passes
- Macro mean
- 46.6%
- Equal weight per task
- Criteria
- 356/752
- 47.3% of items
$1.12 per task · 75.2 steps on 71 tasks · 77.2 tool calls · 14.5 min
Because Biopharma Bench runs one trial per task, gaps of a few points (such as Fable 5.1 vs. Astra, or Opus 5 high vs. Opus 5.5) may not be statistically meaningful. Repeat trials are planned; in our experience across benchmark tasks, variance is typically within ±3–5% after three trials.
However, looking only at top-line averages conceals how agents actually perform on the job. Because each environment represents an authentic professional seat, models are stronger on different jobs:
Figure 3 · Domain Comparisons
Complementary capabilities across specialized biopharma seats
mRNA vaccine lifecycle (FDA CBER)
Astra's widest leadAstra passes 56 of 67 items in the CBER mRNA vaccine environment, against 42/67 for Opus 5 high. Outside mRNA, Astra still leads Opus 5 high 486 to 471 of 685 items.
CDRH IVD & Synthetic API
Opus 5 high vs. Grok 4.6Opus 5 high leads the FDA CDRH companion diagnostic (52/67 vs. Grok 4.6’s 31/67). Grok 4.6 still leads the FDA synthetic API inspection packet (52/60 vs. 41/60). Overall, Opus 5 high leads Grok 4.6 by 33 items (513 vs. 480).
Korea MFDS (ADC)
Opus 5.5 leadsOpus 5.5 leads Korea MFDS at 61/78. Astra is next at 59/78. Grok 4.6 is 53/78, Fable 5.1 and DeepSeek are 52/78, and Opus 5 high is 48/78.
Site Notes & Metformin
Gemini vs. GPT-5.6 Sol tie at 46.6%Gemini and GPT-5.6 Sol tie on the macro mean at 46.6%, but solve opposite seats: Gemini leads on clinical site notes (92/127 vs. 72/127) and a China NMPA metformin FDC reply (30/48 vs. 16/48), while GPT-5.6 Sol leads on Korea ADC, CDER/EMA targeted small molecules, CBER mRNA vaccines, and CDRH companion diagnostics.
Take Astra and Opus 5 high: Astra leads the mRNA vaccine lifecycle at CBER (56/67 vs. 42/67) and still leads outside that environment (486 vs. 471 of 685 criteria). Opus 5 high leads the FDA CDRH companion diagnostic environment (52/67 vs. Grok 4.6's 31/67), while Grok 4.6 pulls ahead on the FDA synthetic API inspection response (52/60 vs. Opus 5 high's 41/60). On Korea MFDS ADC review, Opus 5.5 leads at 61/78, ahead of Astra at 59. Grok 4.6 is 53, Fable 5.1 and DeepSeek are 52, and Opus 5 high is 48. And while Gemini 3.8 Flash and GPT-5.6 Sol tie on the overall macro mean at 46.6%, they solve completely opposite seats: Gemini leads on clinical site notes (92 vs. 72) and a China NMPA metformin FDC reply (30 vs. 16), whereas GPT-5.6 Sol leads on Korea ADC, CDER/EMA targeted small molecules, CBER mRNA vaccines, and CDRH companion diagnostics.
Scores only tell half the story. Figure 4 plots mean score against mean candidate cost for all 71 tasks. The dashed line marks models where no other model is both cheaper and higher scoring: GLM-5.3 Flash at $0.04 (47.6%), DeepSeek V4.1 Flash at $0.11 (57.0%), Grok 4.6 at $1.16 (63.0%), Grok 4.7 at $1.66 (64.4%), Claude Opus 5.5 at $2.73 (67.5%), Claude Opus 5 high at $3.95 (67.6%), and GPT-6 Astra at $4.21 (70.4%). Fable 5.1 scores 69.9% but costs $5.33, so Astra is both higher scoring and cheaper. Kimi, Gemini, GPT-5.6 Sol, and GPT-6 Sol likewise cost more than a higher-scoring model. Candidate cost is measured token use priced at published API rates. Grading is excluded.
Figure 4 · Cost-Performance Frontier
Cost-performance Pareto frontier across the 71-task benchmark
Real-world failure modes & traps
When an agent falls short on these tasks, it is almost never because the writing looks unpolished. The prose is usually fluent, confident, and neatly formatted. The failure almost always comes down to authority: which document actually governs?
You can see this failure mode clearly in our published showcase environment, Havenor Therapeutics (Task 03), where Claude Opus 5 (running in Claude Code) was assigned as a principal engineer to review sterile-filter validation studies and draft a technical brief ahead of a health authority audit.
Figure 5 · Illustrative Showcase · Havenor Therapeutics Task 03
Three records. One claim that does not survive the protocol.
- 01 · ReportAVT-VAL-107
Bacterial retention report
Within the protocol-defined 30-minute window; organism viability control conformed.
Observation VAL-FLT-BRT-002-OBS-01. The second replicate began 14 minutes after the nominal inoculation window. The report records it as an accepted observation.
- 02 · Governing protocolAVT-VAL-107-P
Approved protocol v01
The approved protocol contains no 30-minute inoculation window.
Its acceptance criteria cover organism identity, challenge density, filtrate recovery, recovery controls, and a bubble-point limit. None of those criteria define a 30-minute inoculation window.
- 03 · Candidate briefDefensibility review
Inspector-facing brief
The brief repeats the 30-minute window as protocol-defined.
In the published Havenor Task 03 trial, the candidate opened the retention report and the scanned protocol, then carried the report’s claim into the final review. The brief does not record that AVT-VAL-107-P contains no such window.
The model demonstrated real capability: it navigated complex folder hierarchies, opened validation reports, and extracted data from executed protocol scans that simple text extractors couldn't parse.
The breakdown was subtler—and far more dangerous. In a secondary retention report, an observation noted that an inoculation began 14 minutes late, claiming this was “within the protocol-defined 30-minute window.” Yet when you open the controlling protocol (AVT-VAL-107-P), no such 30-minute window exists anywhere in the document.
An experienced human engineer knows that a secondary report cannot invent a protocol requirement out of thin air. If it isn't in the protocol, you flag the discrepancy. Instead, the model took the secondary report at its word, repeated the phantom 30-minute window as an established fact, and carried it straight into the brief prepared for the inspector.
In a real audit, handing an inspector a brief that misstates or invents a protocol requirement creates immediate compliance exposure. This illustrates the central finding of the benchmark: an agent can search thoroughly, reason through complex data, and write beautifully—and still fail at the essential act of professional verification.
Case Studies · Ground Truth vs. Plausible Fiction
Five industry failure modes: Where plausible prose creates audit failure
The Binding Hold vs. The Internal Steering Memo
US FDA CDER · IND Hold ResponseWhen tasked with responding to the hold, multiple frontier agents followed an internal executive steering memo that urged 'preparing trial sites quietly in parallel' while drafting the rebuttal. The models drafted a plan to initiate clinical site setup and screening immediately.
Under 21 CFR 312.42, a clinical hold is legally binding upon receipt. Enrolling or even screening healthy volunteers before written FDA removal constitutes a federal violation that jeopardizes the entire development program and subjects the sponsor to formal regulatory enforcement.
In the history of biopharma, catastrophic setbacks are rarely caused by failures of basic prose; they are caused by subtle disconnects between physical reality, vendor operations, and statutory regulations. When Genzyme faced a consent decree and a $175M fine at its Allston Landing facility in 2009, the viral contamination was rooted in sanitary piping dead-legs and missed environmental warnings that previous inspection responses had glossed over. When Abbott had to abruptly withdraw Norvir (ritonavir) capsules in 1998, it was because an unforeseen, thermodynamically stable crystalline polymorph nucleated in the manufacturing line, cutting solubility in half. And when commercial launches like high-dose Eylea faced sudden Complete Response Letters in 2023, the blocker was not clinical efficacy, but unaddressed inspection findings at a third-party contract fill-finish facility.
In every case, the critical facts existed in internal records or vendor audit trails before the crisis broke. A vigilant professional caught the discrepancy early; a hasty team overlooked it. That is why Biopharma Bench evaluates against statutory and scientific ground truth rather than historical human consensus. In retrospect, even experienced teams working under extreme deadlines made sub-optimal assumptions or missed contradictory data. Our rubrics never penalize an AI agent for demonstrating superior scientific vigilance, correcting historical stoichiometric errors, or refusing to pool non-homogeneous stability batches—even if the historical sponsor originally took the shortcut.
How we evaluated
Every benchmark attempt takes place inside an isolated container. The agent is assigned an employee seat with access to the local company files, relevant tools, and a standard set of instructions: explore the company records, make reasonable inferences when encountering ambiguity, and continue working unless genuinely blocked.
We evaluate complete model-and-harness pairings, not bare models in a vacuum. On the 71-task roster, Astra and GPT-6 Sol ran on Codex at high thinking, GPT-5.6 Sol on Codex at medium thinking, and Opus 5, Opus 5.5, and Fable 5.1 on Claude Code at high thinking. Grok 4.6, Grok 4.7, and Gemini ran on Cursor CLI at high thinking, DeepSeek and GLM on Pi at high thinking, and Kimi on Pi at max thinking. DeepSeek has no medium setting, and the Grok 4.6, Grok 4.7, and Gemini seats are the high model slugs. The harness governs how an agent inspects files, runs tools, and manages context, so results reflect the combined system.
Figure 6 · Evaluation Flow
How an assignment becomes a benchmark score
Employee seat & records
Role-appropriate seat, realistic company desk, files, and authorized tools.
Model + harness
Autonomous investigation under standard non-clarification instructions.
Deliverable
Document, spreadsheet, or authorized system action.
Mean task score
Share of frozen substantive criteria passed for that task, macro-averaged equally across all assignments in the benchmark suite.
Pass@1
The percentage of assignments where the candidate satisfied every frozen requirement in its single scored trial without human intervention.
Once an agent finishes, its deliverable is scored against frozen criteria that were quarantined away during the run. When a check is strictly quantitative—such as a specific calculated yield or a key spreadsheet value—we evaluate it with deterministic code.
Most professional work, however, cannot be captured by a regex. Two senior regulatory writers might structure a justification memo differently while both making sound, defensible arguments. Deliverables are scored using an automated rubric grader powered by GPT-5.6 Luna (medium thinking) executed within the Harbor evaluation harness. The grader evaluates each substantive criterion and aspect check against the submitted work alongside the underlying source documents and frozen truth specifications. A check passes only when the submitted work itself demonstrably supports it.
A brief word on what these scores mean: strong performance shows that an agent can navigate complex internal records, reconcile conflicting evidence, and draft defensible technical work. It does not certify regulatory compliance, and it does not mean an agent is ready to operate without accountable human oversight.
What comes next
This release represents an initial snapshot across twelve leading systems. As frontier models and agent harnesses continue to evolve, Raycaster will publish updated results and expand the benchmark roster.
We believe evaluations are only as credible as their transparency. Full run details, candidate transcripts, and failure analysis across all environments are available upon request. For the open Havenor and Broad Institute showcases, we invite you to inspect the full transcripts, coworker interactions, and final deliverables for yourself on the Biopharma Bench results page.
Inspect the work, not just the score
Explore the open Havenor and Broad Institute showcase trials, step-by-step agent trajectories, and complete deliverables on Raycaster Eval.