RunSonnet 5.5repeat 1
Plan-execute-verify on Twelve HTTP status codes, by the book
claude-sonnet-5-5__plan-execute-verify__research-status-codes__r1
Score
1.000
- Cost
- $0.239
- Latency
- 1m 2s
- setup 0.0s, grading 0.3s
- Turns
- 33
- Tool calls
- 28
- Subagents
- 0
- Tokens in / out
- 150k / 7.7k
- 110,076 read from cache
Did the design run?
- 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 plan was a plan: heldplan-execute-verify.planThe planner’s reply was read through its schema and held at least one step.
- Every verdict was read: heldplan-execute-verify.verdictsEvery review round ended with a verdict read from the schema reply, not a default.
- The loop did what its verdicts said: heldplan-execute-verify.loopEvery verdict that called for a revision got one, and nothing was revised without such a verdict.
- Each call was shown the right tools: heldplan-execute-verify.toolsThe planner was shown no tools, the verifier the read-only ones, and the executor and reviser the full toolset.
Phases
Drawn from the phase records: timing and cost per call, no tool calls or messages.
| Phase | Duration | Cost | Turns | Tools | Model |
|---|---|---|---|---|---|
| Plan | 13.4s | $0.019 | 2 | 0 | claude-sonnet-5-5 |
| Execute | 24.7s | $0.116 | 10 | 9 | claude-sonnet-5-5 |
| Verify | 24.2s | $0.105 | 21 | 19 | claude-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
- A gate that blocked the right moveGated-execute · Haiku 4.5
- Three proposals beat one agentPropose-select · Haiku 4.5
- A verifier that earned its keepPlan-execute-verify · Sonnet 5.5
- A revision that did not helpPlan-execute-verify · Haiku 4.5
- The control, missing a stepSingle · Haiku 4.5
Record this cell yourself: npm run bench -- run --strategies plan-execute-verify --tasks research-status-codes --models claude-sonnet-5-5 --repeats 1
Score breakdown
- passstatus code 2031.00weight 0.08
quote verified in rfc9110
- passstatus code 2061.00weight 0.08
quote verified in rfc9110
- passstatus code 3031.00weight 0.08
quote verified in rfc9110
- passstatus code 3071.00weight 0.08
quote verified in rfc9110
- passstatus code 3081.00weight 0.08
quote verified in rfc9110
- passstatus code 4051.00weight 0.08
quote verified in rfc9110
- passstatus code 4101.00weight 0.08
quote verified in rfc9110
- passstatus code 4131.00weight 0.08
quote verified in rfc9110
- passstatus code 4141.00weight 0.08
quote verified in rfc9110
- passstatus code 4211.00weight 0.08
quote verified in rfc9110
- passstatus code 4221.00weight 0.08
quote verified in rfc9110
- passstatus code 5011.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.0813,"rfc9111":0.0029,"mdn-status-codes":0.0181,"rfc7231":0.0013,"mdn-status-308":0.1405}
- 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
The sources I opened show no newer replacement for RFC 9110, which is the current HTTP Semantics specification (STD 97). Every code below is defined in section 15 of https://www.rfc-editor.org/rfc/rfc9110.html. I read each section's text on that page.
Cacheability rule. The page says "Responses with status codes that are defined as heuristically cacheable (e.g., 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, and 501 in this specification)". Of the 12 codes you asked about, that list covers 203, 206, 308, 405, 410, 414 and 501. Each of those sections also says "A NNN response is heuristically cacheable". The sections for 303, 307, 413, 421 and 422 say nothing about heuristic cacheability, and the same passage states "all other status codes are not heuristically cacheable", so I report them as false.
Reason phrases. RFC 9110 renamed some phrases compared with the older RFC 7231 wording. The current phrases are 413 "Content Too Large" and 422 "Unprocessable Content". I did not open RFC 7231's text for this comparison, so the older names ("Payload Too Large", "Unprocessable Entity") come from my memory rather than from a page I read.
Plan deviation. The plan suggested checking the rfc-editor.org info page for "Obsoleted by". That URL returned a 404, so I used a search instead. The search results gave no sign of a successor.
{"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":"A client MUST inspect a 206 response's Content-Type and Content-Range field(s) to determine what parts are enclosed and whether additional requests are needed.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"303","reason":"See Other","section":"15.4.4","heuristicallyCacheable":false,"quote":"Except for responses to a HEAD request, the representation of a 303 response ought to contain a short hypertext note with a hyperlink to the same URI reference provided in the Location header field.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"307","reason":"Temporary Redirect","section":"15.4.8","heuristicallyCacheable":false,"quote":"The user agent MAY use the Location field value for automatic redirection.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"308","reason":"Permanent Redirect","section":"15.4.9","heuristicallyCacheable":true,"quote":"The server SHOULD generate a Location header field in the response containing a preferred URI reference for the new permanent URI.","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 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"},
{"code":"413","reason":"Content Too Large","section":"15.5.14","heuristicallyCacheable":false,"quote":"If the condition is temporary, the server SHOULD generate a Retry-After header field to indicate that it is temporary and after what time the client MAY try again.","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":"The 501 (Not Implemented) status code indicates that the server does not support the functionality required to fulfill the request.","url":"https://www.rfc-editor.org/rfc/rfc9110.html"}
]}Note: the 421 quote ("A proxy MUST NOT generate a 421 response.") is only 8 words but meets the six-word minimum.
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.