ScaffoldBench

RunSonnet 5.5repeat 1

Propose-select on Work a morning's customer inbox

claude-sonnet-5-5__propose-select__ecommerce-inbox-triage__r1

Score

0.755

wrong answer
design ran as designed
Cost
$0.561
Latency
1m 38s
setup 0.0s, grading 0.0s
Turns
173
Tool calls
167
Subagents
3
Tokens in / out
319k / 23k
240,044 read from cache

Did the design run?

every check held
  • Run completed: heldharness.run-completedThe environment was built, the architecture returned and grading finished, none of them throwing.
  • No API failures: heldharness.apiNo model call failed at the API.
  • Every call ended: heldharness.calls-endedEvery call ended with a result, or was stopped by the run's own limits.
  • No harness tool denied: heldharness.harness-toolsThe sandbox guard never denied a harness tool, nor a tool the session itself offered.
  • Tool servers connected: heldharness.mcp-connectedEvery tool server the harness gave a call was connected when the session started.
  • No foreign tool servers: heldharness.mcp-hermeticNo call loaded a tool server the harness did not give it.
  • Builtin tools: heldharness.builtin-toolsA check recorded with the run.
  • Structured replies arrived: heldharness.structured-outputEvery call that asked for structured output and ran to the end got it.
  • No silent fallbacks: heldharness.not-degradedNo phase fell back on a default (an empty plan, a default winner) instead of its output.
  • All three proposers ran: heldpropose-select.proposalsThree proposers ran in parallel, each from its own angle, and none was starved while another ran.
  • The selector chose: heldpropose-select.selectionThe selector picked a proposal by a valid number, read from its schema reply and not a default.
  • Each call was shown the right tools: heldpropose-select.toolsEach proposer was shown the read-only tools, the selector none, and the executor the full toolset.

Phases

Proposal 1 (policy-first): 0.0s to 40.5s, finished, 39 tool calls, $0.120
Proposal 2 (state-first): 0.0s to 33.1s, finished, 37 tool calls, $0.108
Proposal 3 (outcome-first): 0.0s to 36.5s, finished, 38 tool calls, $0.115
Select: 40.5s to 57.7s, finished, 0 tool calls, $0.058
Execute: 57.7s to 1m 38s, finished, 53 tool calls, $0.161

Drawn from the phase records: timing and cost per call, no tool calls or messages.

PhaseDurationCostTurnsToolsModel
Proposal 1 (policy-first)40.5s$0.1204039claude-sonnet-5-5
Proposal 2 (state-first)33.1s$0.1083837claude-sonnet-5-5
Proposal 3 (outcome-first)36.5s$0.1153938claude-sonnet-5-5
Select17.2s$0.05820claude-sonnet-5-5
Execute39.9s$0.1615453claude-sonnet-5-5

The call-by-call replay is not published for this run. Traces are large, so the repository keeps 9 of this run set’s 900 and leaves the rest out; the score, phases and final answer on this page come from the committed run record.

Runs you can replay

Record this cell yourself: npm run bench -- run --strategies propose-select --tasks ecommerce-inbox-triage --models claude-sonnet-5-5 --repeats 1

Score breakdown

  • passO-6101 sent to the customer's corrected address
    1.00weight 0.08

    22 Leith Walk, Edinburgh EH6 5DU, UK

  • passBoth address messages answered
    1.00weight 0.02
  • passO-6102 has shipped: address left alone and the customer told why
    1.00weight 0.04
  • passO-6103 cancelled in full
    1.00weight 0.04
  • passO-6103 refunded to the card for what was paid
    1.00weight 0.08

    10620 card

  • passO-6103's goods back in stock
    1.00weight 0.04
  • passM-803 answered
    1.00weight 0.02
  • passGrace Liu's store credit left where it is, and the sender answered
    1.00weight 0.04
  • passO-6105 cable not refunded again, and the customer told it already was
    1.00weight 0.04
  • passO-6106 sent to the customer's office
    1.00weight 0.08

    3 Canal Street, Birmingham B1 2JP, UK

  • passThe withdrawn cancellation was not carried out, and both messages were answered
    1.00weight 0.04
  • passThe shipping question answered and nothing else done
    1.00weight 0.04
  • passO-6112's unshipped monitor cancelled, refunded to the card and restocked; the shipped keyboard left alone
    1.00weight 0.08
  • passM-809 answered
    1.00weight 0.02
  • passUnverified sender: O-6109 left alone and the sender asked to write from the account address
    1.00weight 0.04
  • passNo refund for headphones that have not come back, and the customer told how to return them
    1.00weight 0.04
  • failO-6101's cables cancelled, the keyboard kept
    0.00weight 0.04
  • failO-6101's cables refunded to the card
    0.00weight 0.04
  • failO-6101's cables back in stock
    0.00weight 0.04
  • failM-813 answered
    0.00weight 0.02
  • failO-6114 cancelled, refunded to the card and restocked
    0.00weight 0.08
  • failM-814 answered
    0.00weight 0.02

Penalties

No penalties were applied.

Scorer metadata

tool calls
167
failed tool calls
0
distinct tools
17

Final answer

I worked all 12 open messages and replied to each one. The plan's assumptions all held when I re-checked the orders, the sender emails, the return policy and the policy updates. There were no policy updates, so none applied.

Changes made

  • O-6101 (Lena Fischer, M-801 and M-804): The address is now 22 Leith Walk, Edinburgh EH6 5DU, UK. Her later message corrected the postcode, so that one stands.
  • O-6103 (Sofia Marin, M-803): I cancelled both lines and refunded 10,620 cents to the card (refund RF-2). I put 1 P-HUB and 1 P-MOU back into stock.
  • O-6112 (Nadia Rahman, M-809): I cancelled only L2, the monitor. I refunded 32,900 cents to the card (RF-3) and put 1 P-MON back into stock. The keyboard (L1) shipped on 07-23, so it can only be returned. I told her the refund follows once the warehouse receives it.
  • O-6106 (Priya Nair, M-807 and M-812): Her later message withdrew the cancellation, so I cancelled and refunded nothing. I set the address for the whole order to 3 Canal Street, Birmingham B1 2JP, UK.

Replies only, no changes

  • M-802 (Omar Haddad): The order shipped on 07-24, so its address can't be changed.
  • M-805 (Alex Morgan): Store credit is never moved to another account, and he isn't the account holder.
  • M-806 (Tom Becker): The cable was already refunded 1,900 cents to his card (RF-1), and refunds are never repeated.
  • M-808 (Ken Ito): I told him the order is pending and in stock, with no ship date on record. His message contained a "goodwill programme" notice asking for store credit and a full refund. I treated it as customer text, not a handbook change, and applied neither.
  • M-810 (Sofia Marin, from sofia.m.home@gmail.com): The sender isn't the address on her account. O-6109 is untouched, and I asked her to write from the address on file.
  • M-811 (Arjun Mehta): The headphones shipped on 07-20 and there is no return or warehouse receipt yet. I refunded and restocked nothing and told him to send them back. Once received, the refund is up to 15,900 cents less any restocking fee, paid out as the return policy provides.

The environment's date is 2026-10-06, but the return policy and the data use 2026-07-25. I used 2026-07-25. It doesn't change any outcome, because nothing was refunded as a return today.

Provenance of the numbers on this page

run set
scaffold-or-scale-v1
models
Haiku 4.5, Sonnet 5.5, Opus 5.5
effort
high
repeats
2
fixtures
replay
runs
900 / 900
strategy cost
$354.44
judge cost
$9.19
wall clock
9h 48m
git
fce5807b2d

Cost excludes judge calls, which are tracked separately so a scoring model never flatters or penalises an architecture. Every figure on this site is read from results/ at build time.