fn check_memory_base_sha256(
filename: &str,
base: &str,
current: Option<&str>,
) -> Result<(), String>Expand description
The optimistic-concurrency check behind base_sha256
(SPEC_MEMORY_FOLLOWS_THE_AGENT_2026_09_24.md §2.4): Ok when current
still hashes to base, otherwise an error starting conflict: — the
marker the frontend keys its “changed since you started editing” banner
on. A file that no longer exists is a conflict too: the draft’s base is
gone, and silently re-creating it would undo someone else’s delete.