Reproduced on Linux with current main a12d6ed942, using vp run dev --no-seed and the web client. A normal Codex turn completed. With a malformed running turn-item payload injected when the next message committed, provider-turn.start exhausted all five attempts; the effect became failed, the run stayed starting, and no error item was written.
Runtime transcript. If the malformed item exists before server startup, recovery fails earlier and the server exits; the reproduction above injects it after startup.