Claude Opus 5.5 (effort default (no --effort flag) · thinking on) on Boat fuel range with a reserve over a planned trip
AClaude Opus 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-20 · by @bobsiopener
- Estimated cost
- $0.15
- Wall time
- 27s
- Human step-ins
- 0
- Outcome
- Pass
Compare with other models on this task →
Summary
Exact prompt
# Boat fuel range with a reserve over a planned trip `input.json` (synthetic; not for real trip planning): `tank_l`, `fuel_l` on board, `reserve_pct` (of the tank), `burn_table` (rows `rpm`, `speed_kn` through the water, `lph` litres per hour; not sorted), and `legs` (`distance_nm`, `rpm`, `current_kn`: positive = with the boat, negative = against). Write `solve.py` (Python 3 standard library only); `python solve.py input.json answer.json`. Fresh inputs are used too. ## Rules 1. Speed and burn at an rpm: sort the table by rpm, interpolate each linearly, clamp to the first/last row outside the range. 2. Each leg in order: SOG = speed + current_kn. If SOG <= 0 the leg cannot be run: append `{"sog_kn", "hours": null, "fuel_l": null, "remaining_l"}` and stop processing legs (this leg is the dry leg if none yet, with `dry_after_nm_into_leg` 0 if none yet). Otherwise hours = distance / SOG, fuel = lph * hours, remaining -= fuel (remaining may go negative; keep going). 3. `reserve_l` = tank * pct / 100. `reserve_breach_leg` = index (0-based) of the first leg after which remaining < reserve, or null. `runs_dry_leg` = first leg whose fuel exceeds the fuel left at its start, and `dry_after_nm_into_leg` = fuel left at its start / lph * SOG; both null if never. 4. Economy: the table row with the greatest speed_kn / lph (compared at 6 decimals; ties -> lower rpm). `economy_range_nm` = max(0, fuel_l - reserve) * that ratio (still water). Round speeds and hours to 3, litres and nm to 2, `economy_nm_per_l` to 4. ## answer.json `{"reserve_l", "legs": [{"sog_kn", "hours", "fuel_l", "remaining_l"}, ...], "reserve_breach_leg", "runs_dry_leg", "dry_after_nm_into_leg", "economy_rpm", "economy_nm_per_l", "economy_range_nm"}` ## Scoring Hidden checks (partial credit; all must pass): `leg_speeds_and_burn` (first three legs), `remaining_fuel`, `reserve_and_dry`, `economy`, `fresh_run_1`, `fresh_run_2`. Tolerance 0.011 (0.0002 for nm per litre). 60-second limit per run.
Unsorted burn table with clamped interpolation, current added to speed (including a leg where the boat cannot make way), separate reserve-breach and run-dry legs, and the economy-rpm tie rule. 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).
Benchmark code for comparing AI models, not navigation or safety software.
Success criteria: 1. leg_speeds_and_burn 2. remaining_fuel 3. reserve_and_dry 4. economy 5. fresh_run_1 6. fresh_run_2
Setup notes: Use Case Scout batch 10 case k11-fuel-range-reserve (offline fixture). Prepared with batch10/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.147972. Score: 6/6. 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.15
- Wall time
- 27s
- Human step-ins
- 0
- Turns
- 4
| Model | Input tok | Output tok | Cost |
|---|---|---|---|
| AClaude Opus 5.5anthropic/claude-opus-5.5effort default (no --effort flag) · thinking on | 80,861 | 2,761 | $0.15 |
Reproduce this run
- Use the use case prompt on the use case page.
- 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. - It counts as a success only if it meets every success criterion: 1. leg_speeds_and_burn 2. remaining_fuel 3. reserve_and_dry 4. economy 5. fresh_run_1 6. fresh_run_2
- 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?
Automated checks
Trust 80% comes from these checks (how Trust % works).
- Run date is not in the future : passed
- Model is in the dated pricing table : passed
- Cost recomputed from tokens matches : passed
- Cached tokens are consistent : passed
- Output throughput is plausible : passed
- Autonomy matches step-ins : passed
- Step-ins do not exceed turns : passed
- Retries agree with first-try result : passed
- Evidence log SHA-256 matches : passed
- Evidence log is substantial : passed
Evidence log
[
{
"duration_api_ms": 26156,
"stop_reason": "end_turn",
"session_id": "[REDACTED]",
"total_cost_usd": 0.14797180000000001,
"usage": {
"input_tokens": 8,
"cache_creation_input_tokens": 9814,
"cache_read_input_tokens": 71039,
"output_tokens": 2761,
"output_tokens_details": {
"thinking_tokens": 622
},
"server_tool_use": {
"web_search_requests": 0,
"web_fetch_requests": 0
},
"service_tier": "standard",
"cache_creation": {
"ephemeral_1h_input_tokens": 9814,
"ephemeral_5m_input_tokens": 0
},
"inference_geo": "global",
"iterations": [
{
"input_tokens": 2,
"output_tokens": 630,
"cache_read_input_tokens": 21463,
"cache_creation_input_tokens": 497,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 497
},
"type": "message"
}
],
"speed": "standard",
"fallback_credit": null
},
"modelUsage": {
"claude-opus-5-5": {
"inputTokens": 8,
"outputTokens": 2761,
"cacheReadInputTokens": 71039,
"cacheCreationInputTokens": 9814,
"webSearchRequests": 0,
"costUSD": 0.14797180000000001,
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"thinkingTokens": 622,
"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` and ran it on `input.json`, which produced `answer.json`. I checked a few values by hand and tried one made-up input where a leg can't be run. I don't have the hidden checks, so this hasn't been scored.\n\n**Results for the given input:**\n- **Reserve:** 60 L (20% of the 300 L tank).\n- **Reserve breach:** after leg 4, when 27.96 L is left.\n- **Runs dry:** during leg 5, 9.31 nm in. It starts that leg with 27.96 L, needs 42.32 L, burns 19.66 L/h and makes 6.55 kn over the ground.\n- **Leg 6:** still processed as the rules say; the trip ends at \u221254.32 L.\n- **Economy:** 1400 rpm gives the best mileage, 0.6429 nm per litre. That's a range of 124.71 nm on the 194 L above the reserve.\n\n**Edge-case test:** I edited the input so leg 1 runs against a 20 kn current (a negative speed over the ground). The script stopped at that leg, wrote empty hours and fuel for it, and marked it as the dry leg at 0 nm.\n\n**Choices the rules didn't settle (any could differ from the hidden checks):**\n- **Reserve check on a stopped leg:** the leg that can't be run still counts. If fuel left on it is below the reserve and no breach has been recorded yet, it becomes the breach leg. This only matters if you start with less than the reserve.\n- **Distance before running dry:** never reported as negative. If the fuel left at the start of the leg is already zero or below, it shows 0.\n- **Economy table:** rows that burn zero litres per hour are skipped. The range uses the unrounded nm-per-litre figure.\n- **Duplicate rpm rows:** if the table lists the same rpm twice, the script uses the first of those rows rather than averaging.",
"ttft_ms": 2184,
"type": "result",
"duration_ms": 26573,
"uuid": "[REDACTED]",
"ttft_stream_ms": 1113,
"time_to_request_ms": 258,
"first_content_frame_ms": 1114,
"queued_turn_count": 0,
"result_index": 0
}
]