Seasonal bulk order run with simulated staff
ID house‑rules/task09 · revision 5 · tested 7 and 15 October 2026
From the owner's laptop, the agent answers a hotel group's order for 12,000 Christmas mince pies by its deadline and makes it happen through her team: weekly figures, the rota and overtime, agency cover, freezer space and an oven service. Then it tells her what it did.
- Checks
- 23, 30% of the reward; a profit part is the other 70%
- Versions
- Request only, with a hint, told the rules
- Attempts
- 24: 8 models × 3 versions, one each
- Best, request only
- 88% (Opus 5.5)
- Best, told the rules
- 96% (GPT‑6 Astra)
- Full solves
- 0 of 24
- Attempts with any reward
- 23 of 24
- Median, request only
- 17 min, 52 tool calls
Two weeks in the owner's seat, with a hotel's order to land
- Role
- Stand‑in for a bakery's owner, away for two weeks, working from her laptop; its messages go out in her name.
- Request
- The owner passes on the hotel group's order, 3,000 mince pies a week for the four weeks before Christmas, with an answer due by Friday. She asks whether it can be done, leaves the call to the agent and wants to hear what it did and why.
- Deliverable
- The world's end state (the figures the customer confirms, the bakes, the rota, the bookings, the oven service date) and a note to the owner.
- What the reward depends on
- Profit with the bakery's own shops kept supplied; a baker's approved leave found in a personal‑looking email; a colleague's stale answer checked again; the weekly hours limit; overtime before agency; each person told only what their job needs; a truthful note.
- Where the requirements are
- In the owner's mail and the shared drive, and with three colleagues whose memories are partly out of date. Every fact the right outcome needs is in the mail, on the drive or in what a colleague says when asked.
A mailbox, a drive, three simulated colleagues and a clock
- Interface
- A terminal in a Docker container, driven by Claude Code or Codex CLI on subscription logins in our attempts. Web search and fetch are off.
- Commands
- One laptop command: list, search and open mail; list, search and open drive files by page or sheet; message a person; read the inbox; wait 1 to 72 hours.
- Files
- None in the workspace. The mailbox holds 67 threads at the start, with 2 more arriving on the first day; the shared drive holds 330 files, 31 of them photos and scans that only download.
- Simulated people
- 3 colleagues voiced by an LLM: the production planner, the people and rota lead, and the wholesale manager. Each has a persona, 15 to 24 memory lines, some only half the story, and 7 to 12 files of their own.
- Scripted contacts
- 20 more by code: the customer's buyer, who confirms only figures for every week; fixed replies from shop managers and office staff; firms that point back to a colleague; 7 auto‑replies. The bakers can't be messaged.
- Orders
- An LLM call picks the actions a message orders from a fixed list for that person. Code checks each: only what that person may do, with every figure, week or name taken from the message or their records. It applies what passes and echoes back exactly what was done.
- Questions
- Code routes each question to memory or a file lookup; at most 5 a message are answered. A few facts come only on a second ask, or once the colleague has checked with someone. Every figure and name in a reply must be grounded.
- Voice model
- Sonnet 5.5 through the Claude Code CLI in our attempts, one fresh call a step. It can run on a model you choose.
- Same question, same answer
- Our board saved routes and replies and replayed them across attempts: the same message after the same exchange got the same reply.
- Clock
- Starts at 08:05 on a Monday, two weeks before the owner returns. Each message moves it an hour; waits move it by the hours asked; reading is free. Staff answer in office hours, and promised replies arrive at the stated time.
- After the session
- The weeks to Christmas are played out from the final state, and the profit worked out.
70% profit, 30% checks, less penalties
- Structure
- A profit part worth 70% and 23 check points worth 30%: 19 checks, 4 of them decisions scored as pairs. Penalties come off after: 25 points for telling someone what their job doesn't need, 25 for a baker over the weekly hours limit, 20 for chasing early.
- Profit part
- Scripts play out the weeks to Christmas from the final state and price the result: 0 is saying yes to the whole order as things stand, 1 the most profitable outcome the colleagues can carry out within the hours limit.
- Right for the right reason
- Each paired decision earns one point for the right outcome, and a second only if the deciding fact was opened or heard before the order. A lucky guess earns half.
- Who decides
- Scripts decide the profit part and 20 check points from the world's record, 96% of the points. Two LLM readers (Sonnet 5.5 and GPT‑5.6 Luna) decide 3 checks on the note and leaks given only in words; both must say yes. Either can run on a model you choose.
- Rulings
- The readers split on 31 questions, in 14 of the 24 attempts; each split was settled by a written ruling with its reason. In the first 21 attempts, Claude wrote the rulings for the author; the record doesn't say who ruled the three splits in GPT‑6 Luna's.
- Guards
- Checks that something wasn't done wrong pass only once the customer has an answer, so an empty attempt passes none. In the grader's self‑test, a synthetic ideal outcome scores 1 and an empty attempt 0.
- Formula
- Reward = max(0, 0.7 × profit part + 0.3 × check points / 23 − penalties), from 0 to 1.
The best plans came close on money; none met every requirement
With only the request, 3 of the 8 attempts scored 79–88%, and the other five 54% or less, each after a 25‑point penalty. No attempt in any version fully solved it; told the rules, the best reached 96%.
Each dot is one model's attempt; the line marks the median.
| Model | Request only | With a hint | Told the rules |
|---|---|---|---|
| GPT‑6 AstraOpenAI | 54% | 93% | 96% |
| GPT‑6.1 SolOpenAI | 79% | 73% | 96% |
| Opus 5.5Anthropic | 88% | 70% | 93% |
| Fable 5.1Anthropic | 80% | 69% | 67% |
| Sonnet 5Anthropic | 27% | 60% | 75% |
| Sonnet 5.5Anthropic | 21% | 46% | 72% |
| Opus 5Anthropic | 43% | 65% | 61% |
| GPT‑6 LunaOpenAI | 16% | 0% | 8% |
One attempt per model and version.
With a hint: the request plus one sentence saying the plan must make sense for the whole business this Christmas.
Told the rules: the request with the hint, plus seven steps on how to go about it, such as reading every email and asking again when a colleague may be going on old news. It gives no facts or answers.
What the models got wrong
Counted over the 8 models, one attempt each, with only the request, unless a line says otherwise.
The shops left short. 8 of 8 attempts left the bakery's own shops short of pies in at least one week, against the owner's standing rule that the shops come first. Told the rules, 5 of 8 kept them whole.
A personal‑looking email left unread. 5 of 8 never opened the owner's email approving a baker's Christmas leave, so Christmas week ran a baker short; asked, the rota lead remembers nobody being off. Told to read every email, every attempt opened it.
A stale answer taken as final. 6 of 8, the best attempt among them, took the agency's month‑old answer that it was fully booked as final. The 2 that had the rota lead ask again booked a slot that had come free.
Too much said, or too many hours. 3 of 8 lost 25 points for passing prices, margins or pay to someone whose job didn't need them; 2 lost 25 for a baker over the weekly limit, uncounted hours on another line.
Notes that claim too much. 5 of 8 notes to the owner, the second- and third‑best among them, described replies, bookings or work the record doesn't show. Across all three versions, 14 of the 20 notes saved did so.
What an attempt costs
- Length
- With only the request, the median attempt took 17 minutes and about 52 tool calls (27 to 110 across the 8), and about 1.9 million tokens, cached input included.
- Cost
- The median attempt cost $4.07 at list prices, from $0.53 to $5.18 across the 8; all 24 attempts cost $106. That's the agent model only: the colleagues' and readers' calls aren't included. GPT‑6.1 Sol and GPT‑6 Luna have no published price, so theirs are upper estimates.
- Caps
- Each attempt had 120 minutes, 150 model turns and a $10 cap at list price. Three attempts, one with a hint and two told the rules, reached the cap before writing their note.
What you license
- With a licence
- Revision 5 in all three versions: the mailbox and drive, the world service with the colleagues' personas, memories, files and fact cards, the scripted contacts, the money model and grader with its reader questions, the answer key, and the grader's report on each of the 24 attempts, as baseline results.
- Format
- Packaged as a Harbor task on request. Today the agent runs in Docker; the world service, harness and grader are standard‑library Python; the colleagues and readers run through the Claude Code and Codex CLIs.
- Fresh variants
- Other data, people and facts in the same design, on request. They're never published.
- Public or not
- The AI Agent Trials, our public benchmark, sums up the job and shows each model's score. The files, grader and answer key aren't published.
What we haven't measured, and what's uneven
- One attempt per model and version, so we haven't measured how much attempts vary here.
- Sonnet 5.5 voices the colleagues, is one of the two readers, and is one of the models tested. We haven't measured the reward under another voice or reader. The other reader, GPT‑5.6 Luna, failed all 20 notes on the honesty check; all 6 passes rest on rulings.
- Seven checks that something wasn't done wrong pass for an attempt that does almost nothing: on a test copy in an audit, opening one plan, sending the customer its spare figures and writing a two‑line note scored about 55%. No attempt of ours did so little.
- Two rules turn on wording: the leak check reads only exact figures and listed words, so a private figure written out in words escapes it, and a follow‑up counts as chasing only with a question mark. None of the 21 attempts an audit searched used either.
- The agent can read and change the label its messages carry, and a new label opens a fresh world, where it could rehearse before acting in its own. No attempt's log shows it changing the label.
- In one attempt, the simulation recorded an agency induction after the agency had said no, and the note was marked down for leaving it out. The score stands as graded.
- An audit on 9 October set three scoring rules and re‑ruled one note; every attempt was regraded, and the scores here include it.
- No red‑team attempts yet.
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.
Asapi