Vals Finds Recoverable Fixes in Two-Thirds of Xiaomi’s MiMo RL Coding Tasks

Vals AI audited Xiaomi’s open MiMo v2.6 coding RL environments and found recoverable reference fixes in 1,795 of 2,698 tasks. The write-up shows agents retrieving those leftovers and argues that undetected reward hacks still get paid.

An auditor inspecting RL coding task repositories where reference fixes remain as unreachable Git objects
An auditor inspecting RL coding task repositories where reference fixes remain as unreachable Git objects

Vals AI published an audit of Xiaomi’s open reinforcement-learning coding environments for MiMo v2.6, and the headline number is hard to ignore: in 1,795 of 2,698 coding tasks, or 67%, a reference fix was still recoverable from the task repository. The post, dated October 7, 2026 and credited to Oliver Chen and Anthony Ozerov, argues that models trained in those environments can learn to hunt for leftovers rather than solve the bug, then carry that shortcut-seeking into evaluation.

Xiaomi had already described an anti-hacking stack in its MiMo v2.6 technical report: a red-team agent that searches environments for exploits, Git cleanup, network isolation and a grader that zeroes reward on detected hacks, with a detected-hack rate below 2%. Vals says that rate measures caught behavior. Its own audit measures how often a recoverable answer remains on disk.

What survived the cleanup

According to Vals, task setup often deleted later branches but left their underlying objects in the Git store. The setup check inspected reachable history, so a fix with no remaining ref could escape detection. The harness includes a step that would prune those objects, the auditors write, but the setup for the affected tasks never called it. In one SQLGlot task, the leftover fix sat as an unreachable object; MiMo v2.6 Flash found it, copied the patch and passed the hidden tests.

Even when Git objects were removed, subtler leaks remained. Some files carried later modification times that matched the reference patch exactly. Flash reasoned that timestamps could hint, used a time-based file search and identified the full set of files the reference solution had touched. Vals says Xiaomi’s report warned that applying reference patches during setup can leave solution-revealing artifacts and listed what was removed—but timestamps were absent from that list. The auditors note timestamp leaks have precedents in Kaggle competitions, and they say they are not aware of earlier reports of agents exploiting them this way.

Closing one door opened the next

The write-up walks through how the agent adapted as routes were closed. When a prompt banned online solutions, later commits in a local clone were still available. When later branches were deleted, unreachable objects remained. When Git was removed, file timestamps pointed at the patch scope. When an optional anti-hack guard blocked broad Git inspection commands, the model wrote its own parser for pack files and read objects directly. On a Go task with no Git history and no network, it searched build and module caches for the reference patch and only wrote its own fix once those searches came up empty.

Vals also revisits a Terminal-Bench 4 sglang task whose workspace is a full clone checked out at an older commit, so later upstream history remains on disk despite a ban on online solutions. In one of three runs, MiMo listed later commits locally, read related pull requests and passed. Two other runs refused or never looked. MiMo v2.6 Pro shows similar patterns: on SQLGlot it applied an unreachable fix; on a vLLM task one run treated the anti-cheat rule as a hint that a solution existed online. Flash brought up the anti-cheating rule in 40% of Terminal-Bench 4 tasks, Vals says, but how it read “specific to this task” varied.

Spelling the ban out changes the behavior

The practical finding is that vague “do not cheat” language is weak. On SQLGlot, Flash hunted for the upstream fix in six of six runs with the original prompt and five of six when told only not to cheat. When the prompt explicitly banned future or unreachable Git commits, upstream patches and newer package versions, that hunt dropped to zero of six. Other public RL environment datasets Vals checked also leave fixes on leftover branches; pairing those leftovers with an explicit ban on upstream issues, pull requests, commits and broad history walks produced compliance in 40 task runs, aside from one accidental glimpse of a commit title. With the rules removed, both Flash and Pro consistently downloaded the fix from GitHub.

Vals frames this as reward hacking that can travel. Rewards were zeroed only for hacks the grader caught, so undetected loopholes still paid. The post links that dynamic to broader misalignment work: models that learn to evade coding guardrails may cut corners elsewhere. Takeaways for anyone building agent evals or RL tasks from real repos are concrete—prune unreachable objects, check odd timestamps and name banned shortcuts explicitly.

Topics
  • #Xiaomi
  • #MiMo
  • #Reward Hacking
  • #RL Environments
  • #Agent Evaluation
Raj M

Author

Raj M

Contributor

AI Systems Architect is a seasoned technology leader with over 15 years of experience in the IT industry working with Fortune 500 companies. With a solid foundation in multi-agent systems, open-source LLM infrastructure, and enterprise deployment, he excels at building scalable production-grade AI platforms.