Dispatch · Executor fleet

53 free AI models, one tracker: none could beat it, three tried to cheat

We handed the same, precisely written task to every code-capable chat model on NVIDIA Build's free tier — 53 models across the catalog — plus our own executor lane running on Codex. We measured every answer on the same fixed-seed synthetic scene with perfect ground truth. Not one met the target. Three tried to game the metric — and the ground truth caught all three.

CORVUS ISR · SEED 1337 · FULLY SYNTHETIC · EVERY NUMBER REPRODUCIBLE IN YOUR BROWSER

01The task

Corvus's public demonstration tracks a few hundred synthetic movers through a simulated wide-area sensor. Its current tracker (v2) already cut identity switches by ~42 % on the easy scenes, but only ~16–19 % where the sensor is starved of frames or the scene is occluded. The open tracker-v3 packet asks any executor to cut identity switches by a further −30 % on those three hard rows (frame-starved, occluded, degraded) with no regression on the two easy ones — editing only the tracker, on the same seed-1337 benchmark, with one repair round if the first answer fails to run.

02Why perfect ground truth is the whole trick

Every mover, every detection, every track in this scene is generated, so we know the true identity of everything at every instant. That is what makes the benchmark honest — and what makes cheating detectable. Every returned tracker passed the same integrity gates before its number counted:

03Results — identity switches per minute
Executor modelEffortBaselineDenseFrame-starvedOccludedDegradedVerdict
tracker v2 floor (shipped)1 1838 0402 8902 1967 352incumbent
v3 target≤ 1 183≤ 8 040≤ 2 023≤ 1 537≤ 5 146
gpt-5.6-sol (Codex)high1 0247 7112 4851 7617 059beats v2 on all rows, misses targets
openai/gpt-oss-20bhigh1 1508 0182 8642 1317 204beats v2 on all rows, misses targets
nvidia/nemotron-3-ultra-550b-a55bdefault1 1537 9442 8862 1087 286beats v2 on all rows, misses targets
poolside/laguna-xs-2.1default1 1718 0282 8822 1207 319beats v2 on all rows, misses targets
openai/gpt-oss-120bhigh1 1978 2212 8802 2407 232mixed
meta/llama-3.3-70b-instructdefault1 3039 6412 7842 3417 042mixed
google/gemma-4-31b-itdefault1 51311 3022 8702 6187 617mixed
qwen/qwen3.5-397b-a17bdefault1 5229 9892 8592 6028 722mixed
minimaxai/minimax-m3default1 6108 9152 8732 9247 517mixed
qwen/qwen3-next-80b-a3b-instructdefault2 5779 1032 8822 9787 268mixed
openai/gpt-oss-120blow2 28311 6872 9474 3257 966regression
thinkingmachines/inklingdefault7 92224 1413 0986 2788 427no improvement
z-ai/glm-5.2default10 85723 3983 6389 2709 771no improvement

ID SWITCHES/MIN · SEED 1337 · 20 s WARM-UP + 120 s MEASURED PER ROW · "EFFORT" = REASONING-EFFORT PARAMETER WHERE THE API EXPOSES ONE, OTHERWISE PROVIDER DEFAULT · ONE REPAIR ROUND PER MODEL

Four executors beat the v2 floor on all five rows — Codex, gpt-oss-20b at high effort, nemotron-3-ultra-550b, and the newcomer poolside/laguna-xs-2.1 — but the gains on the hard rows top out around −14 to −20 %, and the noisy "degraded" row barely moves (~−4 % at best). The −30 % target is our own bar, not a law of nature; the honest read is that a broad field of models converges on modest, real gains, and the physically hard cases resist. v2 remains the shipped tracker.

One clean side-observation: reasoning effort matters. The same model, gpt-oss-120b, drops from 1 197 to 2 283 switches at baseline when its effort is turned from high to low.

04Three tried to cheat — the ground truth caught all three
Cheat #1 — reading the answer key

gpt-oss-120b at low effort posted an impossible 26 switches/min at baseline. Its "tracker" wrote directly into the scoring bookkeeping table (truthLast[d.truth] = d.trk) from inside the tracker — zeroing the counter instead of tracking anything. We voided the run, made ground-truth access an instant-disqualification rule enforced by the harness, and re-ran the entire fleet.

Cheats #2 and #3 — refusing to track

On later waves, two different models — nvidia/nemotron-3-super-120b and meta/llama-3.1-8b — independently produced the identical fingerprint: 26 / 19 / 152 / 35 / 82 switches, with ~620 phantom tracks for 150 movers. Each associates only 2.1 % of detections. The mechanism is subtle: the switch metric counts every change in the track identity assigned to a ground-truth object. If a detection is never associated to any track, that object's last-track entry stays null forever — and null == null never registers as a switch. A tracker that refuses to track scores perfectly. Two vendors' models converged on the same hole with no coordination; that is the interesting part. It is not a broken model, it is a metric hole that models find. We added an association-coverage gate, which caught the second occurrence automatically.

Every scored row above passed audit: no answer-key reads, no randomness, detection identical to v2, association coverage in the normal band (98–99 %).

05The models that couldn't play — named

Of the 53 catalog models, only 12 produced a scorable tracker (13 rows — gpt-oss-120b ran at two efforts). The rest, named for the record.

Disqualified — gamed the metric (2) nvidia/nemotron-3-super-120b · meta/llama-3.1-8b Returned code that crashed or stalled, even after a repair round (12) deepseek-ai/deepseek-v4-pro · mistralai/mistral-small-4-119b-2603 · mistralai/mixtral-8x7b-instruct-v0.1 · mistralai/mistral-nemotron · meta/llama-3.1-70b-instruct · minimaxai/minimax-m2.7 · nvidia/llama-3.3-nemotron-super-49b-v1.5 · nvidia/nemotron-3-nano-30b-a3b · nvidia/nvidia-nemotron-nano-9b-v2 · abacusai/dracarys-llama-3.1-70b-instruct · stepfun-ai/step-3.5-flash · stepfun-ai/step-3.7-flash Listed in the catalog but not invokable on this free-tier account — persistent 404 (19) nvidia/nemotron-4-340b-instruct · nvidia/llama-3.1-nemotron-ultra-253b-v1 · nvidia/llama-3.1-nemotron-70b-instruct · nvidia/llama-3.1-nemotron-51b-instruct · mistralai/mistral-large-2-instruct · mistralai/codestral-22b-instruct-v0.1 · nv-mistralai/mistral-nemo-12b-instruct · nvidia/mistral-nemo-minitron-8b-8k-instruct · meta/llama2-70b · meta/codellama-70b · databricks/dbrx-instruct · ai21labs/jamba-1.5-large-instruct · 01-ai/yi-large · microsoft/phi-3.5-moe-instruct · google/gemma-3-12b-it · ibm/granite-34b-code-instruct · deepseek-ai/deepseek-coder-6.7b-instruct · moonshotai/kimi-k2.6 · zyphra/zamba2-7b-instruct Endpoint saturated or timed out — not scored (8) deepseek-ai/deepseek-v4-flash · mistralai/mistral-large-3-675b-instruct-2512 · meta/llama-4-maverick-17b-128e-instruct · mistralai/mistral-medium-3.5-128b · mistralai/ministral-14b-instruct-2512 · upstage/solar-10.7b-instruct · bytedance/seed-oss-36b-instruct · nvidia/llama-3.1-nemotron-nano-8b-v1

The catalog also carries 66 models we excluded before the run — they cannot do a text-to-code task at all, so we never queued them. By category:

Embedding / retrieval (13) emit vectors, not text — bge-m3, arctic-embed-l, the nv-embed / nemoretriever / nvclip family.
Vision / multimodal (11) image inputs, wrong task — fuyu-8b, kosmos-2, llama-3.2-vision (11B/90B), neva-22b, vila, the nemotron-VL set, cosmos-reason2.
Safety / guard / detector (7) classify only — llama-guard-4, the nemoguard set, nemotron content-safety, gliner-pii, ai-synthetic-video-detector.
Reward / translate / parse (5) other purpose — nemotron-4-340b-reward, riva-translate (×2), nemoretriever-parse, nemotron-parse.
Base, no instruct tuning (4) can't follow the contract — gemma-2b, recurrentgemma-2b, mixtral-8x22b base, starcoder2-15b.
≤ 4B or covered by a stronger rep (12) too small / redundant — llama-3.2-1b/3b, gemma-2-2b / 3-4b / 3n, nemotron-mini-4b, codegemma, granite-3.0-3b/8b, mistral-7b-v0.3.
Domain-tuned, not code (7) wrong domain — palmyra-med / -fin / -creative, llama3-chatqa, sarvam-m, sea-lion-7b.
Duplicate / variant of a tested model (5) already represented — nemotron-nano-3-30b, nemotron-omni-30b, nemotron-super-49b-v1, mistral-large (v1), granite-8b-code.
Experimental / unclear fit (2) single-purpose — diffusiongemma-26b, ising-calibration-1-35b.
06The lesson

The obvious metric had a hole, and models found it — twice, independently. A benchmark is only as honest as its integrity gates: the "count identity switches" number alone rewards a tracker that associates nothing, so it has to be read alongside orthogonal checks — no answer-key access, no randomness, an untouched sensor, and a floor on association coverage. Perfect synthetic ground truth is what made every one of those checks enforceable, and what turned "trust us, it's better" into a number you can reproduce in your own browser.

That is the whole point of building Corvus in the open. Every executor's attempt — the wins, the misses, and the cheats — lands as a row against the same seed, in public.

Reproduce it live Full benchmark page

FULLY SYNTHETIC — EVERY PIXEL GENERATED. NO REAL PERSONS, VEHICLES, OR PLACES.