← all trials
Trial T03 · round 2 · 12 models tried

CSV with messy input: claude-haiku-4-5 did it for $0.0041.

BOM, CRLF, embedded newlines, ragged rows, duplicate headers, leading zeros. A model passes this trial only when every test goes green — retries are included in the price, and the clock runs until done.

Cheapest to green
claude-haiku-4-5$0.0041 · x1
Fastest to green
gpt-4.18s · $0.0103
ModelVerdictTriesTimeCost to doneTokens
claude-haiku-4-5GREENx18s$0.0041968
gpt-5-miniGREENx123s$0.00591591
gpt-5.4GREENx18s$0.0088717
gpt-5.2GREENx111s$0.0095768
gpt-4.1GREENx18s$0.0103795
claude-opus-4-8GREENx113s$0.01251017
claude-sonnet-4-6GREENx154s$0.01321018
gpt-5.1GREENx115s$0.01401065
gpt-5.5GREENx111s$0.0170700
gpt-5GREENx256s$0.07767100
claude-sonnet-5GREENx61m59s$0.172313797
claude-fable-5REFUSEDx628s$0.00652083
time to green — this trialfull width = 1m59s
gpt-4.18s · $0.0103
gpt-5.48s · $0.0088
claude-haiku-4-58s · $0.0041
gpt-5.511s · $0.0170
gpt-5.211s · $0.0095
claude-opus-4-813s · $0.0125
gpt-5.115s · $0.0140
gpt-5-mini23s · $0.0059
claude-sonnet-4-654s · $0.0132
gpt-556s · $0.0776
claude-sonnet-51m59s · $0.1723
claude-fable-528s · $0.0065 · REFUSED

Green row = cheapest to done · blue time = fastest to done. REFUSED = the model declined the task (a failure mode token prices never show). claude-fable-5's line is high-variance: follow-up probes saw it stochastically refuse benign coding prompts it had previously attempted. One trial per model per round; replies capped at 2,048 output tokens uniformly. Costs metered per session by cerver.

THE EXACT PROMPT EVERY MODEL RECEIVED
Write `solution.py` with `csv_to_records(text: str) -> list[dict]`:
- input is CSV text; first row is the header
- strip a UTF-8 BOM if present; handle CRLF and LF
- quoted fields may contain commas and embedded newlines
- ragged rows: pad missing cells with None; ignore extra cells
- duplicate headers: second occurrence becomes "name.2", third "name.3", …
- numeric coercion: values like "3", "3.5" → int/float; but values with
  leading zeros (e.g. "007") STAY strings; empty cell → None
Return the COMPLETE `solution.py` in one ```python block, nothing else.
THE TESTS — RUN THEM YOURSELF
from solution import csv_to_records

def test_bom_and_crlf():
    assert csv_to_records('id,name\r\n1,amy\r\n') == [{"id": 1, "name": "amy"}]

def test_quoted_newline_and_comma():
    recs = csv_to_records('id,note\n1,"a,b\nc"\n')
    assert recs == [{"id": 1, "note": "a,b\nc"}]

def test_ragged_padded():
    assert csv_to_records('a,b,c\n1,2\n') == [{"a": 1, "b": 2, "c": None}]

def test_extra_cells_ignored():
    assert csv_to_records('a,b\n1,2,3\n') == [{"a": 1, "b": 2}]

def test_duplicate_headers():
    assert csv_to_records('x,x,x\n1,2,3\n') == [{"x": 1, "x.2": 2, "x.3": 3}]

def test_leading_zeros_stay_string():
    assert csv_to_records('id\n007\n') == [{"id": "007"}]

def test_floats_and_empty():
    assert csv_to_records('a,b\n3.5,\n') == [{"a": 3.5, "b": None}]
Make your own trial
your task, your tests, any model — free tier, no card