Skip to content

Claude Opus 5.5 (effort default (no --effort flag) · thinking on) on Progressive tax on fictional brackets, and pre-tax vs after-tax savings comparison

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

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

Compare with other models on this task →

Summary

Exact prompt

# Progressive tax on fictional brackets, and pre-tax ("traditional") vs after-tax ("Roth") savings `input.json` contains a **fictional** tax system (brackets and standard deductions per filing status), a list of incomes to tabulate, and savings scenarios. Write `solve.py` (Python 3 standard library only) so that `python solve.py input.json answer.json` computes the answers below. Use only the numbers in the input. We re-run it on fresh inputs, so do not hard-code anything. ## Rules 1. Taxable income = max(0, gross income - `standard_deduction[filing]`). 2. Brackets for a filing status are a list of `[lower_bound, rate]` sorted by bound. Rate j applies to the part of taxable income above `lower_bound_j` and up to `lower_bound_{j+1}` (the last bracket has no upper bound). Tax = sum over brackets. 3. Marginal rate = the rate of the last bracket whose lower bound is strictly below taxable income; if taxable income is 0, the first bracket's rate. 4. `tax_table`: for each `[filing, income]` in input order output `{"filing", "income", "tax", "effective_rate", "marginal_rate"}`; effective_rate = tax / income (0 when income is 0), 6 decimals. 5. Scenarios (each has `name`, `filing`, `wages`, `contribution`, `years`, `growth`, `retire_filing`, `retire_other_income`): - `tax_now_traditional` = tax on (wages - contribution); `tax_now_roth` = tax on wages; `tax_saved_now` = their difference; `marginal_rate_now` = marginal rate (rule 3) at the taxable income of (wages - contribution). - `traditional_balance` F = contribution * (1 + growth) ** years. `withdrawal_tax` = tax(retire_other_income + F) - tax(retire_other_income), both with `retire_filing`, taken as one withdrawal in a single year. `traditional_after_tax` = F - withdrawal_tax. - Same out-of-pocket cost: the after-tax account receives (contribution - tax_saved_now), so `roth_after_tax` = (contribution - tax_saved_now) * (1 + growth) ** years. - `winner` = "traditional" or "roth", whichever after-tax value is larger, or "tie" if they differ by less than 0.005. 6. Round money to 2 decimals and rates to 6 only when writing (bracket rates are written as given). ## Output `answer.json`: `{"tax_table": [...], "scenarios": [{"name", "tax_now_traditional", "tax_now_roth", "tax_saved_now", "marginal_rate_now", "traditional_balance", "withdrawal_tax", "traditional_after_tax", "roth_after_tax", "winner"}, ...]}` in input order. ## Scoring Hidden checks (partial credit = fraction passed; all must pass), money within 0.011, rates within 0.000001, winners exact: `tax_table_amounts`, `effective_and_marginal`, `scenario_tax_now`, `scenario_future_values`, `scenario_winners` on the given input; `fresh_run_1`, `fresh_run_2`: the whole answer on fresh inputs (tolerance 0.011). Each run has a 60-second limit.

Incomes placed exactly on bracket boundaries test the strict marginal-rate rule; the equal out-of-pocket comparison and the lump-withdrawal tax at retirement decide winners. 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).

These are synthetic test cases for comparing AI models, not financial advice.

Success criteria: 1. tax_table_amounts 2. effective_and_marginal 3. scenario_tax_now 4. scenario_future_values 5. scenario_winners 6. fresh_run_1 7. fresh_run_2

Setup notes: Use Case Scout batch 9 case j05-tax-brackets-roth-vs-traditional (offline fixture). Prepared with batch9/prepare.sh; hidden key/tests kept outside the agent's work dir. Prompt = TASK.md verbatim. Scored with the scout's scorer: `python score.py WORKDIR KEYDIR`. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. Claude Code's own reported cost for claude-opus-5.5: $0.141535. Score: 7/7. 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.14
Wall time
22s
Human step-ins
0
Turns
4
Model usage
ModelInput tokOutput tokCost
AClaude Opus 5.5anthropic/claude-opus-5.5effort default (no --effort flag) · thinking on61,5632,200$0.14

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Opus 5.5 (anthropic/claude-opus-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: 1. tax_table_amounts 2. effective_and_marginal 3. scenario_tax_now 4. scenario_future_values 5. scenario_winners 6. fresh_run_1 7. fresh_run_2
  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": 21434,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.14153480000000002,
  "usage": {
   "input_tokens": 6,
   "cache_creation_input_tokens": 10923,
   "cache_read_input_tokens": 50634,
   "output_tokens": 2200,
   "output_tokens_details": {
    "thinking_tokens": 213
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 10923,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 678,
     "cache_read_input_tokens": 19915,
     "cache_creation_input_tokens": 3154,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 3154
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-opus-5-5": {
    "inputTokens": 6,
    "outputTokens": 2200,
    "cacheReadInputTokens": 50634,
    "cacheCreationInputTokens": 10923,
    "webSearchRequests": 0,
    "costUSD": 0.14153480000000002,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 213,
    "canonicalModel": "claude-opus-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": 4,
  "subtype": "success",
  "api_error_status": null,
  "result": "I wrote `solve.py`, ran `python solve.py input.json answer.json` on the given input, and it wrote `answer.json`. It uses only the standard library and reads everything from the input, so fresh inputs should work the same way. I checked a couple of rows by hand, but I couldn't run the hidden checks.\n\n**What it does:**\n- **Taxable income:** gross income minus the standard deduction, never below zero. Brackets are re-sorted by lower bound in case an input isn't already in order.\n- **Marginal rate:** follows rule 3 exactly. A single filer earning 28,080 has taxable income of exactly 12,480, which equals the second bracket's lower bound, so the rate is 0.08, not 0.14. If you expected 0.14 for incomes that land exactly on a bound, rule 3 as written gives 0.08.\n- **Rounding:** all sums and the winner comparison use full precision. Money is rounded to 2 decimals and rates to 6 only when the file is written.\n\n**Results on the given input:**\n\n| Scenario | Traditional after tax | Roth after tax | Winner |\n|---|---|---|---|\n| S1 | 37,104.61 | 28,907.08 | traditional |\n| S2 | 28,412.04 | 22,134.96 | traditional |\n| S3 | 15,696.84 | 13,324.06 | traditional |\n| S4 | 15,309.00 | 10,257.03 | traditional |\n| S5 | 36,709.14 | 39,961.84 | roth |\n| S6 | 7,163.52 | 6,580.45 | traditional |\n\nS5 is the only Roth win: that person saves at 14% now, but the withdrawal adds about 9,758 in tax in retirement. In S4 the withdrawal is tax-free because the retirement income stays below the joint standard deduction.",
  "ttft_ms": 2653,
  "type": "result",
  "duration_ms": 21787,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 1855,
  "time_to_request_ms": 239,
  "first_content_frame_ms": 1856,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly