PatchWorld: Gradient-Free Optimization of Executable World Models for Agent Environments
Open accessAbstract
World models for interactive text agents must typically be learned from observation-action trajectories alone. Specifically, the environment returns text observations after each action, but does not expose a ground-truth latent state nor an inspectable transition model.A research gap remains in how to induce executable code as a world model in this black-box setting for prediction and agent decision making. We introduce PatchWorld, a gradient-free framework that turns offline trajectories into executable Python world models through counterexample-guided code repair.Instead of predicting the next observation with a black-box model, PatchWorld induces symbolic belief-state programs whose action updates can be inspected, replayed, and locally patched. Across seven AgentGym environments, PatchWorld-Simple achieves the highest code-based decision-making score among evaluated methods (76.4% macro success in live one-step lookahead), matching or exceeding LLM-based lookahead while invoking no LLM calls inside the world-model prediction module itself. We further find that a human-specified residual-memory bias improves surface observation fidelity but weakens agent decision-making utility. This reveals a tradeoff in executable world models, since improving observation fidelity can come at the expense of action-discriminative dynamics, and vice versa. Code is available at https://github.com/HKBU-KnowComp/PatchWorld.
AI snapshot
Written from the paper’s full text.
TL;DR
PatchWorld is a gradient-free framework that induces executable Python world models from offline text-agent trajectories via counterexample-guided code repair. Across seven AgentGym environments, it exposes a fidelity–utility tradeoff: PatchWorld-Residual gives the best code-based observation fidelity, while PatchWorld-Simple gives the best code-based planning utility.
Key findings
PatchWorld-Simple reaches 76.4% macro success in live one-step lookahead, the highest code-based planning score, ahead of PoE-World (69.3%) and WorldCoder (64.4%), and competitive with ReAct (74.4%) and LLM-Direct (75.8%) while using zero lookahead-prediction LLM calls (vs. 63,897 tokens/task for LLM-Direct).
- PatchWorld-Residual is the best program-based predictor on macro Token F1 (0.69–0.70) and BLEU-4 (0.49–0.50), about 6 points above WorldCoder and PoE-World; a five-seed Qwen3-Coder-480B check gives 0.6942 ± 0.0192 Token F1 and 0.4991 ± 0.0231 BLEU-4.
- The residual-memory bias improves fidelity but weakens planning: PatchWorld-Residual improves macro Token F1 (0.69 vs. 0.57) but lowers planning success (72.9% vs. 76.4%). Word2World has the highest one-step fidelity (0.85 F1) but only 63.5% macro success.
- Ablations show the largest dependency is contrastive mining (−0.20 F1 under uniform sampling); repair and residual memory each add about 0.09 F1, and the validation gate adds 0.006 F1. The repair loop averages 17–28 LLM calls per environment and reduces replay error by 12–79%.
Methods
The paper formulates each environment as a POMDP and induces an executable Python program with symbolic belief state, predict/correct/readout functions, and a replay-loss objective minimized by discrete search rather than gradients.
- The induction loop uses an LLM to synthesize a BaseWorldModel, selects contrastive transitions by action and outcome signatures, replays the program to collect typed counterexamples, and accepts candidate patches only when they improve a lexicographic replay score.
- Evaluation uses seven AgentGym environments (Maze, BabyAI, TextCraft, Wordle, WebShop, AlfWorld, SciWorld), trajectories collected with a Qwen3-Coder-480B-A35B-Instruct ReAct agent and split 60/20/20 by instance ID; metrics are Token F1, BLEU-4, and episode success under a shared one-step lookahead planner.
Limitations
The paper states that it uses a simple one-step lookahead planner to isolate the world model rather than a learned controller, value function, or deep search; it induces one model per environment, so results do not measure transfer across tasks or domains; and the benchmark is limited to language-based environments, with interpretability claims relying on inspectable programs and execution diagnostics rather than user studies.
- The text also makes evident that no environment under any backbone reaches exact convergence within R=15, and repair gains are small for DeepSeek-V4-Flash (11.8% total replay-error reduction) and absent for Mimo-v2.5 on WebShop (0.0%).
- Residual memory is high precision but low coverage: exact train-key residuals cover 33% of held-out transitions on average and 0.00% on WebShop; readout/rendering accounts for 53% of post-repair errors on average, and AlfWorld remains the main negative planning case.
Model-written summary. Check it against the paper before relying on it.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
0 of 9 cited sources checked · 0 supported · 0 flagged
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.71 Token F1 at t=1 on TextCraft.
“PatchWorld-Residual 0.71 0.66 0.64 0.63”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data
PatchWorld-Simple achieves the highest code-based planning score among evaluated methods, reaching 76.4% macro success in live one-step lookahead.
“Across seven AgentGym environments, PatchWorld-Simple achieves the highest code-based planning score among evaluated methods, reaching 76.4% macro success in live one-step lookahead while invoking no LLM calls inside the world-model prediction module itself.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Simple attains the highest code-based planning utility, with 76.4% macro success and zero lookahead LLM calls.
“PatchWorld-Residual attains the highest code-based fidelity in our evaluation (0.69 macro Token F1), while PatchWorld-Simple attains the highest code-based planning utility (76.4% macro success, zero lookahead LLM calls), exposing a Pareto frontier grounded in value equivalence ( §3).”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“PatchWorld-Simple | 76.4 ± 0.8”
Quote in the paperSubstantial claim- Rests on an assumption: The seven evaluation environments are representative of the regimes relevant to executable world models.
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.97 Token F1 at t=1 on Maze.
“PatchWorld-Residual 0.97 0.94 0.90 0.85”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Compound transition rules (recipes, multi-attribute filters) drive the residual on TextCraft and WebShop.
“Typing postrepair counterexamples (Appendix N) shows readout/rendering causing 53% of residual errors on average, dominant on AlfWorld, SciWorld, and Wordle, exactly where PatchWorld-Residual closes the gap, while compound transition rules (recipes, multi-attribute filters) drive the residual on TextCraft and WebShop.”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“TextCraft | 5% | 47% | 32% | 16%”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“WebShop | 7% | 44% | 36% | 13%”
Quote in the paperNot a substantial claim - Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data
PatchWorld-Simple attains the highest code-based live lookahead planning score.
“PatchWorld-Simple attains the highest code-based live lookahead planning score”
Quote in the paperSubstantial claim - Findingown data
PatchWorld-Residual beats PatchWorld-Simple by the largest margin exactly where the train-key cache is dense and the renderer is templated: AlfWorld (+0.34), TextCraft (+0.43), Wordle (+0.14).
“PatchWorld-Residual beats PatchWorld-Simple by the largest margin exactly where the train-key cache is dense and the renderer is templated: Alf-World (+0.34),TextCraft (+0.43),Wordle (+0.14).”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld induction did not converge within the repair budget for any environment or backbone.
“Qwen3-Coder-480B Avg. | 28.4 346.1k 105.5k | 6.9 No”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“Mimo-v2.5 | Avg. | 25.0 261.2k 241.9k | 6.0 No”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“DeepSeek-V4-Flash Avg. | 17.0 233.3k | 66.6k | 4.0 No”
Quote in the paperSubstantial claim - Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 72.9 ± 2.3% macro episode success.
“PatchWorld-Residual | 72.9 ± 2.3”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.69 Token F1 at t=1 on BabyAI.
“PatchWorld-Residual 0.69 0.65 0.62 0.62”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data
With Qwen3-Coder-480B, PatchWorld-Simple reaches 0.57 macro Token F1, below the 0.63 of WorldCoder and PoE-World.
“With Qwen3-Coder-480B, it reaches 0.57 macro Token F1, below the 0.63 of WorldCoder and PoE-World; the largest gaps are AlfWorld and TextCraft, where exact simulator templates matter.”
Quote in the paperSubstantial claim - Findingnone given
PatchWorld-Simple invokes no LLM calls inside the world-model prediction module itself.
“Across seven AgentGym environments, PatchWorld-Simple achieves the highest code-based planning score among evaluated methods, reaching 76.4% macro success in live one-step lookahead while invoking no LLM calls inside the world-model prediction module itself.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual attains the highest code-based macro Token F1 at all horizons t=1,2,3,5.
“Table 3 : Macro-average rollout Token F1, unweighted over the seven environments.Bold marks the best codebased score.Per-environment results are in Appendix G.”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“PatchWorld-Residual (ours) 0.69 0.64 0.60 0.58”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data
The largest dependency in the ablation is contrastive mining (-0.20 F1 under uniform sampling).
“The largest dependency is contrastive mining (-0.20 F1 under uniform sampling): without it the LLM sees redundant successful transitions and under-samples failure-disambiguating ones, so the first program already misses the conditional rules that repair would”
Quote in the paperSubstantial claim - Findingown data
A human-specified residual-memory bias weakens decision utility.
“We further find that a human-specified residual-memory bias improves surface observation fidelity but weakens decision utility.”
Quote in the paperSubstantial claim - Findingown data
Bucketing transitions by Token F1 shows a BERTScore noise floor near 0.85.
“The compressed dynamic range is the standard BERTScore caveat: bucketing transitions by Token F1 shows a noise floor near 0.85 (F 1 =0 : 0.859, F 1 ∈(0, 0.25): 0.834, F 1 ∈[0.25, 0.5): 0.877, F 1 ∈[0.5, 0.75): 0.933, F 1 ≥0.75: 0.991).”
Quote in the paperNot a substantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Simple attains the highest macro episode success among evaluated methods.
“PatchWorld-Simple | 76.4 ± 0.8”
Quote in the paperSubstantial claim - Findingown data
Across seven AgentGym environments, there is a frontier between observation reconstruction and planning utility.
“Across seven AgentGym environments, we find a frontier between observation reconstruction and planning utility.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Simple achieves 76.4 ± 0.8% macro episode success.
“PatchWorld-Simple | 76.4 ± 0.8”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Readout/rendering errors are dominant on AlfWorld, SciWorld, and Wordle.
“Typing postrepair counterexamples (Appendix N) shows readout/rendering causing 53% of residual errors on average, dominant on AlfWorld, SciWorld, and Wordle, exactly where PatchWorld-Residual closes the gap, while compound transition rules (recipes, multi-attribute filters) drive the residual on TextCraft and WebShop.”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“AlfWorld | 6% | 18% | 63% | 13%”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“Wordle | 3% | 12% | 75% | 10%”
Quote in the paperSubstantial claim - Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data
PatchWorld reduces rollout drift by mapping text back into structured belief state before the next transition.
“PatchWorld reduces this drift by mapping text back into structured belief state before the next transition.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Removing the repair loop reduces average validation Token F1 by 0.0922.
“-Repair loop | 0.6340 -0.0922”
Quote in the paperSubstantial claim - Findingown data
PatchWorld-Residual attains the highest code-based fidelity.
“PatchWorld-Residual attains the highest code-based fidelity”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Removing the validation gate reduces average validation Token F1 by 0.0058.
“-Validation gate | 0.7204 -0.0058”
Quote in the paperNot a substantial claim - Findingown data
No environment under any backbone reaches exact convergence within R=15.
“Third, no environment under any backbone reaches exact convergence within R=15, consistent with the validator's strict round-trip criterion and the readout-dominated error mix in Table 16.”
Quote in the paperNot a substantial claim- Rests on an assumption: The validator's strict round-trip criterion is a valid measure of world model correctness.
- Findingown data
PatchWorld-Simple gives the highest code-based planning result, with 76.4% macro success.
“PatchWorld-Simple gives the highest code-based planning result in our evaluation, with 76.4% macro success.”
Quote in the paperSubstantial claim - Findingown data
The only visible cell-level outlier (PatchWorld-Simple+Mimo on Maze, Token F1 = BLEU-4 = 0 but BERTScore 0.85) sits exactly at the BERTScore noise floor, not at a hidden success.
“The only visible cell-level outlier (PatchWorld-Simple+Mimo on Maze, Token F1 = BLEU-4 = 0 but BERTScore 0.85) sits exactly at this floor, not at a hidden success.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
The PatchWorld repair loop reduces replay errors on induction-time validation trajectories by 78.6% total for Qwen3-Coder-480B.
“Qwen3-Coder-480B Total | 17510 | 3741 13769 78.6%”
Quote in the paperSubstantial claim - Findingnone given§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
The validator turns a failed Maze transition into a localized code change.
“The validator turns a failed Maze transition into a localized code change.”
Quote in the paperNot a substantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
WebShop has 0.00 exact train-key residual hit rate.
“WebShop | 0.00 | 0.00 | 0.00”
Quote in the paperNot a substantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.72 Token F1 at t=1 on Wordle.
“PatchWorld-Residual 0.72 0.65 0.55 0.50”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.50 Token F1 at t=1 on WebShop.
“PatchWorld-Residual 0.50 0.48 0.46 0.45”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data
A human-specified residual-memory bias improves surface observation fidelity.
“We further find that a human-specified residual-memory bias improves surface observation fidelity but weakens decision utility.”
Quote in the paperSubstantial claim - Findingown data
The two evaluations favor different variants.
“The two evaluations favor different variants.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.55 Token F1 at t=1 on SciWorld.
“PatchWorld-Residual 0.55 0.49 0.44 0.41”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
The PatchWorld repair loop reduces replay errors by 71.1% total for Mimo-v2.5.
“Mimo-v2.5 | Total | 15161 | 4388 10773 71.1%”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Readout/rendering causes 53% of residual errors on average.
“Typing postrepair counterexamples (Appendix N) shows readout/rendering causing 53% of residual errors on average, dominant on AlfWorld, SciWorld, and Wordle, exactly where PatchWorld-Residual closes the gap, while compound transition rules (recipes, multi-attribute filters) drive the residual on TextCraft and WebShop.”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“Macro | 5% | 28% | 53% | 14%”
Quote in the paperSubstantial claim - Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
- Findingown data
Within each backbone, longer horizons (SciWorld, Alf-World) consume both more calls and more rounds.
“First, within each backbone, longer horizons (SciWorld, Alf-World) consume both more calls and more rounds.”
Quote in the paperNot a substantial claim - Findingown data
Validator analysis confirms that the gaps are mostly readout mismatches, not transition failures.
“Validator analysis (Appendix N) confirms that these are mostly readout mismatches, not transition failures.”
Quote in the paperSubstantial claim - Findingown data
Removing contrastive mining reduces validation F1 by 0.20 because the prompt loses coverage of rare action and outcome cases.
“The largest drop comes from removing contrastive mining, which reduces validation F1 by 0.20 because the prompt loses coverage of rare action and outcome cases.”
Quote in the paperSubstantial claim - Findingreasoning
Compact symbolic rules often miss renderer details such as identifiers, product lists, templates, or long API payloads.
“Its explicit action updates support planning, but compact rules often miss renderer details such as identifiers, product lists, templates, or long API payloads.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld induction averages 17.0-28.4 LLM calls and 300k-503k tokens per environment.
“The worldmodeling stage is more expensive than a single programgeneration pass because the LLM repeatedly reasons over validation failures and emits full candidate patches (averaging 17.0-28.4calls and 300k-503k tokens per environment).”
Quote in the paperNot a substantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual attains the highest code-based fidelity in the evaluation, with 0.69 macro Token F1.
“PatchWorld-Residual attains the highest code-based fidelity in our evaluation (0.69 macro Token F1), while PatchWorld-Simple attains the highest code-based planning utility (76.4% macro success, zero lookahead LLM calls), exposing a Pareto frontier grounded in value equivalence ( §3).”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Rests on an assumption: The seven evaluation environments are representative of the regimes relevant to executable world models.
- Findingown data
PatchWorld-Residual fixes the surface-form bottleneck.
“PatchWorld-Residual fixes this surface-form bottleneck.”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Removing contrastive mining reduces average validation Token F1 by 0.1976.
“-Contrastive mining 0.5287 -0.1976”
Quote in the paperSubstantial claim - Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual achieves 0.69 Token F1 at t=1 on AlfWorld.
“PatchWorld-Residual 0.69 0.62 0.58 0.57”
Quote in the paperNot a substantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
- Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
Removing residual memory reduces average validation Token F1 by 0.0953.
“-Residual memory | 0.6310 -0.0953”
Quote in the paperSubstantial claim - Interpretationreasoning
These prior approaches do not necessarily maintain the persistent belief state needed for multi-step simulation or planning.
“These approaches can be useful, but they do not necessarily maintain the persistent belief state needed for multi-step simulation or planning.”
Quote in the paperSubstantial claim - Premisecitation
World modeling is pulled between faithful reconstruction of future observations and downstream decisions through action-contrastive predictions.
“At a conceptual level, world modeling is pulled between two related but distinct goals.Some work emphasizes faithful reconstruction of future observations (Li et al., 2025;Fang et al., 2025), while other work emphasizes downstream decisions through action-contrastive predictions (Ha and Schmidhuber, 2018;Hafner et al., 2019;LeCun and Courant, 2022;Qiao et al., 2024).”
Quote in the paperSubstantial claim0 of 3 sources checked- cites Li et al., 2025
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites Fang et al., 2025
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites Ha and Schmidhuber, 2018
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationreasoning
The results do not measure transfer across tasks or domains because one model is induced per environment.
“We also induce one model per environment, so the results do not measure transfer across tasks or domains.”
Quote in the paperNot a substantial claim - Interpretationown data
PatchWorld-Simple can have correct task-relevant beliefs while underperforming on Token F1 and BLEU-4.
“Readout/rendering accounts for over half of post-repair errors on average and dominates AlfWorld, SciWorld, and Wordle, which is precisely the regime where PatchWorld-Simple can have correct task-relevant beliefs while underperforming on Token F1 and BLEU-4 in Section 5.2,”
Quote in the paperSubstantial claim - Interpretationown data
Executable belief state matters because it constrains how errors propagate, not only because it improves one-step prediction.
“This pattern supports the mechanism claim that executable belief state matters because it constrains how errors propagate, not only because it improves one-step prediction.”
Quote in the paperSubstantial claim - Interpretationnone given
Retaining both success-like and failure-like continuations per action type pushes the synthesized program toward conditional rules over memorized strings.
“Retaining both success-like and failure-like continuations per action type pushes the synthesized program toward conditional rules over memorized strings.”
Quote in the paperNot a substantial claim - Interpretationown data
One-step lookahead helps only once receptacle-state fidelity crosses a task-dependent threshold.
“Alf-World remains the main negative case, suggesting one-step lookahead helps only once receptaclestate fidelity crosses a task-dependent threshold.”
Quote in the paperSubstantial claim - Interpretationown data
The planning drop in Table 11 is not evidence that retrieval usually returns the exact same string for all candidates.
“Thus the planning drop in Table 11 is not evidence that retrieval usually returns the exact same string for all candidates.”
Quote in the paperSubstantial claim - Interpretationown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
The world-modeling stage is more expensive than a single program-generation pass because the LLM repeatedly reasons over validation failures and emits full candidate patches.
“The worldmodeling stage is more expensive than a single programgeneration pass because the LLM repeatedly reasons over validation failures and emits full candidate patches (averaging 17.0-28.4calls and 300k-503k tokens per environment).”
Quote in the paperNot a substantial claim - Interpretationnone given§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld turns offline trajectories into executable belief-state programs via counterexample-guided code repair.
“PatchWorld turns offline trajectories into executable belief-state programs via counterexampleguided code repair.”
Quote in the paperSubstantial claim - Interpretationown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld exposes a Pareto frontier grounded in value equivalence.
“PatchWorld-Residual attains the highest code-based fidelity in our evaluation (0.69 macro Token F1), while PatchWorld-Simple attains the highest code-based planning utility (76.4% macro success, zero lookahead LLM calls), exposing a Pareto frontier grounded in value equivalence ( §3).”
Quote in the paperSubstantial claim - Interpretationreasoning
World-model evaluation for agents needs a decision-facing axis in addition to observation-fidelity metrics.
“We therefore use the frontier not as a claim that retrieval always collapses text, but as evidence that world-model evaluation for agents needs a decision-facing axis in addition to observation-fidelity metrics.”
Quote in the paperSubstantial claim - Interpretationown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
PatchWorld-Residual closes the gap exactly where readout/rendering errors dominate.
“Typing postrepair counterexamples (Appendix N) shows readout/rendering causing 53% of residual errors on average, dominant on AlfWorld, SciWorld, and Wordle, exactly where PatchWorld-Residual closes the gap, while compound transition rules (recipes, multi-attribute filters) drive the residual on TextCraft and WebShop.”
Quote in the paperSubstantial claim - Interpretationown data
Coverage acts as a cheap pre-deployment predictor of which variant to prefer.
“Coverage thus acts as a cheap pre-deployment predictor of which variant to prefer.”
Quote in the paperSubstantial claim - Interpretationreasoning§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts
LLMs can serve as symbolic optimizers that produce inspectable, executable, and locally repairable world models rather than models implicit in weights.
“More broadly, LLMs can serve as symbolic optimizers that produce inspectable, executable, and locally repairable world models rather than models implicit in weights.”
Quote in the paperSubstantial claim - Interpretationreasoning
The symbolic core can be worse at rendering but better aligned with decision-relevant contrast.
“The symbolic core can be worse at rendering but better aligned with this decision-relevant contrast.”
Quote in the paperSubstantial claim - Interpretationreasoning
Under partial observability, finite logs can support exact replay without revealing the compact latent-state rules needed for generalization.
“Under partial observability, finite logs can support exact replay without revealing the compact latent-state rules needed for generalization (Section 3).”
Quote in the paperSubstantial claim- The authors state this as an assumption: Text-agent environments are modeled as POMDPs with the simulator's latent state and transition dynamics hidden from the agent.
- May combine two claims. 54
- The quote only partly states this claim. 4
- Classified as probably not a substantial claim. 14
May combine two claims.
Findingown dataReadout/rendering accounts for over half of post-repair errors on average and dominates AlfWorld, SciWorld, and Wordle.
“Readout/rendering accounts for over half of post-repair errors on average and dominates AlfWorld, SciWorld, and Wordle, which is precisely the regime where PatchWorld-Simple can have correct task-relevant beliefs while underperforming on Token F1 and BLEU-4 in Section 5.2,”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataPatchWorld-Simple is strong on Maze and BabyAI at short horizons but degrades faster on token metrics.
“PatchWorld-Simple is strong on Maze and BabyAI at short horizons but degrades faster on token metrics.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsTransition errors drive the residual on TextCraft (47%) and WebShop (44%).
“TextCraft | 5% | 47% | 32% | 16%”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“WebShop | 7% | 44% | 36% | 13%”
Quote in the paperNot a substantial claim- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
May combine two claims.
Findingown dataPatchWorld-Simple learns useful state updates, but its rendered text is often noncanonical.
“PatchWorld-Simple learns useful state updates, but its rendered text is often noncanonical.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataA five-seed check with Qwen3-Coder-480B gives 0.6942 ± 0.0192 Token F1 and 0.4991 ± 0.0231 BLEU-4, making the gap larger than the observed induction variance.
“A five-seed check with Qwen3-Coder-480B gives 0.6942 ± 0.0192 Token F1 and 0.4991 ± 0.0231 BLEU-4 (Appendix D), making the gap larger than the observed induction variance.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPatchWorld-Simple is ahead of PoE-World (69.3%) and WorldCoder (64.4%) by 7.1 and 12.0 pp.
“It is ahead of PoE-World (69.3%) and WorldCoder (64.4%) by 7.1 and 12.0 pp.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Residual has 5.7% identical planning steps, 4.87 unique predictions, and 0.44 pairwise distance.
“PatchWorld-Residual | 5.7 | 4.87 | 0.44”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataPatchWorld-Simple's AlfWorld score is below ReAct, mirroring the failure mode where under partial observability of receptacles, predicted observations omit objects and the reranker overrides correct defaults.
“Its AlfWorld score is below ReAct, mirroring the failure mode discussed in Section 5.4: under partial observability of receptacles, predicted observations omit objects and the reranker overrides correct defaults.”
Quote in the paperNot a substantial claimThe quote only partly states this claim.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsThe PatchWorld repair loop reduces replay errors by 11.8% total for DeepSeek-V4-Flash.
“DeepSeek-V4-Flash Total | 6132 | 5409 | 723 11.8%”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataThe validator surfaced a concrete counterexample: after move right, the ground truth moved the agent from (1, 2) to (1, 3) and reported a wall above, while the program predicted terminal Success or dropped the wall set.
“The validator surfaced a concrete counterexample: after move right, the ground truth moved the agent from (1, 2) to (1, 3) and reported a wall above, while the program predicted terminal Success or dropped the wall set.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataRepair and residual memory each add about 0.09 F1, but on different axes: repair improves both fidelity and planning, whereas residual memory mainly improves fidelity and can hurt planning.
“Repair and residual memory each add about 0.09 F1, but on different axes: repair improves both fidelity and planning, whereas residual memory mainly improves fidelity and can hurt planning (Section 5.4).”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPost-repair validation errors are 5% parser, 28% transition, 53% readout, and 14% unhandled on macro average.
“Macro | 5% | 28% | 53% | 14%”
Quote in the paperNot a substantial claimMay combine two claims.
FindingreasoningWorld-Coder retains an early-step advantage on TextCraft, consistent with the main-text observation that recipe-style deterministic dynamics already favor program induction.
“World-Coder retains an early-step advantage on TextCraft, consistent with the main-text observation that recipe-style deterministic dynamics already favor program induction.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Simple gives the best utility, while PatchWorld-Residual gives the best code-based fidelity.
“PatchWorld-Simple gives the best utility, while PatchWorld-Residual gives the best codebased fidelity.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsWord2World is more faithful but less useful for planning; WorldCoder and PoE-World are dominated.
“Word2World is more faithful but less useful for planning; WorldCoder and PoE-World are dominated.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataThe code-baseline gaps are larger than the standard deviations, while the difference between PatchWorld-Simple and LLM-Direct is small.
“The code-baseline gaps are larger than these standard deviations, while the difference between PatchWorld-Simple and LLM-Direct is small.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPatchWorld-Simple's macro lead is driven by WebShop (+2.5 over ReAct) and competitive performance on Maze and TextCraft.
“PatchWorld-Simple's macro lead is driven by WebShop (+2.5 over ReAct) and competitive performance on Maze and TextCraft.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPatchWorld-Residual has the best code-based macro score at every horizon, and PatchWorld-Simple remains competitive despite weaker surface text.
“As a result, PatchWorld-Residual has the best code-based macro score at every horizon, and PatchWorld-Simple remains competitive despite weaker surface text.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Residual achieves macro Token F1 of 0.69 at t=1, 0.64 at t=2, 0.60 at t=3, and 0.58 at t=5.
“PatchWorld-Residual (ours) 0.69 0.64 0.60 0.58”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
May combine two claims. The quote only partly states this claim.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Residual + Qwen3-Coder-480B achieves 0.718 Token F1, 0.527 BLEU-4, and 0.948 BERTScore-F1.
“PatchWorld-Residual + Qwen3-Coder-480B 0.718 0.527”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
May combine two claims.
Findingown dataThe validation gate provides a smaller gain in the aggregate table, but it keeps the search anchored to executable replay.
“The validation gate provides a smaller gain in this aggregate table, but it keeps the search anchored to executable replay.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsExact train-key residual coverage macro hit rate is 0.33, Hit F1 is 0.83, and All F1 is 0.32.
“Macro | 0.33 | 0.83 | 0.32”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataPatchWorld-Simple is competitive with the LLM-based planners ReAct (74.4%) and LLM-Direct (75.8%), showing that a local symbolic transition program can provide useful action-selection signal at zero lookahead-prediction LLM calls.
“It is also competitive with the LLM-based planners ReAct (74.4%) and LLM-Direct (75.8%), showing that a local symbolic transition program can provide useful action-selection signal at zero lookahead-prediction LLM calls (vs.63,897 tokens/task for LLM-Direct, Table 4).”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Simple has 6.4% identical planning steps, 4.73 unique predictions, and 0.42 pairwise distance.
“PatchWorld-Simple | 6.4 | 4.73 | 0.42”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataAcross all three backbones, PatchWorld-Residual is the best program-based predictor on macro Token F1 (0.69-0.70) and BLEU-4 (0.49-0.50), about 6 points above WorldCoder and PoE-World.
“Across all three backbones, it is the best program-based predictor on macro Token F1 (0.69-0.70) and BLEU-4 (0.49-0.50), about 6 points above WorldCoder and PoE-World.”
Quote in the paperSubstantial claimMay combine two claims.
FindingreasoningThe gap collapses on Maze and BabyAI and turns slightly negative on WebShop.
“The gap collapses on Maze and BabyAI (symbolic transition already covers surface variation) and turns slightly negative on WebShop (low coverage, browser fallback carries the load).”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPatchWorld-Residual does not produce more fully identical candidate observations than PatchWorld-Simple, and it is marginally higher on both distinct predictions and pairwise textual distance.
“PatchWorld-Residual does not produce more fully identical candidate observations than PatchWorld-Simple, and it is marginally higher on both distinct predictions and pairwise textual distance.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Residual (Qwen3-Coder-480B) achieves macro Token F1 0.6942 ± 0.0192 and BLEU-4 0.4991 ± 0.0231 on the held-out test set.
“Macro | 0.6942 ± 0.0192 0.4991 ± 0.0231”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataThe accepted patch tightened terminal parsing and preserved wall information for blocked moves, reducing the round's validation error count from 127 to 109.
“The accepted patch tightened terminal parsing and preserved wall information for blocked moves, reducing the round's validation error count from 127 to 109.”
Quote in the paperNot a substantial claimMay combine two claims. The quote only partly states this claim.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsPatchWorld-Residual + DeepSeek-V4-Flash achieves 0.728 Token F1, 0.519 BLEU-4, and 0.948 BERTScore-F1.
“PatchWorld-Residual + DeepSeek-V4-Flash 0.728 0.519”
Quote in the paperSubstantial claim- Rests on an assumption: Token F1 against gold next observation is a valid measure of world-model fidelity.
May combine two claims.
Findingown dataPatchWorld-Residual is the best code-based predictor, while PatchWorld-Simple is the best code-based planner.
“PatchWorld-Residual is the best code-based predictor, while PatchWorld-Simple is the best code-based planner.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataThe largest gains are WebShop (+2.5 over ReAct, +12.5 over PoE-World) and TextCraft (+2.0, +25.1), where symbolic updates help the selector avoid infeasible actions.
“The largest gains are WebShop (+2.5 over ReAct, +12.5 over PoE-World) and TextCraft (+2.0, +25.1),where symbolic updates help the selector avoid infeasible actions.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataPatchWorld-Residual is uniformly best on Maze, AlfWorld, and Wordle, tasks where templated readouts dominate, and matches or leads at long horizons on SciWorld and WebShop.
“PatchWorld-Residual is uniformly best on Maze, AlfWorld, and Wordle, tasks where templated readouts dominate, and matches or leads at long horizons on SciWorld and WebShop.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown data§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsReadout errors are dominant on AlfWorld (63%), SciWorld (58%), and Wordle (75%).
“AlfWorld | 6% | 18% | 63% | 13%”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“SciWorld | 9% | 20% | 58% | 13%”
- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
“Wordle | 3% | 12% | 75% | 10%”
Quote in the paperNot a substantial claim- Also stated in: § Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(parts · plain
May combine two claims.
Findingown dataPatchWorld shifts cost from inference to offline induction: validation and repair average 17-28 LLM calls per environment, reducing replay error by 12-79%.
“PatchWorld shifts cost from inference to offline induction: validation and repair average 17-28 LLM calls per environment, reducing replay error by 12-79% (Appendix M).”
Quote in the paperSubstantial claimMay combine two claims.
PremisecitationPrior text-environment world models often sidestep hidden state by predicting the next observation from recent history or by distilling trajectory knowledge into parametric planning aids.
“Prior text-environment world models often sidestep this hidden state by predicting the next observation from recent history (Li et al., 2025;Fang et al., 2025) or by distilling trajectory knowledge into parametric planning aids (Qiao et al., 2024).”
Quote in the paperSubstantial claim0 of 3 sources checked- cites Li et al., 2025
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites Fang et al., 2025
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites Qiao et al., 2024
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
May combine two claims.
InterpretationreasoningUnder partial observability, a trajectory log can be reproduced by many executable programs, so code induction is underdetermined.
“This hidden state also makes code induction un-derdetermined.This means that trajectory log can be reproduced by many executable programs, ranging from a lookup table that memorizes every observed transition to a compact stateful program that infers latent variables and generalizes to unseen inputs.”
Quote in the paperSubstantial claim- The authors state this as an assumption: Text-agent environments are modeled as POMDPs with the simulator's latent state and transition dynamics hidden from the agent.
May combine two claims.
Interpretationown dataUnder partial observability, a model can recover surface text while offering weak action guidance, or miss exact renderings while preserving useful transition structure.
“Under partial observability, a model can recover surface text while offering weak action guidance, or miss exact renderings while preserving useful transition structure (Figure 3).”
Quote in the paperSubstantial claim- The authors state this as an assumption: Text-agent environments are modeled as POMDPs with the simulator's latent state and transition dynamics hidden from the agent.
May combine two claims.
InterpretationreasoningBecause trajectories alone cannot distinguish memorization from structure, the learner needs an inductive bias toward programs that explain the data through compact latent state.
“Because the trajectories alone cannot distinguish memorization from structure, the learner needs an inductive bias toward programs that explain the data through compact latent state.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims. The quote only partly states this claim.
Study design and conductnone given§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsThe train split is used for both PatchWorld induction and Word2World fine-tuning; the validation split is used for hyperparameter selection and as the source of PatchWorld repair feedback; the test split is held out for all reported metrics.
“The train split is used for both PatchWorld induction and Word2World fine-tuning; the validation split is used for hyperparameter selection and as the source of PatchWorld repair feedback; the test split is held out for all reported metrics.”
Quote in the paperSubstantial claim- Rests on an assumption: The validation split is representative enough for hyperparameter selection and repair feedback to generalize to the held-out test split.
May combine two claims.
Interpretationnone givenIf H has no contradictory history and action pairs, zero loss on Eq. (5) is achievable by a lookup table over prefix-action keys, feasible but non-generalizing.
“(1) Existence: if H has no contradictory history and action pairs, zero loss on Eq. ( 5) is achievable by a lookup table over prefix-action keys, feasible but non-generalizing.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Study design and conductnone given§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsThe PatchWorld-Residual index is built only from train transitions to avoid leakage.
“The PatchWorld-Residual index is built only from train transitions to avoid leakage.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningImproving observation fidelity can come at the expense of action-discriminative dynamics, and vice versa.
“This exposes a tradeoff in executable world models, since improving observation fidelity can come at the expense of action-discriminative dynamics, and vice versa.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims.
Study design and conductnone givenInduction uses train; repair uses validation when available, else train; test is held out.
“Induction uses train; repair uses validation when available, else train; test is held out.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Study design and conductown data§ Update belief from text.def correct_belief(self, state, obs: str) -> State: ... # Apply action dynamics.def predict_belief(self, state, action: str) -> State: ... # Render next observation.def readout_observation(self, state, action: str) -> str: ... # Expose valid action forms.def extract_valid_action_forms(self) -> list[str]: ... is blocked"), giving the LLM higher-level guidance than raw cases alone; PRIORITIZE(E) ranks counterexamples by severity (execution and parsing errors before semantic mismatches), then by frequency of the underlying signature, so that the 16 examples shown in the prompt cover the mostimpactful and most-representative failures rather than the first 16 in iteration order.Each repair prompt contains the current program, the diagnostic, the top-16 counterexamples (input, expected, actual), and the fixed interface guidance; the LLM emits a complete replacement module.We sample C independently decoded candidates per round and accept at most one: the candidate that improves the lexicographic replay score Score(c; B), which orders programs by aggregate failure severity, number of counterexamples, then replay loss.This hill-climbing gate rejects patches that fix displayed counterexamples but regress on broader replay.PatchWorld samples C independently decoded candidates per round and accepts at most one: the candidate that improves the lexicographic replay score.
“We sample C independently decoded candidates per round and accept at most one: the candidate that improves the lexicographic replay score Score(c; B), which orders programs by aggregate failure severity, number of counterexamples, then replay loss.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Study design and conductnone givenTrajectories are split 60/20/20 by instance ID, keeping all rollouts from an instance in the same train, validation, or test split.
“Trajectories are collected with a Qwen3-Coder-480B-A35B-Instruct ReAct agent 1 and split 60/20/20 by instance ID, keeping all rollouts from an instance in the same train, validation, or test split.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims.
Premisecitation§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsWorldCoder and PoE-World are program-induction baselines.
“WorldCoder (Tang et al., 2024) and PoE-World (Piriyakulkij et al., 2025) are program-induction baselines; and ReAct (Yao et al., 2023) is used only in planning.”
Quote in the paperSubstantial claim0 of 2 sources checked- cites Tang et al., 2024
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites Piriyakulkij et al., 2025
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
May combine two claims.
Interpretationown dataThe residual memory is high precision but not high coverage.
“The residual is therefore high precision but not high coverage.”
Quote in the paperSubstantial claim- Rests on an assumption: The residual memory's exact normalized observation and action key matching is a valid diagnostic of coverage.
Classified as probably not a substantial claim.
Study design and conductreasoningTrajectories were split 60/20/20 by instance ID (not by transition or rollout) into train, validation, and test, which prevents instance-level overlap between splits.
“Trajectories are collected with a Qwen3-Coder-480B-A35B-Instruct ReAct agent and split 60/20/20 by instance ID (not by transition or rollout) into train, validation, and test.”
- Also stated in: § C Dataset Statistics · plain
“This keeps repeated rollouts from the same task instance in one split and prevents instance-level overlap between”
Quote in the paperSubstantial claim- Also stated in: § C Dataset Statistics · plain
May combine two claims.
InterpretationcitationPerfect replay does not imply correct latent structure; multiple compact programs can agree on logged transitions yet diverge on unseen prefix-action combinations.
“(2) Non-identifiability: perfect replay does not imply correct latent structure; multiple compact programs can agree on logged transitions yet diverge on unseen prefix-action combinations (Kaelbling et al., 1998).”
Quote in the paperSubstantial claim0 of 1 sources checked- cites Kaelbling et al., 1998
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
May combine two claims.
Interpretationnone givenThe benchmark is limited to language-based environments, and interpretability claims rely on inspectable programs and execution diagnostics rather than user studies.
“Finally, the benchmark is limited to language-based environments, and our interpretability claims rely on inspectable programs and execution diagnostics rather than user studies.”
Quote in the paperNot a substantial claimMay combine two claims.
Interpretationown dataToken-level fidelity rewards the residual for reproducing simulator language; raw pairwise distance confirms that the residual still produces diverse strings; planning utility requires that those differences encode the counterfactual consequences of the candidate actions.
“Token-level fidelity rewards the residual for reproducing simulator language; raw pairwise distance confirms that the residual still produces diverse strings; planning utility requires a stricter property, namely that those differences encode the counterfactual consequences of the candidate actions.”
Quote in the paperSubstantial claimMay combine two claims.
Interpretationown dataPatchWorld-Residual improves rendering for recurring, unambiguous surface patterns while still relying on the executable program for most held-out transitions.
“In practice, PatchWorld-Residual improves rendering for recurring, unambiguous surface patterns while still relying on the executable program for most held-out transitions.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductnone givenValidation still runs on the full replay set.
“Validation still runs on the full replay set.”
Quote in the paperNot a substantial claimMay combine two claims.
Interpretationown dataThe results support the split between surface fidelity and utility, since PatchWorld-Simple's symbolic state remains useful but its rendered text drifts from simulator templates.
“This supports the split between surface fidelity and utility, since its symbolic state remains useful (as Section 5.4 confirms), but its rendered text drifts from simulator templates.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductnone givenPatchWorld accepts a patch only when the patch improves formal replay score on the full validation set, preventing the regression problem that plagues unconstrained self-correction.
“it accepts a patch only when the patch improves formal replay score on the full validation set, preventing the regression problem that plagues unconstrained self-correction.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductown dataThe induced programs and residual indices were persisted on disk, allowing deterministic replay of test-time predictions with no new LLM calls, and Token F1 / BLEU-4 matched saved aggregates exactly on 33/35 (cell, env) cells.
“The induced programs and residual indices are persisted on disk, so we replay test-time predictions deterministically with no new LLM calls and recover Token F1 / BLEU-4 matching the saved aggregates exactly on 33/35 (cell, env) cells (the remaining two differ by ≤ 0.04 due to seed-dependent Wordle belief initialization).”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductnone given§ Check for desk-specific observation desk_match = re.search(r"Youarrive at ([^\.]+)\.On the ([^,]+), you see (.+)", obs_text) if desk_match: parsed["location"] = desk_match.group(1)objects_str = desk_match.group(3)if objects_str != "nothing": object_list = objects_str.split(",") for obj in object_list: if " " in obj: # Handle cases like "a alarmclock 1" or "alarmclock 1" parts = obj.replace("a", "").strip().split("") if len(parts) >= 2: obj_name = " ".join(partsAll code-induction methods share the same splits, backbone per row, and per-environment LLM budget caps.
“All code-induction methods share the same splits, backbone per row, and per-environment LLM budget caps; PatchWorld uses contrastive caps k=5, m=60.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Study design and conductreasoning§ Update belief from text.def correct_belief(self, state, obs: str) -> State: ... # Apply action dynamics.def predict_belief(self, state, action: str) -> State: ... # Render next observation.def readout_observation(self, state, action: str) -> str: ... # Expose valid action forms.def extract_valid_action_forms(self) -> list[str]: ... is blocked"), giving the LLM higher-level guidance than raw cases alone; PRIORITIZE(E) ranks counterexamples by severity (execution and parsing errors before semantic mismatches), then by frequency of the underlying signature, so that the 16 examples shown in the prompt cover the mostimpactful and most-representative failures rather than the first 16 in iteration order.Each repair prompt contains the current program, the diagnostic, the top-16 counterexamples (input, expected, actual), and the fixed interface guidance; the LLM emits a complete replacement module.We sample C independently decoded candidates per round and accept at most one: the candidate that improves the lexicographic replay score Score(c; B), which orders programs by aggregate failure severity, number of counterexamples, then replay loss.This hill-climbing gate rejects patches that fix displayed counterexamples but regress on broader replay.The hill-climbing gate rejects patches that fix displayed counterexamples but regress on broader replay.
“This hill-climbing gate rejects patches that fix displayed counterexamples but regress on broader replay.”
Quote in the paperSubstantial claimMay combine two claims.
Interpretationown dataPatchWorld-Residual's lower planning score relative to PatchWorld-Simple motivates the contrast diagnostic, and higher token-level fidelity does not by itself guarantee that the lookahead text encodes the distinctions needed for action selection.
“PatchWorld-Residual's lower planning score relative to PatchWorld-Simple motivates the contrast diagnostic in Appendix K: higher token-level fidelity does not by itself guarantee that the lookahead text encodes the distinctions needed for action selection.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningPatchWorld-Residual improves macro Token F1 (0.69 vs. 0.57) but lowers planning success (72.9 vs. 76.4), because the planner needs action-relevant contrast about what becomes reachable or feasible.
“PatchWorld-Residual improves macro Token F1 (0.69 vs. 0.57) but lowers planning success (72.9 vs. 76.4), because the planner needs action-relevant contrast about what becomes reachable or feasible.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductreasoningThe residual memory is train-only, and conflicting keys are rejected by default (τ = 1), avoiding hidden-state aliases.
“Two safeguards prevent leakage: the memory is trainonly, and conflicting keys are rejected by default (τ = 1), avoiding hidden-state aliases such as identical Wordle observations with different target words.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductnone givenFor each environment and backbone, one model is induced with fixed repair hyperparameters; the PatchWorld-Residual index is train-only.
“For each environment and backbone, we induce one model with fixed repair hyperparameters; the PatchWorld-Residual index is train-only.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Study design and conductnone givenAll methods are fit on the same train split and evaluated on the same test split.
“All methods are fit on the same train split and evaluated on the same test split.”
Quote in the paperSubstantial claim
The authors state this as an assumption.
Text-agent environments are modeled as POMDPs with the simulator's latent state and transition dynamics hidden from the agent.
“Text-agent environments are typically modeled as partially observable Markov decision processes (POMDPs), assuming that the simulator's latent state and transition dynamics are hidden from the agent.”
The authors state this as an assumption.
The learner sees neither the latent state nor the transition kernel, only offline trajectories and an optional environment description.
“The learner sees neither s t nor T , only offline trajectories H = {(o 0 , a 0 , . . ., a T -1 , o T )} and an optional description E.”
The paper relies on this without support.
The LLM's code prior provides a useful inductive bias for program search.
“(3) Inductive bias: PatchWorld biases search via the LLM's code prior, counterexample-guided repair that rewards”
The paper relies on this without support.
The environments' dynamics can be adequately captured by executable programs.
“Overall framework of PatchWorld for generative optimization of executable world models and their subsequent repair and evaluation.”
The paper relies on this without support.
The Qwen3-Coder-480B-A35B-Instruct ReAct agent's trajectories are representative of the environments' state-action space.
“Trajectories are collected with a Qwen3-Coder-480B-A35B-Instruct ReAct agent and split 60/20/20 by instance ID (not by transition or rollout) into train, validation, and test.”
The paper relies on this without support.
The validator's strict round-trip criterion is a valid measure of world model correctness.
“Third, no environment under any backbone reaches exact convergence within R=15, consistent with the validator's strict round-trip criterion and the readout-dominated error mix in Table 16.”
The paper relies on this without support.
Token F1 and BLEU-4 are appropriate primary fidelity metrics for agent world models.
“We therefore keep Token F1 and BLEU-4 as primary fidelity metrics in the main text.”
The paper relies on this without support.
The residual memory's exact normalized observation and action key matching is a valid diagnostic of coverage.
“To separate the symbolic program from the trainonly residual, Table 9 reports how often an exact normalized observation and action key from train appears in the held-out test transitions.”
The paper relies on this without support.
Token F1 against gold next observation is a valid measure of world-model fidelity.
“Macro-average rollout Token F1, unweighted over the seven environments.”
The paper relies on this without support.
The seven evaluation environments are representative of the regimes relevant to executable world models.
“Environment regimes for deterministic codebased prediction.”
The paper relies on this without support.
The validation split is representative enough for hyperparameter selection and repair feedback to generalize to the held-out test split.
“The train split is used for both PatchWorld induction and Word2World fine-tuning; the validation split is used for hyperparameter selection and as the source of PatchWorld repair feedback; the test split is held out for all reported metrics.”
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
Each contradiction between two passages listed here was confirmed by an independent check.
Repair reductions are not at least 65% in every environment
MajorAppendix M claims reductions of at least 65% for every environment under Qwen3-Coder-480B and Mimo-v2.5. Table 15 reports just 6.1% for Qwen3-Coder-480B on Wordle; it also reports 0.0% for Mimo-v2.5 on WebShop.
“Second, ∆Err is large and stable for Qwen3-Coder-480B and Mimo-v2.5 (≥ 65% on every environment)”
“| Qwen3-Coder-480B Wordle | 475 | 446 | 29 6.1% | |”
Residual does not match or lead WebShop rollouts at long horizons
MinorAppendix G says PatchWorld-Residual matches or leads on WebShop at long horizons. Table 10 instead shows WorldCoder ahead at t=3 (0.52 versus 0.46) and t=5 (0.50 versus 0.45).
“and matches or leads at long horizons on SciWorld and WebShop.”
“| | WorldCoder | 0.58 0.55 0.52 0.50 | | WebShop | PoE-World PatchWorld-Simple | 0.58 0.52 0.46 0.43 0.53 0.46 0.38 0.36 | | | PatchWorld-Residual 0.50 0.48 0.46 0.45 | |”
Cites
The publisher hasn’t deposited this paper’s reference list.
Research works printed but not linked: 14
- Marwa Abdulhai, Isadora White, Charlie Victor Snell, Charles Sun, Joey Hong, Yuexiang Zhai, Kelvin Xu, and Sergey Levine. 2025. LMRL gym: Benchmarks for multi-turn reinforcement learning with language models. In Forty-second International Conference on Machine Learning.
- Jiaxin Bai, Yicheng Wang, Tianshi Zheng, Yue Guo, Xin Liu, and Yangqiu Song. 2024. Advancing abduc- tive reasoning in knowledge graphs through complex logical hypothesis generation. In Proceedings of the 62nd Annual Meeting of the Association for Compu- tational Linguistics (Volume 1: Long Papers), ACL 2024, Bangkok, Thailand, August 11-16, 2024, pages 1312-1329. Association for Computational Linguis- tics. · DOI
- Marc G. Bellemare, Yavar Naddaf, Joel Veness, and Michael Bowling. 2015. The arcade learning envi- ronment: An evaluation platform for general agents (extended abstract). In Proceedings of the Twenty- Fourth International Joint Conference on Artificial Intelligence, IJCAI 2015, Buenos Aires, Argentina, July 25-31, 2015, pages 4148-4152. AAAI Press.
- Maxime Chevalier-Boisvert, Dzmitry Bahdanau, Salem Lahlou, Lucas Willems, Chitwan Saharia, Thien Huu Nguyen, and Yoshua Bengio. 2019. BabyAI: First steps towards grounded language learning with a hu- man in the loop. In International Conference on Learning Representations.
- Tianqing Fang, Hongming Zhang, Zhisong Zhang, Kaixin Ma, Wenhao Yu, Haitao Mi, and Dong Yu. 2025. WebEvolver: Enhancing web agent self- improvement with co-evolving world model. In Pro- ceedings of the 2025 Conference on Empirical Meth- ods in Natural Language Processing, pages 8959- 8975, Suzhou, China. Association for Computational Linguistics. · DOI
- Christopher Grimm, André Barreto, Satinder Singh, and David Silver. 2020. The value equivalence principle for model-based reinforcement learning. Advances in neural information processing systems, 33:5541- 5552.
- Mengkang Hu, Tianxing Chen, Yude Zou, Yuheng Lei, Qiguang Chen, Ming Li, Yao Mu, Hongyuan Zhang, Wenqi Shao, and Ping Luo. 2025. Text2World: Benchmarking large language models for symbolic world model generation. In Findings of the Asso- ciation for Computational Linguistics: ACL 2025, pages 26043-26066, Vienna, Austria. Association for Computational Linguistics. · DOI
- Nan Rosemary Ke, Amanpreet Singh, Ahmed Touati, Anirudh Goyal, Yoshua Bengio, Devi Parikh, and Dhruv Batra. 2019. Modeling the long term future in model-based reinforcement learning. In Interna- tional Conference on Learning Representations.
- Zaid Khan, Archiki Prasad, Elias Stengel-Eskin, Jaemin Cho, and Mohit Bansal. 2026. One life to learn: In- ferring symbolic world models for stochastic environ- ments from unguided exploration. In The Fourteenth International Conference on Learning Representa- tions.
- Jeonghye Kim, Sojeong Rhee, Minbeom Kim, Dohyung Kim, Sangmook Lee, Youngchul Sung, and Kyomin Jung. 2025. ReflAct: World-grounded decision mak- ing in LLM agents via goal-state reflection. In Pro- ceedings of the 2025 Conference on Empirical Meth- ods in Natural Language Processing, pages 33433- 33465, Suzhou, China. Association for Computa- tional Linguistics. · DOI
- Minsoo Kim and Seung-won Hwang. 2025. CoEx - co-evolving world-model and exploration. In Find- ings of the Association for Computational Linguistics: EMNLP 2025, pages 21629-21651, Suzhou, China. Association for Computational Linguistics. · DOI
- Pat Langley. 1987. Scientific discovery: Computational explorations of the creative processes. MIT press.
- Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik R Narasimhan, and Yuan Cao. 2023. React: Synergizing reasoning and acting in language models. In The Eleventh International Conference on Learning Representations.
- Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, and Yoav Artzi. 2020. BERTScore: Evaluating text generation with BERT. In Interna- tional Conference on Learning Representations.
Cited by
Still being checked.
- Authors
- Bai, J., Guo, Y., Dong, Y., Xiong, J., Zheng, T., Li, Y., Fang, T., Li, Y., Gao, Y., Huang, H., Xie, Z., Tsang, H. T., Wang, Z., Liu, L., Pan, J. Z., & Song, Y.
- Affiliations
- Hong Kong Baptist University (HK)
- Hong Kong University of Science and Technology (HK)
- Beijing Institute of Technology (CN)
- Wayne State University (US)
- University of Edinburgh (GB)
- Venue
- arXiv
- Publisher
- arXiv
- Published
- 2026
- ISSN
- 2331-8422 (ISSN-L)
- arXiv
- 2605.30880
- OpenAlex
- W7163062575
- Cited by
- 0
- References
- 0
- Type
- posted content
- Language
- en
- Open access
- green
- arxiv.org
- Licence
- Locations
- arXiv (Cornell University) (submittedVersion, cc-by)
- arXiv (Cornell University) (cc-by)
- Topics
- Physical Sciences › Computer Science › Artificial Intelligence › Reinforcement Learning in Robotics
- Physical Sciences › Computer Science › Artificial Intelligence › AI-based Problem Solving and Planning
- Physical Sciences › Computer Science › Artificial Intelligence › Artificial Intelligence in Games
- Keywords
- world models, derivative-free optimization, agent decision-making
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Claims read by deepseek-v4.1-flash under definition version 3 (extract-v3) on 2026-11-05.
Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-11-05.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review