Issue: confirming a draft save in an event-description editor Problem: the first save response marks the entire screen saved even though more text was entered while waiting. Purpose: distinguish confirmed content from current input, support departure decisions and prevent silent overwrites from another tab. Scope: fictional editor, title and body, explicit draft saving. Attachments, publication approval, live co-editing and persistent device drafts are excluded. Request: freeze the content sent when Save is pressed. Keep editing available, allow only one in-flight save per tab, and do not overlap a new save before the previous outcome is resolved. Success: require confirmation for the current document and editing instance, then compare the confirmed content with current input. Mark Saved only when they match. Later edits remain unsaved. Ignore responses for other documents or old editing instances. Version: atomically check the previously read server version and perform the write. Apply the same protection to every writer, including other tabs and admin tools. A confirmed earlier save supplies the base version for the next request without marking later typing saved. Unknown/rejected: a timeout does not prove failure. Retain input and check evidence for that request plus the latest server copy. One read does not prove a pending write has ended. Keep Unknown if evidence is insufficient. A confirmed rejection identifies the field or condition to correct. Conflict: retain local input while comparing with the latest server copy. Require an explicit content choice, then save against that version. Compare again if another change intervenes. No unconditional overwrite shortcut. Departure/accessibility: confirm internal navigation while dirty, saving, unknown or conflicting. Save and leave waits for confirmed success. Browser exit warnings do not guarantee recovery after force closing. Provide readable status text that assistive technology can announce without moving focus. Roles: planning defines scope/states/messages; engineering verifies all write paths and outcome evidence; QA controls response/order/race conditions; support distinguishes a confirmed copy from unknown results. Release evidence: path inventory, state specification, decision record, ordered QA results, supported browser/assistive-technology checks and support handoff. Log necessary request references, times and results rather than collecting article bodies by default. Limit: these are design and acceptance criteria. Fill actual integration results separately. Saved means this screen content was confirmed at that point; it does not prevent a later edit by another user. Save and leave: immediately before navigation, compare the latest input in the current document/editing instance with the server-confirmed saved copy. Later typing means the first success must not navigate: retain the input and its unsaved state. The user chooses Save and leave again and waits for confirmation of the latest content. Further typing keeps the editor open again. Explicit discarding is a separate action.