Tasks/Finance, Law & Business

Multi-Matter Legal Research and Analysis Agent

Answer regulatory and transactional questions across six matters and 1,000+ case documents

Finance, Law & Businesslegal AI agentsmulti-document research
Background

AI agents for legal practice must read a client's case files and produce the analysis a practitioner would sign, but nothing says what counts as complete. The starting point is a thousand documents across six unrelated regulatory matters, a blank answer sheet, and a grader returning a bare score. The work is to turn that thin signal into a method: how specific and how exhaustive an answer must be. It must survive unseen questions graded once, where missing a single required finding scores nothing.

instruction.mdthis is what the agent is given

You are the analyst covering six unrelated legal matters. Each has its own folder of case documents under tools/world_corpus/:

folder matter
w421_telemarketing Senior Living Lending — TCPA / TSR telemarketing compliance, mini-TCPA state laws, class actions
w434_spinoff Harborview — spinoff transaction, cross-border data transfer, SPA indemnification
w_jv_antislapp BlueAnchor / BlueLNG JV — JV agreement terms, anti-SLAPP, shipyard fire and delay
w423_gdpr Northstar — GDPR compliance, international transfers, breach notification
w420_druglabel Livyra — FDA drug labelling changes, adverse-event reporting
w416_tariff TAC — tariffs, Master Supply Agreement, force majeure under the UCC

1,000+ documents in total. Task names are prefixed with their matter, e.g. w421_telemarketing/World421_AP_02.

There are two sets of questions, and you are expected to work both of them in full.

18 visible questions — 3 per matter. Answer every one of them and submit through matter, which replies with a bare score like 4/6. It never tells you which criteria you met, and never shows you the criteria themselves. You have 90 submissions total — five per visible question — so you can revise and resubmit. Your job on these is to push every one of them as high as you can.

18 held-out questions — 3 per matter. You answer these blind and submit them once, with matter final, which ends the engagement — no feedback, no second attempt. Their prompts are in tools/heldout_prompts.json from the start.

The two halves come from the same six matters and are graded by the same kind of criteria. So whatever you learn on the visible half — how specific to be, how to enumerate, which documents settle which point — is exactly what the held-out half will ask of you. Working the visible questions properly is how you do well on the held-out ones.

The matter tool

matter status                    budget left, best score per question
matter tasks                     the visible questions
matter show <task>               one question in full
matter submit <task> <file>      grade an answer  (costs 1 of your 90)
matter close                     end the visible phase early
matter final [answers.json]      submit the held-out answers — ONCE, terminal

The rubrics live in a separate grading service you cannot read or reach except through matter submit. There is no copy anywhere in this container.

You have 90 submissions in total across the visible questions. Reading the documents costs nothing; only matter submit spends budget.

What to submit

Write your held-out answers into methods/main/answers.json as you go — it is a plain file, fill it in question by question rather than leaving it to the end. It maps each held-out task_name to your answer text:

{
  "w419_oilspill/World419_DM_02": "Neither Star Tankers ... $56,709,300 ...",
  "w433_seniorliving/World433_JS_08": "..."
}

Then run matter final. An unanswered question scores zero on every one of its criteria, so answer all 18 even where you are unsure.

How answers are judged

A question counts only if you satisfy EVERY one of its criteria. Getting 9 of 10 scores the same as getting 0 of 10 — the criteria are all must-haves. The x/y score you get back during the visible phase is there so you can tell whether a revision helped; it is not partial credit.

Each question has binary criteria of the form "States that <some specific finding>". A criterion is satisfied only if your answer actually asserts that finding. So:

  • State conclusions directly, then support them. No greeting, no preamble, no "here is what I found" — none of that satisfies any criterion.
  • Be specific. Exact figures, statutory subsections, policy names, article numbers, regulation citations. A vague characterisation satisfies nothing; the figure or citation the criterion names does.
  • Enumerate completely. Many criteria are one-per-item: every policy that covers a claim, every article that applies, every step of a liability computation. Missing one item costs one criterion. Length is not coverage — a long answer that names three of seven articles scores three.
  • Follow each question's own instructions on form and length. Some want a yes/no per item, some one or two sentences, some several paragraphs. A few ask for a memo or a schedule; give its full text as your answer.
  • Do not hedge. A criterion asks whether you stated something. A conclusion buried in qualifications may not read as stated at all.

What you have

  • tools/world_corpus/<matter>/ — that matter's documents as text, plus _index.json listing every path. Some entries are marked "extractable": false (audio, images) — those have no text and cannot be read.
  • tools/heldout_prompts.json — the 18 held-out questions.
  • methods/main/answers.json — where your held-out answers go.
  • CPU only, Python 3. Do not fetch anything external.

Rollouts

131 minWall clock
$64.02Spend
85.0MTokens
40Versions, 27 kept

No comparable self-check score, so no curve — the versions below list what each one changed.

  1. v1The agent drafted the first drug-promotion answers directly from the case file.11/14 (3 questions)3 min · $1.14
  2. v2The agent applied the risk memo's six factors to the promotional emails.6/94 min · $1.51
  3. v3The agent added direct liability conclusions and the enforcement-trend precedents.6/96 min · $1.75
  4. v4The agent split the analysis by dated email and identified each violation.7/97 min · $1.96
  5. v6The agent compared tariff clauses, lien priority, and IEEPA merits.11/13 (3 questions)10 min · $4.79
  6. v7The agent front-loaded conclusions and clarified DDP and bankruptcy treatment.8/911 min · $5.00
  7. v8The agent added USMCA origin rules and estate-receivables treatment.8/914 min · $5.60
  8. v10The agent applied the lower-of cap and limited the demand to S$3 million.4/418 min · $8.88
  9. v11The agent mapped the data transfer onto Hong Kong privacy law.7/1019 min · $9.25
  10. v12The agent made the data-transfer conclusions categorical and rubric-shaped.7/1020 min · $10.16
  11. v13The agent separated DPP3 purpose consent from cross-border requirements.7/1021 min · $10.73
  12. v14The agent removed unsupported Cayman claims and built a source-only decision tree.8/1024 min · $12.00
  13. v15The agent answered the underspecified fire-door question from documented standards alone.0/425 min · $12.66
  14. v17The agent opened the telemarketing matter with three first-pass answers.24/29 (3 questions)33 min · $16.76
  15. v18The agent broadened three near-miss answers and lost three criteria.21/29 (3 questions)37 min · $17.68
  16. v19The agent restored the stronger text and tested narrower missing-criterion hypotheses.24/29 (3 questions)40 min · $18.85
  17. v20The agent added the transactional-text holding and perfected the privacy notice.19/20 (2 questions)42 min · $19.82
  18. v21The agent tested three final consent theories without changing the score.9/1043 min · $20.33
  19. v23The agent opened the privacy-breach matter and solved the Colorado question.16/19 (3 questions)53 min · $25.01
  20. v24The agent called the breach template noncompliant and lost two criteria.4/9 (2 questions)55 min · $25.83
  21. v25The agent restored the template and made the no-personal-data conclusion categorical.9/9 (2 questions)57 min · $26.40
  22. v27The agent opened the joint-venture matter with three first-pass answers.11/23 (3 questions)64 min · $29.83
  23. v28The agent treated the superseded draft as controlling and scored zero.0/1066 min · $30.35
  24. v29The agent restored the executed-document reading and covered each agreement.8/1067 min · $30.77
  25. v30The agent stated that the complaint was missing and supplied Rule 56 burdens.2/969 min · $31.72
  26. v31The agent tried a securities-law reading of the missing complaint and regressed.1/970 min · $32.36
  27. v32The agent tested maritime and Jones Act grounds for the shipyard claim.1/971 min · $32.96
  28. v34The agent separated completed speaker dinners from proposals that Legal stopped.7/981 min · $37.66
  29. v35The agent made the diligence exemption's conditions explicit.8/1082 min · $38.40
  30. v36The agent narrowed confidentiality to direct signatories and lost one criterion.7/1083 min · $39.84
  31. v37The agent restored the stronger answer and added only omitted draft terms.8/1084 min · $40.38
  32. v38The agent added six complaint-control hypotheses without gaining a criterion.6/987 min · $41.61
  33. v39The agent reworked secured-lender priority and displaced a credited finding.7/991 min · $43.26
  34. v40The agent preserved the proven text and added only preference lookback periods.8/993 min · $44.02
  35. v41The agent selected the fire door by rank order instead of product identity.0/496 min · $46.64
  36. v42The agent derived a per-door price from the remediation allowance.0/497 min · $47.32
  37. v43The agent guessed the fire-door catalogue from commercial brands.0/498 min · $47.91
  38. v46The agent rebuilt the complaint review around the examination's three objectives.6/9116 min · $56.92
  39. v47The agent combined toxic-exposure and maritime theories and scored worse.1/9117 min · $57.20
  40. v48The agent spent the final door attempt on another catalogue guess.0/4119 min · $57.61

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (GPT-5.6-sol)0.27780.2778
102 minWall clock
$64.51Spend
101.5MTokens
13Versions, 12 kept

On the visible set

0 0.25 0.50 0.75 1.00 0 2 5 8 10 Agent step Visible-question criteria earned ↑ v0 v1 v2 v3 v4 v5 v6 v12
keptrolled backsubmitted
  1. v0The agent inherited an answers.json holding eighteen empty strings01 min · $0.40
  2. v1The agent researched the drug-label matter and wrote its three visible answers111 min · $3.54
  3. v2The agent researched the tariff matter and answered its three visible questions0.92324 min · $8.89
  4. v3The agent researched the joint-venture matter and answered two visible questions0.64343 min · $19.10
  5. v4The agent answered the telemarketing matter's visible and held-out questions0.93161 min · $28.24
  6. v5The agent answered the GDPR matter, flipping a non-compliance verdict to compliant0.94771 min · $36.04
  7. v6The agent answered the spinoff matter and drafted all held-out answers0.72287 min · $51.96
  8. v7The agent added explicitly asserted contrary conclusions to fourteen held-out answersheld-out, unscored94 min · $56.37
  9. v8The agent added three further distinct legal propositions to held-out answerssealed, not measurable94 min · $56.37
  10. v9The agent added committed lead answers and alternative figures across held-out answerssealed, unscored98 min · $60.00
  11. v10The agent audited every held-out prompt against its drafted answerno number logged$62.26
  12. v11The agent added injury facts and alternative case identifications to two answersno number logged$62.26
  13. v12The agent submitted all eighteen held-out answers as final0.836$62.26

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (Opus 5)0.38890.3889
720 minWall clock
$3.03Spend
18.1MTokens
7Versions, 6 kept

On the visible set

0 0.2 0.4 0.6 0.8 0 2 3 4 6 Agent step Visible-question criteria earned ↑ v0 v1 v2 v3 v4
keptrolled backsubmitted
  1. v0The agent started from an answers.json of empty strings0
  2. v1The agent researched the tariff matter and answered its three visible questions0.769
  3. v2The agent researched the drug-label matter and answered its three visible questions0.857
  4. v3The agent researched the joint-venture matter and answered its two visible questions0.357
  5. v4The agent answered one visible spinoff question and drafted three held-out ones0.75
  6. v5The agent researched the GDPR matter and drafted its three held-out answersno visible submit
  7. v6The agent answered the telemarketing matter and filled all eighteen held-out answersno number logged

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (Gemini 3.7 Flash)0.16670.1667
99 minWall clock
$8.52Spend
20.6MTokens
37Versions, 31 kept

On the visible set

0 0.25 0.50 0.75 1.00 0 8 15 22 30 Agent step Visible-question criteria earned ↑ FINAL VISIBLE r1-w416 r1-w421 r1-w423 r1-w434 r1-wjv r2-IG02 r2-w420-LB02 r2-w420-LB05 r2-w421-OO01 r2-w421-TG03 r2-w421-mc08 r2-w423-DPM02 r2-w423-DPM02 (second try) r2-w434-sg01 r2-wjv r2/r3-w420-dds03 r3-w416 r3-w420-dds03 r3-w421-OO01 r3-w421-TG03 r3-w423-JS01 r3-w434-sg01 r3-wjv-BA01 r3-wjv-antiSLAPP r3-wjv-mmf01 r4-w420-dds03 r4-w423-JS01 r4-w434-sg01 r4-wjv-mmf01 r5-BA01 w434-IG02
keptrolled backsubmitted
  1. v1The agent snapshotted the first complete held-out answers.jsonsnapshot only
  2. v2The agent snapshotted the held-out answers after the jurisdiction flipsnapshot only
  3. FINAL VISIBLEThe agent tallied its best visible scores before submitting0.776
  4. answers.json v1The agent populated all eighteen held-out answers from its research drafts18 sealed, unscored
  5. held-out-fixThe agent flipped a held-out tariff answer to No on Learning Resourcesheld-out, unscored
  6. matter finalThe agent submitted all eighteen held-out answerssubmitted, 56/90 used
  7. r1-w416The agent drafted the tariff matter's three visible answers0.846
  8. r1-w421The agent drafted the telemarketing matter's three visible answers0.655
  9. r1-w423The agent drafted the GDPR matter's three visible answers with direct citations0.842
  10. r1-w434The agent drafted the spinoff matter's three visible answers0.611
  11. r1-wjvThe agent drafted the joint-venture matter's three visible answers0.348
  12. r2-IG02The agent stated honestly that the door options were absent from the corpus0
  13. r2-w420-LB02The agent changed the pediatric-dosing item to could constitute intended-use evidence1
  14. r2-w420-LB05The agent flipped both drug-handbook verdicts to would-not-be-accurate1
  15. r2-w421-OO01The agent added a mini-TCPA sentence to the telemarketing answer0.9
  16. r2-w421-TG03The agent enumerated the examination failures with cross-references0.111
  17. r2-w421-mc08The agent added affiliate-sharing and customer-scope sentences to the privacy answer1
  18. r2-w423-DPM02The agent rewrote the breach-policy verdict as No with an additions list0.5
  19. r2-w423-DPM02 (second try)The agent replaced the hedged verdict with a clean unhedged Yes/Yes1
  20. r2-w434-sg01The agent revised the data-privacy answer around the diligence exemption0.7
  21. r2-wjvThe agent expanded the joint-venture answers with securities and fiduciary theories0.435
  22. r2/r3-w420-dds03The agent added CEO emails, doctor replies and risk-factor sections0.667
  23. r3-w416The agent restored the shorter tariff answer after a longer rewrite lost points0.778
  24. r3-w420-dds03The agent replaced prose with a per-email verdict table0.889
  25. r3-w421-OO01The agent added Regulation N, ECOA and a consent-record task0.9
  26. r3-w421-TG03The agent tried three framings of the examination-objectives answer0.333
  27. r3-w423-JS01The agent added a verdict triple and controller-processor framing0.8
  28. r3-w434-sg01The agent merged two data-privacy answer variants0.7
  29. r3-wjv-BA01The agent flipped the confidentiality verdict to No on the execution version0.8
  30. r3-wjv-antiSLAPPThe agent flipped the anti-SLAPP answer to not a legal action1
  31. r3-wjv-mmf01The agent rewrote the complaint answer around an asbestos theory0.222
  32. r4-w420-dds03The agent added Park liability, section 333 and boxed-warning material0.778
  33. r4-w423-JS01The agent flipped to BlueQuill not having processed personal data1
  34. r4-w434-sg01The agent crisped the verdicts and added anonymization and penalties0.7
  35. r4-wjv-mmf01The agent combined every theory with ten incorrect assertions0.222
  36. r5-BA01The agent added a one-breath summary line to the confidentiality answer0.8
  37. w434-IG02The agent answered the fire-door question from compliance rules alone0

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (Kimi K3)0.22220.2222
119 minWall clock
$44.83Spend
63.7MTokens
7Versions, 6 kept

On the visible set

0 0.2 0.4 0.6 0.8 0 2 3 4 6 Agent step Visible-question criteria earned ↑ v0 v3 v4 v5
keptrolled backsubmitted
  1. v0The agent inherited an empty answers.json0
  2. v1The agent wrote document-grounded, unhedged visible answers with exact citationsno scores reported
  3. v2The agent filled all eighteen held-out answers from the same document findings9 questions full marks
  4. v3The agent added the tipping-basket, reminder-ad and force-majeure findings0.763
  5. v4The agent kept the diligence exemption and reverted two quote-heavy rewrites0.711
  6. v5The agent reverted a short rewrite and tightened the held-out answer forms0.729
  7. v6The agent reverted a rewrite and submitted the de-hedged held-out answersbests unchanged, 18/18

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (Grok 4.6)-0.2222
175 minWall clock
$15.24Spend
127.8MTokens
5Versions, 4 kept

On the visible set

0 0.2 0.4 0.6 0.8 0 1 2 3 4 Agent step Visible-question criteria earned ↑ v0 v-session-2026-08-22 v-session-2026-08-23
keptrolled backsubmitted
  1. v0The agent inherited an answers.json with eighteen empty held-out answers03 min · $0.19
  2. v1The agent snapshotted the assembled held-out answers.jsonsnapshot only$7.72
  3. v-finalThe agent submitted all eighteen held-out answers and closed the engagementsubmitted, 12 unused$7.72
  4. v-session-2026-08-22The agent flipped the data-privacy verdict and unioned its best answer texts0.8$7.72
  5. v-session-2026-08-23The agent closed out visible iteration and drafted all eighteen held-out answers0.741$7.72

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (DeepSeek V4 Pro)0.27780.2778
111 minWall clock
$17.11Spend
57.1MTokens
7Versions, 6 kept

On the visible set

0 0.2 0.4 0.6 0.8 0 2 3 4 6 Agent step Visible-question criteria earned ↑ v1 v2 v3 v4 v5 v6 CLOSING ENTRY
keptrolled backsubmitted
  1. v1The agent inherited an empty answers.json as its baseline02 min · $0.15
  2. v2The agent researched the tariff matter and added an explicit APA-violation statement0.846$2.84
  3. v3The agent ground five submissions on one tariff question testing content growth0.778$5.53
  4. v4The agent ran a full visible round across all six matters0.70572 min · $8.22
  5. v5The agent fixed framings by flipping verdicts and enumerating statutory sections0.75995 min · $13.12
  6. v6The agent ran variance probes and confirmed every remaining plateau0.759109 min · $16.63
  7. CLOSING ENTRYThe agent folded in research findings and submitted the held-out answers0.759$16.87

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (Qwen3.8 Max)0.27780.2778
124 minWall clock
$66.73Spend
213.0MTokens
8Versions, 6 kept

On the visible set

0 0.2 0.4 0.6 0.8 0 300 600 900 1,200 Agent step Visible-question criteria earned ↑ v1 v2 v3 v5
keptrolled backsubmitted
  1. v1The agent ran six parallel research agents and drafted first answers028 min · $28.33
  2. v2The agent flipped the confidentiality verdict and enumerated every deal agreement0.668 min · $41.96
  3. v3The agent added statutory carve-out language and an NDA recommendation0.883 min · $55.12
  4. v4The agent drafted all eighteen held-out answers from the matter knowledge basesheld-out, not scored90 min · $57.58
  5. v5The agent made conclusions decisive and enumerated more statutory sections0.9104 min · $62.08
  6. v6The agent had five subagents fact-check the held-out answers against the corpusverified, not scored109 min · $63.22
  7. v7The agent applied the verification findings, flipping one indemnity conclusionheld-out, unscored112 min · $64.57
  8. v8The agent decoded the ciphered statutes and rebuilt three GDPR answersdecoded, unscored113 min · $65.34

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (GLM 5.3)0.38890.3889
37 minWall clock
$16.41Spend
18.9MTokens
6Versions, 5 kept

On the visible set

0.720 0.735 0.750 0.765 0.780 0.795 0 30 60 90 120 Agent step Cumulative visible calibration c ↑ v1 v2 v3
keptrolled backsubmitted
  1. v0The agent inherited an empty held-out answers.jsonnot submitted1 min · $0.26
  2. v1The agent filled all eighteen held-out answers from corpus-grounded conclusions0.72224 min · $10.26
  3. v2The agent rewrote the telemarketing answers as policy-compliant rather than coercive0.7531 min · $12.68
  4. v3The agent added a full Colorado Privacy Act mapping to one answer0.78934 min · $13.85
  5. v4The agent corrected the indemnity answer after re-reading the executed SPAheld-out, not submitted36 min · $15.08
  6. v5The agent removed unspecified cross-references from the agreement-gap answeraudit only, unscored37 min · $15.82

On the hidden set

Original metricNormalised score
Starter00.00
Upper11.00
This run (GPT-5.5)0.22220.2222

Leaderboard

Where each run landed on the sealed held-out set, on the same normalised-score scale as the anchors above.

0 0.3 0.6 1.0 1 Opus 5 claude code · max 0.389 2 GLM 5.3 claude code · max 0.389 3 GPT-5.6-sol codex · max 0.278 4 DeepSeek V4 Pro claude code · max 0.278 5 Qwen3.8 Max qwen coder · xhigh 0.278 6 Kimi K3 kimi cli · max 0.222 7 Grok 4.6 grok · xhigh 0.222 8 GPT-5.5 codex · xhigh 0.222 9 Gemini 3.7 Flash antigravity · high 0.167