Asapi
The Agent Trials / Tasks / The onboarding bill review

Customer service · Task 18 of 34

The onboarding bill review

Review a new client's bills from a firm's internal system and write the dispute letters, a tracker and a note, when some answers lie only with the client.

Setting
Bill-management firm, review desk
Deliverable
Dispute and claim letters, a tracker of wrong charges, and a note to the client
Asking the right questionsHouse formatUnstated requirementsData quality
8
Models
ran the standard setup
82%
Best score
GPT-6 Astra
79%
Median score
across those models
11 min
Typical run
median time, standard setup

The task

The agent works the review desk at a household bill-management firm while the account manager is away. One ticket waits: a new client's first review, covering her last three card statements and everything since. It must write a letter for each company still owing her money, keep a tracker of every wrong or queried charge, and write her a note saying what is disputed and by when. Everything is in the firm's internal system, read one page at a time. The client can be messaged there, though nothing says so.

The prompt only asks for the review; the real test is finding what is wrong when nothing says so, seeing which facts no record can settle and asking the one person who knows them, and writing everything the way the firm's latest work is written.

What it tests

Asking the right questions

Some charges turn on what only the client knows, and the agent has to see that and ask her, unprompted.

Weighing a client's memory against the records

Her notes raise a false alarm, tick refunds that never fully came as done, and miss several wrong charges.

Spotting hidden matches and decoys

Charges filed under names that are not the shop's, and a credit of the right amount that belongs to something else.

Matching the house format

How a letter dates a conversation and names the goods, and how the tracker and the note are written, show only in the firm's latest work.

Challenges

1Facts only the client has

Whether someone else used her card, whether a parcel reached her, when a return went back: as in real card disputes, no record holds them, and nothing says she can be asked.

2Names that do not match

Businesses that bill under another company's name or a new name, as card statements often show.

3Records that look settled

A company's word that a refund went through, a waiver in writing, refunds that are short only when worked out.

4A rule that changed

The card's dispute window is counted from a different statement for some charges, and an older page still gives the old way.

5Conventions shown, never stated

The firm's latest letters, trackers and notes all write certain details the same way, and no page says so.

6True things that must stay out

The records hold a family member, a health matter and another client's details that no letter may carry.

Results

0%25%50%75%100%StandardHintedTold everythingGPT-6 AstraFable 5.1GPT-6.1 SolOpus 5.5Opus 5GPT-6 SolSonnet 5.5GPT-6 Luna
ModelStandardHintedTold everythingTime (standard)Cost (standard)
GPT-6 Astra82%––10 min–
Fable 5.180%––18 min$11.75
GPT-6.1 Sol80%––11 min–
Opus 5.579%–95%10 min$5.71
Opus 579%––22 min$20.80
GPT-6 Sol73%––9 min–
Sonnet 5.570%––7 min$3.44
GPT-6 Luna26%––12 min–

One run per model and setup, except where a model ran a setup more than once: its score, time and cost are then the means of its runs. 100% = everything right (or, for a plan scored in money, the best plan); 0% = the obvious answer or worse.

Setups: Standard, the job as asked; Hinted, plus one hint; Told everything, every rule or fact given up front: the control that shows the task is fair. Cost – means the run's cost was not measured.

What models got right and wrong

Test environment

Kind
Application: the Mossgate workspace, a mock internal system of a household bill-management firm (Tickets, Wiki and Vault), served on the same Mac and logging every page the agent opens, with a simulated client who answers messages. One ticket waits in the agent's queue: a new client's onboarding bill review
Agent's interface
Claude models: Claude Code 2.1.292, headless, on one Mac (macOS) inside a macOS sandbox profile that lets it read and write only its own work folder among the task's paths. Its tools: the desk browser's 9 tools over MCP, and Claude Code's own file tools (read, write, edit, search) in the work folder. GPT models: Codex CLI 0.162.1 (pinned), headless, on the same Mac in its read-only sandbox, with the shell and code mode off. Its tools: the desk browser's 9 tools and a file tool that lists, reads and writes whole files, inside output/ and output/letters/ alone, both over MCP and listed directly; Codex's sub-agent tools; its patch tool (refused by the sandbox); and three MCP-resource tools that find nothing
Documents
None in the work folder: the records are pages of the workspace, 90,151 items for 300 households. The client's: 14 files in her Vault folder (10 uploads: 9 PDF and 1 TXT; 2 signed onboarding PDFs; 2 CSV in the firm's bill-pay folder), a mailbox of 6,714 messages, 24 card statements, 9 bank documents, 21 bank messages, 834 card transactions, an 82-row checking feed and a Messages thread. The firm's: 7,257 tickets in five projects, among them the letters-sent register (1,334) and the recoveries register (445), and 686 wiki pages in 7 spaces, 75 of them in Precedents (past letters and past review packs)
Applications
The workspace, through the desk browser only: Home with the review desk's queue, Tickets (issue pages, a JQL navigator), Wiki (spaces, page history), Vault (each client's files, a mailbox modelled on Gmail, a view-only bank portal, bank feeds and, new in task05, a Messages thread per full-service client), a desk inbox and a header search. Every file shows as text. The desk browser's tools: open, click, read, scroll, back, type, submit, calc and wordcount. No shell, no browser
Web
None. Claude Code's web search and fetch are disallowed, Codex's web search is off, and neither agent has a shell, so the agent cannot reach the internet; the Mac itself is online for the model calls
People
One: the client, Celia Marsh, reached by typing into her Messages thread in the Vault and sending (the desk browser's type and submit). She answers in the same page load, only from 25 fixed fact cards and 4 fact-free default lines: code decides which cards a message releases, and Sonnet 5.5 (Claude Code claude -p, no tools) puts the released lines in her words; a reply that adds, drops or changes a fact is replaced by the cards' text. Six other clients whose reviews the desk holds answer one fixed line with no facts; every other thread is read-only. Nothing in the files_only prompt or the ticket says the client can be messaged; the supplementary permission_told prompt adds one sentence that says so. Nobody else answers: Claude Code's AskUserQuestion is disallowed, and Codex's ask-the-user tools are removed. Codex's built-in instructions, sent with every GPT run, tell the model not to use tools to send messages to others unless given explicit instructions; the files_only prompt gives none. Claude Code's built-in instructions are not in its run record
Time
A fixed moment, Sunday 11 October 2026, 7:40 pm EDT, given in the prompt and used by the workspace. The only time that moves is the one shown on a message the agent sends: the fixed moment plus the run's elapsed time, capped at 9:59 pm that evening. Neither agent has a clock tool. Each agent also tells its model the real date of the run (from 14 October 2026), after that moment
Actions
Read, search and filter, and send messages to the clients whose open reviews the desk holds (the workspace's only form that changes anything); nothing can be filed, edited or paid. The agent writes only files in output/
Deliverable
One letter per company still owed money in output/letters/ (a .txt file with To, Re and Amount lines, at most 350 words), the tracker output/tracker.csv (11 columns) and the note to the client output/note_to_celia.txt (at most 2,200 words)
All 34 tasks