Skip to content

Anchor drag alarm from a GPS track

Exact prompt

# Anchor drag alarm from a GPS track `input.json` (synthetic, not for real anchor watch): `anchor` [lat, lon], `rode_m`, `depth_m`, `bow_height_m`, `gps_offset_m`, `margin_m`, `consecutive` N, and `track` (CSV `t,lat,lon`, t in seconds). Write `solve.py` (Python 3 standard library only); `python solve.py input.json answer.json` writes `answer.json` and `anchor.svg`. Fresh inputs are used too. ## Rules 1. Alarm radius = sqrt(rode^2 - (depth + bow_height)^2) (0 if rode <= depth + bow_height) + gps_offset + margin. 2. Track rows: skip the header. A row is **bad** (counted, skipped) if it has fewer than 3 fields, t is not an integer, lat/lon is not a finite number in range [-90, 90] / [-180, 180], or t is not greater than the last *valid* row's t. 3. Distance from the anchor (metres): R = 6371000; m = mean of the anchor and point latitudes; x = radians(dlon) * cos(m) * R (east), y = radians(dlat) * R (north); distance = hypot(x, y). A point is **outside** if distance > radius. 4. An **event** is a maximal run of consecutive valid points that are outside, with length >= N. Report `start_t` (first point), `trigger_t` (Nth point), `end_t` (last point), `max_dist_m`, and `bearing_deg` = atan2(x, y) mod 360 from the anchor to the run's last point. 5. Round the radius to 2 decimals and distances and bearings to 1. ## Visual output: anchor.svg Static, self-contained SVG (root `<svg>`, no scripts, images, links or external assets; renders headless) with `<circle id="swing-circle">`, `<polyline id="track">` and an element `id="anchor"`. The drawing itself is not graded. ## answer.json `{"radius_m", "valid_points", "bad_rows", "events": [...], "max_dist_m", "outside_points"}` ## Scoring Hidden checks (partial credit; all must pass): `swing_radius` (within 0.011), `track_cleaning` (exact), `distances`, `alarm_events` (times exact, values within 0.11), `anchor_svg_static` (anchor.svg exists, follows the static rules, has the ids/tags above), `fresh_run_1`, `fresh_run_2`. 60-second limit per run.

Catenary-free swing radius with offsets, rejecting bad and out-of-order rows against the last valid time, short excursions that must not trigger, and a real drag run with trigger time and bearing. 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. swing_radius 2. track_cleaning 3. distances 4. alarm_events 5. anchor_svg_static 6. fresh_run_1 7. fresh_run_2

Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.0081, 34s).

Latest output per model

Run this on another model

All runs (8)

88% pass rate across 8 eligible runs: 7 pass, 1 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
DDeepSeek V4.1 Flash (Venice)thinking on$0.0146s0Fully autonomouspassTrust 80%2026-10-28
MMistral Small 3.2 24B Instruct (Venice)thinking on$0.007739s0Fully autonomouspartialTrust 80%2026-10-23
GGemini 3.8 Flashmedium · thinking on$0.464m0Fully autonomouspassTrust 80%2026-10-22
GGemini 4 Argonmedium · thinking on$0.223m0Fully autonomouspassTrust 80%2026-10-22
OGPT-6.1 Soldefault · thinking on$0.051m0Fully autonomouspassTrust 80%2026-10-22
AClaude Haiku 5.5default · thinking on$0.008134s0Fully autonomouspassTrust 80%2026-10-20
AClaude Opus 5.5default · thinking on$0.1835s0Fully autonomouspassTrust 80%2026-10-20
AClaude Sonnet 5.5default · thinking on$0.0718s0Fully autonomouspassTrust 80%2026-10-20

Embed this result

A live badge for this use case. It links back here and updates as new runs are published.

UseCaseRank badge for Anchor drag alarm from a GPS track

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.