- _ensure_restorable_state now sets last_restore_succeeded=False before
raising, matching the runtime path, so streaming callers failing in the
pre-check see the miss signal instead of None or a stale True.
- stream_events/astream validate the from_checkpoint/restore_from_state_id
mutual exclusion before the strict restore pre-check, so the conflict
ValueError wins over the restore-miss one (matching non-streaming
precedence). Conflict check extracted to _check_restore_conflict and
reused by kickoff/kickoff_async.
- Failing-first tests for the stale signal (incl. prior-success staleness
and no-persistence path) and for conflict precedence on both stream
entry points.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>