Skip to content

Draft workspace: keep the losing writer's text visible after a stale-save reload #34

Description

@TusanHomichi

Problem or outcome

When two contributors edit the same daily draft, the revision contract refuses the losing save as stale_save and the workspace visibly reloads the winning content — correct per ADR 0008 (one working copy, never a silent overwrite). But the losing writer's divergent text is simply gone from the screen at that point. Anything they had typed since the winning save exists nowhere they can reach, which turns an honest concurrency refusal into lost work.

Outcome: after a stale-save reload, the refused buffer stays available read-only — for example a collapsed "Your unsaved text from before the reload" section per edited field, copyable, discarded on navigation. The writer merges by hand; the system never merges.

Scope

Acceptance criteria

  • After a stale-save reload, the writer can see and copy the text of their refused buffer where it differed from the reloaded content
  • The preserved buffer never persists anywhere (component state only) and clears on navigation
  • e2e: two-writer race where the loser recovers their sentence by copy after the reload
  • All repository gates green

Low priority — a usability nicety on a correct contract, noted during the Milestone 3 slice-3 review.

Related roadmap, decisions, or issues

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions