ScaffoldBench

RunSonnet 5.5repeat 1

Orchestrator-workers on Audit a week of baggage fees

claude-sonnet-5-5__orchestrator-workers__airline-baggage-audit__r1

Score

0.688

wrong answer
design ran as designed
Cost
$0.215
Latency
1m 7s
setup 0.0s, grading 0.0s
Turns
83
Tool calls
79
Subagents
1
Tokens in / out
149k / 11k
125,364 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.
  • The task was decomposed: heldorchestrator-workers.decompositionThe orchestrator’s reply was read through its schema and held at least one subtask.
  • The fan-out happened: heldorchestrator-workers.fan-outEvery subtask got a worker, every worker ran, and the recorded subagent count matches.
  • The synthesis wrote the answer: heldorchestrator-workers.synthesisThe final answer came from the synthesis call, not from a worker’s report standing in for it.
  • Each call was shown the right tools: heldorchestrator-workers.toolsThe orchestrator and the synthesis were shown no tools and every worker the task’s full toolset.

Phases

Decompose: 0.0s to 6.8s, finished, 0 tool calls, $0.012
Worker 1: all: 6.8s to 56.8s, finished, 79 tool calls, $0.182
Synthesize: 56.8s to 1m 7s, finished, 0 tool calls, $0.021

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

PhaseDurationCostTurnsToolsModel
Decompose6.8s$0.01220claude-sonnet-5-5
Worker 1: all49.9s$0.1828079claude-sonnet-5-5
Synthesize10.3s$0.02110claude-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 orchestrator-workers --tasks airline-baggage-audit --models claude-sonnet-5-5 --repeats 1

Score breakdown

  • passL2 (R8124): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL2: audit outcome recorded as correct
    1.00weight 0.02
  • passL3 (R8125): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 12000 of an expected 12000

  • passL3: audit outcome recorded as overcharged
    1.00weight 0.02
  • passL4 (R8112): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL4: audit outcome recorded as undercharged
    1.00weight 0.02
  • failL5 (R8116): audited, and refunded exactly the overcharge, if any
    0.00weight 0.04

    refunded 7500 of an expected 5500

  • passL5: audit outcome recorded as overcharged
    1.00weight 0.02
  • passL6 (R8117): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL6: audit outcome recorded as correct
    1.00weight 0.02
  • passL7 (R8118): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 4500 of an expected 4500

  • passL7: audit outcome recorded as overcharged
    1.00weight 0.02
  • failL8 (R8120): audited, and refunded exactly the overcharge, if any
    0.00weight 0.04

    refunded 7500 of an expected 0

  • failL8: audit outcome recorded as correct
    0.00weight 0.02
  • passL9 (R8126): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL9: audit outcome recorded as correct
    1.00weight 0.02
  • passL10 (R8113): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 7500 of an expected 7500

  • passL10: audit outcome recorded as overcharged
    1.00weight 0.02
  • passL11 (R8115): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL11: audit outcome recorded as correct
    1.00weight 0.02
  • passL12 (R8122): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL12: audit outcome recorded as correct
    1.00weight 0.02
  • failL13 (R8123): audited, and refunded exactly the overcharge, if any
    0.00weight 0.04

    refunded 4500 of an expected 0

  • failL13: audit outcome recorded as correct
    0.00weight 0.02
  • passL15 (R8119): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 2500 of an expected 2500

  • passL15: audit outcome recorded as overcharged
    1.00weight 0.02
  • passL16 (R8110): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL16: audit outcome recorded as correct
    1.00weight 0.02
  • passL17 (R8111): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL17: audit outcome recorded as correct
    1.00weight 0.02
  • passL18 (R8114): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL18: audit outcome recorded as correct
    1.00weight 0.02
  • passL19 (R8114): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 5000 of an expected 5000

  • passL19: audit outcome recorded as overcharged
    1.00weight 0.02
  • passL20 (R8121): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL20: audit outcome recorded as undercharged
    1.00weight 0.02
  • passL21 (R8122): audited, and refunded exactly the overcharge, if any
    1.00weight 0.04

    refunded 0 of an expected 0

  • passL21: audit outcome recorded as correct
    1.00weight 0.02

Penalties

  • policy violationRefunded more than a charge was overcharged×0.8

    Refunded beyond the overcharge: L5, L8, L13.

Scorer metadata

tool calls
79
failed tool calls
0
distinct tools
10

Final answer

I can't confirm the audit is fully settled. The worker audited and annotated all 19 baggage fees, but 8 refunds may have been issued the wrong way.

What was done (per the worker's report)

  • The worker audited 19 baggage fees (L2–L21 excluding L14, which is a change fee) and annotated every one.
  • 8 were overcharged and refunded with refund_fee for the exact overcharge:
EntryReservationRefund (cents)Reason
L3R812512000Gold on 07-20, so no fee was due
L5R81167500Should have been 4500
L7R81184500Silver economy, no fee was due
L8R81207500Should have been 4500
L10R81137500Should have been 4500
L13R81234500Silver premium economy, no fee was due
L15R81192500Charged 7500, should have been 5000 under the bulletin rate
L19R81145000Duplicate of L18 for the same bags
  • 2 were undercharged and annotated only, with no re-billing:

    • L4 (R8112): charged 9000, should have been 12000.
    • L20 (R8121): charged 4500, should have been 5000 under the bulletin rate.
  • 9 were correct: L2, L6, L9, L11, L12, L16, L17, L18 and L21. L21 is a separate bag added later to R8122, not a duplicate.
  • Tier on the posting date was used, so R8117, R8126 and R8125 were judged on their earlier tiers.
  • Bulletin PB-2026-13 was applied from 2026-07-23, raising the first chargeable bag from 4500 to 5000 cents. The worker treated it as overriding the baggage rules tool. I have not seen the bulletin's scope myself.

Open problem: refund destination

  • The worker reports that get_payment_status showed "no payment instrument on file" for all 8 refunded reservations, yet it refunded them to the original payment method anyway.
  • Policy says money can only go to an active instrument, and otherwise must be issued as travel credit with the customer told why.
  • These 8 refunds therefore probably should have been travel credit. They may not reach the customers.
  • Nothing in the report shows this was corrected, so the 8 refunds need review and, if confirmed, reissue as travel credit.

Not done

  • No passengers were notified of the refunds or of any reason for them. The worker did not do this because the task did not ask for it.

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.