The LLM proposes a feature; it is validated on every episode.
Below the agent’s average is the weak regime: we generate there.
New layouts; red: path before the Sofa is seen; blue: the agent’s rollout.
Same episode after training. Left: route to the Bed; right: what the agent sees.
Same task, three pretrained agents, three different weakness profiles. Each cell is how much an agent's success rate drops between the easy third and the hard third of its diagnostic episodes for that property. The biggest drop per agent is its top weakness.
Sample successful and failed episodes, ask the LLM for a feature that separates them, and validate it on the whole diagnostic set. Rejected candidates go back with their reason; validated ones become the mined weakness.
15 successes and 15 failures.
s scene: p planner: cat target category · Math availableTarget visibility is controlled by where the object sits, so we re-place it. Blind-path ratio and target-room remoteness are layout properties, so we generate new layouts. Candidates are kept only inside the agent's weak regime.
Validation episodes the pretrained agent failed and the adapted agent solved after one round. Left: before. Right: after. Paths are logged positions over the simulator’s top-down render.
Uni-NaVid was diagnosed and adapted in ProcTHOR only. On held-out HM3D episodes the pretrained model failed and the adapted model solved, here are its route on the scan’s navigation map and what it saw along the way. The route is drawn as the video plays.
For each agent: the validated weakness, adaptation on ProcTHOR, and evaluation back on HM3D. Baselines use the same recipe and budget with environments or examples chosen at random or by failure alone.

@article{zhang2026wedge,
title = {From Failures to Learnable Worlds: Policy-Conditioned Environment Generation for Navigation Agents},
author = {Zhang, Yue and Lin, Han and Wang, Zun and Huang, Yidong and Khan, Zaid and Bansal, Mohit},
journal = {arXiv preprint},
year = {2026}
}