changelog.d/5114-native-read-revoked-terminal.md
Rama main · réplica de lectura del repositorio original.
- **Word and Sheet: the native save lifecycle treats read loss as terminal (#4721).** This hardens an internal contract and does not fix a reachable user-facing leak. The shipped native client reports every 401/403 as `write_revoked` and never raises `read_revoked`, so read loss reaches the editor only from the host (the `session_retired` purge event or proven read loss), which already erased the draft. When a `read_revoked` refusal does reach the save lifecycle, it is now handled ahead of a write retirement that is still pending, so that retirement does not report the draft as captured. The lifecycle ends in its own `revoked` state, and a pending Ctrl+S or flush fails with `read_revoked`.