Fresh step invocation is limited to provider terminated/connection plus a missing target, or an explicit runner failure. A deliverable already on disk is accepted and never overwritten. Co-authored-by: Cursor <cursoragent@cursor.com>