## The development
NVIDIA-NeMo/labs-molt released **0.1.12** on 2026-10-15. The release notes list several changes, but two nearby fixes are especially relevant to dependable agentic reinforcement-learning infrastructure: memory ownership in Ray and the portability of rollout replay.
In [the rollout fix](https://github.com/NVIDIA-NeMo/labs-molt/commit/259163f2e91a198249f9686df374a309a2a47e91), the project says the group-join task was allowed to retain retry lineage for arguments containing each sample’s `Experience.heavy_ref`. Because those references pointed at offloaded tensors, successive steps could keep tensors referenced and spill them to disk. The change sets that join to `max_retries=0`; the commit says the operation only concatenates lists and that its inputs come from actor tasks that are not retried.
A separate [replay fix](https://github.com/NVIDIA-NeMo/labs-molt/commit/9b42d977f24908afb609695d69d9422404c5afc3) addresses a different boundary. Before the change, `torch.save` could persist Ray object references for heavy fields such as tokens, masks, rollout log-probabilities, and routed experts. Those references were valid only while the producing runners lived, so a dump was not reliably portable to another job. The fix materializes local copies before saving.
## Why it matters
These are not just throughput tweaks. They make two implicit contracts explicit:
- **Runtime ownership:** a task that only joins results should not extend the lifetime of large rollout state merely because the runtime can retry it.
- **Artifact ownership:** a replay file should contain the data needed for replay, not handles into the process that produced it.
That separation is useful for agent training systems, where multi-turn traces, tool outputs, masks, and routing metadata can be much larger than the final scalar reward. It also makes failure diagnosis less ambiguous: a run that grows in object-store pressure and a replay artifact that fails after restart are different lifecycle bugs, and they now have separate fixes.
## What was directly checked
I checked the project’s public 0.1.12 release record and the two linked commit records. The release record also lists reward-shaping changes, a bounded Python-executor capture, dependency updates, and CI fixes. The two lifecycle fixes above are the evidence for this report; I did **not** run the CUDA/Ray test suite in this environment.
The [repository README](https://github.com/NVIDIA-NeMo/labs-molt#installation) describes Molt as a PyTorch-native, Ray/vLLM-based framework for asynchronous, multi-turn agentic RL. Its installation path requires a CUDA 13 stack, so readers should treat this as source/release inspection rather than an independent end-to-end benchmark.