Same score, opposite temperament: mimo-v2.5-free lands three on swebench-live by grinding, not quitting
mimo-v2.5-free is the second free zen model taken through the abort-aware oi harness across all fifteen swebench-live tasks. It scores the same 3 of 15 as deepseek-v4-flash-free, but the passes are a different set and the failure shape is the mirror image.
Reproducibility header: tool=tomo, engine=oi (code-as-action), model=opencode/mimo-v2.5-free (free tier via the opencode.ai/zen upstream), suite=swebench-live, tasks=all fifteen. Reproduce command, per task:
source ~/data/.local.env # OPENCODE_API_KEY for the zen upstream
scripts/campaign_sweep.sh <task-id> \
--models "opencode/mimo-v2.5-free" \
--max-rounds 30 --timeout 600s --retries 2
This is the second free zen model on the fair board. The first was deepseek-v4-flash-free, which came out at 3 of 15 once the abort-aware harness stopped scoring free-tier infrastructure deaths as task failures. mimo-v2.5-free gets the same treatment and the same headline number, 3 of 15, but almost everything underneath is different.
The board
Fifteen tasks, one attempt each after aborts are retried out, graded by each task's hidden check.sh. Cost is zero because the free tier is unpriced; the honest cost signal here is tokens, and mimo spends a lot of them.
task verdict rounds actions in_tok out_tok secs edited == gold?
beeware__briefcase-2085 fail 7 5 21884 994 32.7 no edit
conan-io__conan-17123 PASS 15 13 72232 6558 139.3 yes
aws-cloudformation__cfn-lint-3798 fail 17 15 105309 9840 180.1 no edit
cyclotruc__gitingest-94 fail 6 4 15049 1557 35.5 no edit
dynaconf__dynaconf-1225 fail 30 30 341241 7003 216.2 no edit
fonttools__fonttools-3682 PASS 19 17 161057 4252 113.8 yes
huggingface__smolagents-285 PASS 16 15 81946 6565 152.0 yes
instructlab__instructlab-2540 fail 21 19 190671 4157 112.1 both gold files, wrong fix
joke2k__faker-2142 fail 3 1 7607 338 15.1 no edit
kubernetes-client__python-2303 fail 24 22 210362 7051 151.9 no edit
projectmesa__mesa-2394 fail 5 3 10922 507 19.0 no edit
python-control__python-control-1064 fail 30 30 287774 10211 336.3 no edit
reata__sqllineage-661 fail 13 12 43096 1723 93.8 wrong file
sphinx-doc__sphinx-12975 fail 16 14 80291 21902 330.0 no edit
stanfordnlp__dspy-1651 fail 30 29 323624 35262 532.1 no edit
Solved 3 of 15. Total tokens 2,070,985 (input 1,953,065, output 117,920). That is 3.3 times the 624,323 tokens deepseek-v4-flash-free spent for the same three solves.
The three passes
task edited file (== gold) rounds actions
conan-17123 conan/internal/api/config/config_installer.py 15 13
fonttools-3682 Lib/fontTools/ttLib/reorderGlyphs.py 19 17
smolagents-285 src/smolagents/local_python_executor.py 16 15
conan and fonttools are the two shared with deepseek, the well-localized single-file transcription tasks, and mimo hits the exact gold file on both.
smolagents-285 is the one mimo owns.
deepseek-v4-flash-free failed smolagents with zero actions, reading the prompt and producing prose instead of a first action, a non-start.
mimo drove sixteen rounds and fifteen actions into src/smolagents/local_python_executor.py, the gold file, and turned the hidden test green.
This is the persistence dividend in a single task: where the early-quit model never started, the grinder found the file and the fix.
The mirror-image failure: gitingest-94
The flip side is the one task that makes mimo look worse than its twin.
gitingest-94 is the easiest task on the suite, the one whose issue report all but names the file and the symbols. deepseek-v4-flash-free cleared it in three rounds. mimo bailed: six rounds, four actions, thirty-five seconds, no edit written, and a clean recorded fail rather than an abort, so the harness did not retry it because there was nothing transport-level to retry. On the single task where reading the report and transcribing the fix is nearly free, mimo read, poked around, and quit without editing. That is the anomaly in an otherwise grind-everything profile, and it is exactly the task that costs it a shared-plus-one board against deepseek.
The near-miss: instructlab-2540, both gold files, wrong fix
instructlab-2540 is mimo's version of the right-place-wrong-fix failure.
It is a two-file gold task, and mimo edited both of the gold files: src/instructlab/configuration.py and src/instructlab/model/chat.py.
Nineteen actions across twenty-one rounds, landing edits in precisely the two files the gold patch touches, and the hidden test still failed.
So the localization was perfect and the fix was not.
This is the harder cousin of deepseek's briefcase near-miss: a multi-file change where finding both spots is the easy part and making them jointly satisfy the tests is the wall.
What the persistence buys, and what it costs
The defining trait of mimo on this suite is that it does not quit. Look at the no-edit failures where deepseek walked away in one or two rounds: dynaconf (mimo 30 rounds, 30 actions, 341K tokens), python-control (30 rounds, 30 actions, 287K tokens), dspy (30 rounds, 29 actions, 323K tokens, 532 seconds), kubernetes-2303 (24 rounds, 22 actions, 210K tokens). deepseek treated several of these as non-starts and spent a few hundred tokens each. mimo drove every one of them to or near the thirty-round ceiling.
That persistence bought exactly one extra-hard solve, smolagents, that the early-quit model missed. It did not buy the medium tasks: dynaconf, kubernetes, python-control, dspy, sphinx all end no-edit or wrong despite the full round budget. And it cost 3.3 times the tokens for the same final count. On a priced tier that difference would be real money; on the free tier it is real latency, dspy alone ran nine minutes.
Two free models, same score, opposite failure modes
Putting the two fair boards side by side:
task deepseek-v4-flash-free mimo-v2.5-free
conan-17123 PASS PASS
fonttools-3682 PASS PASS
gitingest-94 PASS fail (bailed, no edit)
smolagents-285 fail (non-start) PASS
everything else fail fail
board 3/15 3/15
tokens 624,323 2,070,985
The shared core is the two easy single-file transcription tasks. Past that, the two free models are almost caricatures of the two failure temperaments: deepseek is cheap and gives up, so it takes the trivial gitingest and whiffs the one that needs a few rounds of engagement; mimo is expensive and refuses to give up, so it takes the engagement task and, oddly, drops the trivial one.
Both hit the same hard ceiling the wider campaign already mapped. The six-task wall (cfn-lint, dynaconf, sqllineage, instructlab, sphinx, python-control) is unbroken by either free model, and a gpt-5.6 codex sweep fails the same six. The takeaway for routing free models is that the two are not redundant despite the identical score: deepseek is the one to reach for when you want a cheap first pass that either lands fast or costs almost nothing, and mimo is the one that will burn tokens to find a fix a cheap model would never start looking for, with no guarantee the extra tokens convert.
Metrics: solved 3/15, total 2,070,985 tokens (input 1,953,065, output 117,920), cost $0 on the free tier, engine oi (code-as-action, graded by hidden check.sh), aborts retried up to two times per task, all three passes edited the exact gold file.