ScaffoldBench

RunOpus 5.5repeat 2

Single on Twelve HTTP status codes, by the book

claude-opus-5-5__single__research-status-codes__r2

Score

1.000

passed
design ran as designed
Cost
$0.205
Latency
28.7s
setup 0.0s, grading 0.3s
Turns
8
Tool calls
7
Subagents
0
Tokens in / out
50k / 3.1k
31,973 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.
  • Each call was shown the right tools: heldsingle.toolsThe agent was shown exactly the task’s tools, none missing and none extra.

Phases

Main: 0.0s to 28.7s, finished, 7 tool calls, $0.205

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

PhaseDurationCostTurnsToolsModel
Main28.7s$0.20587claude-opus-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 single --tasks research-status-codes --models claude-opus-5-5 --repeats 1

Score breakdown

  • passstatus code 203
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 206
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 303
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 307
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 308
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 405
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 410
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 413
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 414
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 421
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 422
    1.00weight 0.08

    quote verified in rfc9110

  • passstatus code 501
    1.00weight 0.08

    quote verified in rfc9110

Penalties

No penalties were applied.

Scorer metadata

corpus
{"version":2,"snapshot":"2026-10-01","hash":"9841e181cc36236e3bc98c18c73e938cf003a35611d0f06c8d8da6ee7161ee1f","documents":6}
opened documents
["rfc9110"]
opened by role
{"primary":["rfc9110"]}
displayed share
{"rfc9110":0.0749}
cited count
1
verified count
1
hallucinated count
0
citation integrity
1
hallucinated urls
[]
answer block
true
answer block repaired
false
items answered
12
item count
12
field accuracy
1
grounded items
12
field misses
{}

Final answer

RFC 9110 (HTTP Semantics, https://www.rfc-editor.org/rfc/rfc9110.html) is the current specification, and it answers every column for all 12 codes. Of the 12, seven are heuristically cacheable: 203, 206, 308, 405, 410, 414 and 501. The other five (303, 307, 413, 421, 422) are not.

How cacheability was decided. Section 15.1 of the RFC lists the codes it defines as heuristically cacheable: "200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, and 501 in this specification". It then says "all other status codes are not heuristically cacheable." I checked each code's own section against that list:

  • Cacheable: the sections for 203, 206, 308, 405, 410, 414 and 501 each include an "A NNN response is heuristically cacheable" sentence.
  • 206 differs slightly: its sentence leaves out "the method definition". It reads "unless otherwise indicated by explicit cache controls".
  • Not cacheable: the sections for 303, 307, 413, 421 and 422 have no such sentence.

Renamed codes. Two codes have different names in RFC 9110 than in older documents:

  • 413 is now "Content Too Large" (it was "Payload Too Large").
  • 422 is now "Unprocessable Content" (it was "Unprocessable Entity").

I used the RFC 9110 names, since those are the current ones.

Quotes. Every quote comes from the code's own numbered section in Section 15. The page wraps text across lines; in the quotes those line breaks are written as single spaces.

{"answers":[
{"code":"203","reason":"Non-Authoritative Information","section":"15.3.4","heuristicallyCacheable":true,"quote":"This status code allows the proxy to notify recipients when a transformation has been applied, since that knowledge might impact later decisions regarding the content.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"206","reason":"Partial Content","section":"15.3.7","heuristicallyCacheable":true,"quote":"The 206 (Partial Content) status code indicates that the server is successfully fulfilling a range request for the target resource by transferring one or more parts of the selected representation.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"303","reason":"See Other","section":"15.4.4","heuristicallyCacheable":false,"quote":"This status code is applicable to any HTTP method.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"307","reason":"Temporary Redirect","section":"15.4.8","heuristicallyCacheable":false,"quote":"Since the redirection can change over time, the client ought to continue using the original target URI for future requests.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"308","reason":"Permanent Redirect","section":"15.4.9","heuristicallyCacheable":true,"quote":"The 308 (Permanent Redirect) status code indicates that the target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"405","reason":"Method Not Allowed","section":"15.5.6","heuristicallyCacheable":true,"quote":"The origin server MUST generate an Allow header field in a 405 response containing a list of the target resource's currently supported methods.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"410","reason":"Gone","section":"15.5.11","heuristicallyCacheable":true,"quote":"The 410 (Gone) status code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"413","reason":"Content Too Large","section":"15.5.14","heuristicallyCacheable":false,"quote":"The 413 (Content Too Large) status code indicates that the server is refusing to process a request because the request content is larger than the server is willing or able to process.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"414","reason":"URI Too Long","section":"15.5.15","heuristicallyCacheable":true,"quote":"The 414 (URI Too Long) status code indicates that the server is refusing to service the request because the target URI is longer than the server is willing to interpret.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"421","reason":"Misdirected Request","section":"15.5.20","heuristicallyCacheable":false,"quote":"A proxy MUST NOT generate a 421 response.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"422","reason":"Unprocessable Content","section":"15.5.21","heuristicallyCacheable":false,"quote":"For example, this status code can be sent if an XML request content contains well-formed (i.e., syntactically correct), but semantically erroneous XML instructions.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"501","reason":"Not Implemented","section":"15.6.2","heuristicallyCacheable":true,"quote":"This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"}
]}

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.