Skip to content

Claude Sonnet 5.5 (effort default (no --effort flag) · thinking on) on Model ladder: fix 10 real merged bugs with tests hidden

AClaude Sonnet 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-16 · by @bobsiopener

Trust 80%Fully autonomoussuccess · first try
Estimated cost
$0.09
Wall time
36s
Human step-ins
0
Outcome
Pass

Compare with other models on this task →

Summary

Exact prompt

You are working in a checkout of the python-humanize/humanize repository. A user filed this bug report: --- intcomma() raises OverflowError for very large integers `humanize.intcomma(10**400 + 123)` raises `OverflowError: int too large to convert to float` instead of returning the number with thousands separators. Negative huge integers (`-(10**400 + 123)`) fail the same way. Python ints are arbitrary precision, so I expect the full digits, correctly grouped (ending in `,123`), just like for small integers. --- Fix the bug in the library code. Dependencies are already installed (Python virtualenv in .venv; run tests with .venv/bin/pytest). Keep the change minimal and in the style of the codebase; you may add or update tests. Make sure the existing test suite still passes. You have no internet access.

Five real bug fixes merged into popular open-source libraries after the models' training cutoff (humanize, marshmallow, tenacity, nanoid, path-to-regexp). Each agent starts from the commit before the fix with only a symptom-style bug report, and the fix PR's own regression tests are applied afterwards to check the result. The size of the agent's source change is compared with the human fix. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked). Upstream fix being reproduced: https://github.com/python-humanize/humanize/pull/392, https://github.com/python-humanize/humanize/commit/984526c02448110a8392dde3f5e26096dfd7c729.

Success criteria: Hidden PR tests pass; existing suite stays green; diff under 2x the human diff size.

Setup notes: Real merged bug fix: python-humanize/humanize https://github.com/python-humanize/humanize/pull/392 (merged after the models' Jun 2026 cutoff). Agent got a history-free snapshot of the parent commit 14965a7495 with deps installed, and a symptom-only bug report written by the runner from the PR description (no fix hints). The PR's test files were overlaid only after the agent finished. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Diff-size flag (not scored): agent changed 15 source lines vs 2 in the human fix (allowance 20; within allowance). Claude Code's own reported cost for claude-sonnet-5.5: $0.093994. Score: 2/2. Cost is an ESTIMATE: measured tokens x pricing.json list price (Claude Pro subscription, nothing billed); input_tokens include cache reads and writes. Single run.

Estimated cost List-price estimate; not actually billed.

Metrics

Estimated cost
$0.09
Wall time
36s
Human step-ins
0
Turns
11
Model usage
ModelInput tokOutput tokCost
AClaude Sonnet 5.5anthropic/claude-sonnet-5.5effort default (no --effort flag) · thinking on171,3602,947$0.09

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Sonnet 5.5 (anthropic/claude-sonnet-5.5, effort default (no --effort flag) · thinking on) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: Hidden PR tests pass; existing suite stays green; diff under 2x the human diff size.
  4. Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.

How runs are scored: Methodology.

Was this useful?

⇄ Rerun on another model

Automated checks

Trust 80% comes from these checks (how Trust % works).

Evidence log
[
 {
  "duration_api_ms": 29954,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.09399410000000001,
  "usage": {
   "input_tokens": 16,
   "cache_creation_input_tokens": 12143,
   "cache_read_input_tokens": 159201,
   "output_tokens": 2947,
   "output_tokens_details": {
    "thinking_tokens": 459
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 12143,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 393,
     "cache_read_input_tokens": 24411,
     "cache_creation_input_tokens": 271,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 271
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-sonnet-5-5": {
    "inputTokens": 16,
    "outputTokens": 2947,
    "cacheReadInputTokens": 159201,
    "cacheCreationInputTokens": 12143,
    "webSearchRequests": 0,
    "costUSD": 0.09399410000000001,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 459,
    "canonicalModel": "claude-sonnet-5-5",
    "provider": "firstParty",
    "costBasis": "list"
   }
  },
  "permission_denials": [],
  "terminal_reason": "completed",
  "fast_mode_state": "off",
  "fast_mode_disabled_reason": "sdk_opt_in_required",
  "subagent_stats": {
   "spawned": 0,
   "requested": {
    "background": 0,
    "foreground": 0,
    "unset": 0
   },
   "started_in_background": 0,
   "max_depth": 0,
   "spawned_by_subagents": 0,
   "completed": 0,
   "failed": 0,
   "killed": {
    "parent": 0,
    "user": 0,
    "system": 0
   },
   "refused": {
    "depth_limit": 0,
    "concurrency_limit": 0,
    "budget": 0
   },
   "by_type": {}
  },
  "safety_stops": 0,
  "is_error": false,
  "num_turns": 11,
  "subtype": "success",
  "api_error_status": null,
  "result": "`intcomma(10**400 + 123)` and `intcomma(-(10**400 + 123))` now return the full digits, correctly grouped. The positive one ends in `,123`, and the negative one starts with `-10,000,`.\n\nThe cause was that `intcomma` called `float(value)` on every input to check it was finite. That raises `OverflowError` for ints too big for a float. The fix is in `src/humanize/number.py`: ints now skip the float conversion, and only floats get the finite check.\n\nStrings made of digits are treated as ints too. `intcomma(\"1\" + \"0\"*400)` used to be reported as infinity and now formats normally. Other string inputs behave as before: `\"1e3\"` and `\"abc\"` come back unchanged, and `\"inf\"` still gives `+Inf`.\n\nI added `test_intcomma_huge_int` to `tests/test_number.py`. The full suite gives 710 passed, 110 skipped and 15 errors. The same 15 errors appear without my change, all in `tests/test_benchmarks.py`; I didn't look into them.\n\nI only checked huge ints without `ndigits`. I didn't test `intcomma` on a huge int together with `ndigits`.",
  "ttft_ms": 2260,
  "type": "result",
  "duration_ms": 35874,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 1682,
  "time_to_request_ms": 293,
  "first_content_frame_ms": 1682,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly