e86a6ede24
A request the provider rejects (e.g. 413 oversized payload) yields a synthesized assistant turn with empty content and stopReason 'error'. That turn is written to session.jsonl, so on reload it replays as an empty assistant turn and re-sends the same rejected context. Keep the rejection UI-only (pinned error) and out of persisted history so a reloaded session resumes from the last good turn.