Code & Agentic RL · Insurance underwriting (builders risk, contractors equipment)

Insurance Underwriting Agent (Inland Marine) RL Tasks

Scrubbed production episodes of a seven-step, tool-using underwriting agent, packaged as RL tasks with ground truth and a programmatic grader.

ENV · 12 EPISODES · 25 PREF PAIRS · GRADED
AvailabilitySample available
12episodes
25preference pairs
12/12grader agreement
Perit-built
01

Preview

IntakeParse the submission PDF
Licence checkVerify the contractor is licensed
Project scrapePull the project details from the web
Risk lookupLook up hazard and exposure data
Equipment analysisReconcile the schedule from a CSV
Premium raterRun the rating engine
ProposalDraft the bindable quote
# grader validation

Episodes      12 (11 complete, 1 incomplete honesty case)
Tasks         12, each with programmatic ground truth
Preference    25 pairs (grounded vs fabricated answer, same history)
Step labels   84, turn level
Grader        grader.py, Python standard library only

Agreement     12 / 12 with the human rubric scores

Scrubbed      insureds, addresses, phones, emails and signed URLs
              replaced with stable tokens
Preview · task cards + README
02

At a glance

Volume12 episodes; 12 tasks with ground truth; 25 preference pairs; 84 step labels
FormatsJSONL (episodes, tasks, preference pairs) · CSV (step labels, trace scores, grader validation) · JSON span trees · grader.py (Python stdlib) · PDF (RL environment spec, trace analysis)
Languagesen
AnnotationLabeled: step labels, preference pairs, rubric scores, ground truth
Licence statusPerit-built (licence approval confirmed)
AvailabilitySample available
Date addedOct 20, 2026
Update cadenceOne-off package
03

Provenance ledger

Rights / consentCleared
PII handlingScrubbed
QA statusPerit QA passed
LicencePerit-built

No supplier, broker, client or personal names appear on this page or in its samples. Previews are Perit-owned copies with container metadata stripped.

04

Schema and anonymised sample record

{
"repo_id": "PD-029-r007",
"primary_language": "Python",
"lines_of_code": 58214,
"commits": 4113,
"first_commit": "2016-04-02",
"last_commit": "2026-08-19",
"test_files": 212,
"ci_configured": true
}

The record above is synthetic: the field list and types are the real delivery schema, the values are not from the set. Full field documentation, including every optional column, ships with the pilot batch so you can write the loader before the data lands.

05

How delivery works. Four steps, and the first one is a request.

01 · Day 0RequestTell us the set, the use and the volume.
02 · 48 hoursSpec and quoteWritten spec, rights summary and price.
03 · 1-2 weeksPilot batchA QA'd slice in your data room to test against.
04 · OngoingDelivery to your bucketFull set or scheduled drops, same schema.
Access

Tell us the run, and we will tell you what clears for it.

Written spec, rights summary and price inside 48 hours, and a straight answer on anything still in review, including when the answer is that it will not clear.