Report and retry checkpoints whose finalize write fails
main·
Commit
A checkpoint whose write failed inside the finalize loop was only counted
as an error. Finalize then cleared every TurnCheckpointID, so that
checkpoint kept its provisional transcript, no later Stop retried it, and
entire status showed nothing.
The write loop now returns the IDs whose write failed. Finalize keeps them, together with any the deadline cut off, and sets CaptureDegradedAt, so a repeated Stop in the same turn retries them. An ID that is not a valid checkpoint ID is still reported but not kept, since no retry can write it.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M63Q7RMYK8CCYYZHX916XJFA