Asapi
For AI labs / Catalogue / Broker app with autonomous lead‑messaging assistant
Environment datasheet · Small business

Broker app with autonomous lead‑messaging assistant

ID laycode/task02 · revision 1 · tested 14–15 October 2026

The same broker sends the same few lines, but his files now show he needs an assistant that answers and chases customers while he works his day job. The agent builds the app against three mock outside services and leaves him a note.

Checks
106, 3 sections weighted 60/20/20, no gates
Versions
Request only, with a hint, told the rules
Attempts
24: 8 models × 3 versions, one each
Best, request only
68% (Sonnet 5.5)
Best, told the rules
91% (Opus 5.5)
Full solves
0 of 24
Attempts with any reward
24 of 24
Median, request only
19 min, 44 tool calls
The job

The same request; the assistant's duties are only in his files

Role
Sole builder for the same one‑person refinancing business, now signed up to a business‑messaging sandbox and two property‑data services.
Request
Word for word the request behind his first app: a web app that works for him, from someone who isn't technical, can't answer questions and keeps everything on his laptop.
Deliverable
A running app, including messaging that acts on its own while he is at work, and a short note.
What the reward depends on
Answering new leads quickly and chasing quiet ones at a pace customers accept, never promising approval; catching forged documents but not messy genuine ones; each bank's rules and fees; records, backups, a password reset and security.
Where the requirements are
In his chats, emails and the vendors' documents: a lead lost after a day without reply, a customer annoyed by daily chasing, a helper who promised approval. A script confirms the request avoids the checks' subjects.
The world

57 files, three mock services and five days of customers

Interface
A terminal in a fresh Docker container, driven by each model's own agent harness (Claude Code or Codex CLI in our attempts). Internet is on for packages; the agents' web search and fetch are off.
Files
57 on the laptop, read‑only: the client tracker, two bank agreements, rate sheets and a checklist, customers' past documents (a phone photo, an image‑only scan, a rejected forgery), 20 chat exports, 12 emails, a calendar, notes and the three vendors' API documents.
Services
Three mock services beside the build: a business‑messaging sandbox for his number, a free property‑price service with a rate limit, and a valuation service that charges per report. The agent can call them and fake customer messages.
Service faults
At grading, some sends fail for a moment, webhooks retry and can arrive twice, and the price service answers only in its newer format. Every request the app makes is logged.
Limits
120 minutes, 150 model turns and a $10 list‑price spend cap per attempt.
Grading copy
As in the first app: a fresh container without installed packages, the laptop mounted again, and customer documents the agent never saw, some forged and some genuine.
Tester
Sonnet 5.5 plays the owner: 20 set steps in the app's pages, then sessions on the new features and on hidden edge inputs, with page actions only and only commands the note quotes.
Customers
Scripted customers write in: a new lead, document and approval questions, a client about to leave, an unknown number asking for case details, and the owner replying himself.
Clock walk
The app's clock is walked across five days with one restart, then a password reset runs last. Grading takes about four hours per attempt.
The reward

106 checks in three sections; the services' logs decide the messaging

Structure
Build: 73 checks share 60 points (10 of them on messaging and follow‑ups). Edge cases: 19 share 20, such as odd names and documents the agent never saw. Security: 14 black‑box probes share 20. No gates.
Formula
Reward = (60 × build passed / 73 + 20 × edge passed / 19 + 20 × security passed / 14) / 100. Each check is equal within its section.
No credit for silence
A messaging check fails when the feature is absent, so an app that never messages earns nothing for not over‑messaging. The services' own logs decide what was sent and when.
Who decides
Scripts decide 52 checks; 7 always go to two LLM judges and 47 when a script can't settle them. The judges, Sonnet 5.5 and GPT‑5.6 Luna, answer stateless yes/no questions; both must agree. Either can run on a model you choose.
Judge agreement
The judges disagreed on 79 of the 958 judged results (8.2%) across the 24 attempts.
Rulings
349 of the 2,544 results (14%) carry a written ruling by the environment's author: the 79 splits, checks a blocked app couldn't show and other script results, and 14 where both judges agreed. After an audit on 15 October, the author re‑ruled several checks from saved evidence.
Kept apart
Besides the laptop, only the mock services run in the agent's container; the grader and hidden documents never do. A script rejects added lines that give a listed graded value or name from his files.
Reference solution
None: the repo stores no reference app, and no attempt fully solved it in any version. Solvability rests on the best attempts: 91% told the rules.
Results

With only the request, few assistants acted alone; told the rules, five reached 86%

With only the request, the 8 attempts scored 9–68%. With a hint, the median stayed at 58%. Told the rules, five of 8 scored 86–91%. None of the 24 fully solved it; all earned some reward.

VersionMedianFully solved
Request only8 models, one attempt each58%0 of 8
With a hint8 models, one attempt each58%0 of 8
Told the rules8 models, one attempt each86%0 of 8

Each dot is one model's attempt; the line marks the median.

ModelRequest onlyWith a hintTold the rules
Opus 5.5Anthropic28%76%91%
Sonnet 5.5Anthropic68%60%90%
Fable 5.1Anthropic60%15%89%
Opus 5Anthropic57%19%87%
GPT‑6 AstraOpenAI58%65%86%
GPT‑6.1 SolOpenAI59%71%78%
Sonnet 5Anthropic28%55%58%
GPT‑6 LunaOpenAI9%11%46%

One attempt per model and version.

With a hint: the request plus five plain points on what matters most in this work, one of them asking for an assistant that answers and follows up by itself.

Told the rules: the request plus 22 numbered requirements from an IT expert. They give no graded value or customer, but mention his phone, the home computer and other users of the laptop.

Failures

What the models got wrong

Counted over the 8 models, one attempt each, with only the request, unless a line says otherwise.

  1. No answer while he works. Only 1 of 8 apps, GPT‑6 Astra's once its switch was on, answered a new lead in time. Six of 8 left replies off or never built them; with the hint, 4 of 8 answered in time, and told the rules, 6 of 8.

  2. No follow‑ups. 0 of 8 apps chased a quiet lead, or sent a second reminder to a customer owing documents, across the five‑day walk; told the rules, 1 of 8 did both.

  3. Edited statement passed. 0 of 8 apps flagged a statement edited after the bank issued it, or a payslip edited in another typeface; told the rules, 7 of 8 caught the statement.

  4. No way back in. 0 of 8 apps let the owner reset a forgotten password with every record kept; told the rules, 6 of 8 did.

  5. Guarded against itself. Opus 5.5's app refused every save from its own pages, so it scored 28%. Its tests used a tool that never trips the guard.

Cost

What an attempt costs

Length
With only the request, the median attempt took 19 minutes and 44.5 tool calls (16 to 94 across the 8), and about 2.6 million tokens, cached input included.
Cost
The median attempt cost $6.44 at list prices, from $0.33 to $10.11 across the 8; all 24 attempts came to $166. GPT‑6 Luna has no published price, so its figures are upper bounds.
What's counted
The agent model only: the tester's and judges' calls aren't included.
Licence

What you license

With a licence
All three versions, the laptop, the three mock services and their grading script, the grader with its tester steps, probes and judge prompts, the answer key with its hidden documents, and the grader's per‑check results for each of the 24 attempts.
Format
Packaged as a Harbor task on request. Grading needs Docker, a browser and the tester and judge models.
Fresh variants
Other data, people and facts in the same design, on request. They're never published.
Public or not
The files, grader and answer key aren't published. The AI Agent Trials, our public benchmark, sums up the job and shows each model's score.
Known limitations

What we haven't measured, and what's uneven

Try a sample environment

Three are downloadable as Harbor tasks, with graders and reference solutions. Request one with your work email, or book a call about the other 53.