Skip to content

Claude Sonnet 5.5 (effort default (no --effort flag) · thinking on) on Tide prediction from harmonic constituents: extrema, wiggle removal, threshold crossings

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

Trust 80%Fully autonomouspartial · 0 retriesSuperseded
Estimated cost
$0.08
Wall time
23s
Human step-ins
0
Outcome
Partial

Compare with other models on this task →

Superseded. This run was rescored on 2026-10-22 and replaced by a newer run. It no longer counts toward rankings, use-case tables or the data export; it is kept here for the record.
Rescored on 2026-10-20. Previous score: 56.3 / 100, outcome: partial. See the previous run.

Summary

Exact prompt

# Tide prediction from harmonic constituents `input.json` (synthetic constituents; not for navigation) gives `z0` (m), `constituents` (`amp` m, `speed_deg_h`, `phase_deg`, `g_deg`, node factor `f`), a window `start_h`..`end_h` (hours), `min_range_m` and `threshold_m`. Write `solve.py` (Python 3 standard library only); `python solve.py input.json answer.json` writes `answer.json` and `tide.svg`. Fresh inputs are generated. ## Rules 1. Height h(t) = z0 + sum of f * amp * cos(speed * t + phase - g), angles in degrees converted to radians, t in hours. 2. **Extrema**: every time in [start, end] where dh/dt changes sign (use the analytic derivative), located to better than 0.001 minute. Kind: `high` if the second derivative there is negative, else `low`. Scan in steps of 0.1 h (6 minutes); no two extrema of these inputs fall in the same step. 3. **Compound-tide wiggles**: then repeatedly find the first pair of consecutive extrema whose heights differ by less than `min_range_m` and delete both, until none remain. 4. **Threshold crossings**: every time h(t) crosses `threshold_m`, with `direction` rising or falling, located the same way. 5. **Daily**: day d = 0, 1, 2, ... covers [start + 24d, start + 24(d+1)); max and min of h sampled at every whole minute from start to end inclusive (the end sample belongs to the last partial day if any). 6. Times are reported as `t_min` = minutes after `start_h`, rounded to 0.1; heights rounded to 3 decimals. ## Visual output: tide.svg Static, self-contained SVG (root `<svg>`; no scripts, images, links, embeds, handlers, external URLs, CSS url(http)/@import or fetches; renders headless) with `<polyline id="tide-curve">`, `<line id="threshold-line">` and an element `id="extrema"`. The drawing is not graded. ## answer.json `{"extrema": [{"t_min", "height_m", "kind"}, ...], "crossings": [{"t_min", "direction"}, ...], "daily": [{"day", "max_m", "min_m"}, ...]}` ## Scoring Hidden checks (partial credit; all must pass): `extrema_count_and_kinds`, `extrema_times_heights` (times within 0.15 minute, heights within 0.15 m), `threshold_crossings`, `daily_max_min` (within 0.0015 m), `tide_svg_static` (tide.svg exists, follows the static rules, has the ids/tags above), `fresh_run_1`, `fresh_run_2`. 60-second limit per run.

Sampling without refinement misses by minutes; the wiggle-removal order changes which extrema survive; a crossing of a step boundary is easy to double-count. 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). Oct 20, 2026: Scorer mode: file-based. This case's checks read the output file directly by design; no browser is used in scoring. Measured data unchanged.

Success criteria: 1. extrema_count_and_kinds 2. extrema_times_heights 3. threshold_crossings 4. daily_max_min 5. tide_svg_static 6. fresh_run_1 7. fresh_run_2

Setup notes: Oct 20, 2026: Scorer mode: file-based. This case's checks read the output file directly by design; no browser is used in scoring. Measured data unchanged. Use Case Scout batch 12 case m05-tide-harmonics (offline, synthetic fixture). Prepared with batch12/prepare.sh; hidden key/checker kept outside the agent's work dir (temp dir during the run). Prompt = TASK.md verbatim. Scored with the case's scorer: `python score.py WORKDIR KEYDIR` (python3, run from the case dir). Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. 1-min load average at scoring 0.12 (8 cores). tide.svg rendered offline with google-chrome headless (CDP pipe, network blocked): PNG 1280x800 at ~3 s after load; MP4 ~6 s captured at 1280x720, H.264 1280x720. Claude Code's own reported cost for claude-sonnet-5.5: $0.075795. Score: 4/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.

Output

Metrics

Estimated cost
$0.08
Wall time
23s
Human step-ins
0
Turns
4
Model usage
ModelInput tokOutput tokCost
AClaude Sonnet 5.5anthropic/claude-sonnet-5.5effort default (no --effort flag) · thinking on79,6483,071$0.08

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: 1. extrema_count_and_kinds 2. extrema_times_heights 3. threshold_crossings 4. daily_max_min 5. tide_svg_static 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": 21714,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.0757946,
  "usage": {
   "input_tokens": 8,
   "cache_creation_input_tokens": 9514,
   "cache_read_input_tokens": 70126,
   "output_tokens": 3071,
   "output_tokens_details": {
    "thinking_tokens": 420
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 9514,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 692,
     "cache_read_input_tokens": 19503,
     "cache_creation_input_tokens": 2550,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 2550
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-sonnet-5-5": {
    "inputTokens": 8,
    "outputTokens": 3071,
    "cacheReadInputTokens": 70126,
    "cacheCreationInputTokens": 9514,
    "webSearchRequests": 0,
    "costUSD": 0.0757946,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 420,
    "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": 4,
  "subtype": "success",
  "api_error_status": null,
  "result": "I wrote `solve.py`, and `python solve.py input.json answer.json` produces both `answer.json` and `tide.svg`. I ran it once on the provided `input.json`. The first extrema look sensible, alternating high and low, e.g. a high of 4.959 m at 35.5 min and a low of 2.888 m at 265.0 min. I did not check the rest of the output. I also haven't opened the SVG or rendered it, and I haven't tried a fresh generated input.\n\nHow it works:\n- **Time:** `t` is the absolute hour value, so `start_h` (2762.71) goes straight into the cosine terms.\n- **Root finding:** extrema and threshold crossings are found by scanning in 0.1 h steps for a sign change, then bisecting 80 times. That is far finer than the 0.001 minute requirement. Extrema use the analytic first derivative, and the kind comes from the sign of the analytic second derivative.\n- **Wiggles:** the first consecutive extrema pair closer than `min_range_m` in height is deleted, repeating until none remain.\n- **Crossings:** the direction (rising or falling) is taken from the sign of h \u2212 threshold just after the crossing.\n- **Daily:** h is sampled at every whole minute from start to end inclusive. A sample exactly on the end boundary counts toward the last day rather than creating an extra one. The window here is exactly 72 h, so the end sample goes into day 2.\n- **Rounding:** times are rounded to 0.1 min and heights to 3 decimals.\n- **SVG:** `tide.svg` is a static drawing with `polyline#tide-curve`, `line#threshold-line` and `g#extrema`, with no scripts or external references.",
  "ttft_ms": 1499,
  "type": "result",
  "duration_ms": 22113,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 1151,
  "time_to_request_ms": 239,
  "first_content_frame_ms": 1152,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly