09db8eb0cd
#257 restored a stale message whenever the mode after a key equalled the mode before it. Editing and RecordsEditing commit with CommitAndAdvance, which re-opens an equal AppMode on the next cell. So the message followed the editor from cell to cell until Esc. The reviewer's repro was R, o, 5, Tab: "Added new record row", or o's "That record row is already here" refusal, survived the Tab. press now compares an EditorSession, made of the things an opening sets: - the whole AppMode, not its variant; - the cursor cell, which is a cell editor's target; - the editor's seed, which EnterEditAtCursor re-seeds from the cell, so a commit that re-opens on the same cell (Tab in the last column) is new. A generation counter was rejected: editors are opened by more than one effect, and a counter in each is a hand-kept list. The view was left out: no minibuffer key can switch it and stay. Tests: - four press scenarios: the two records repros, Enter in a plain grid, and Tab in the last column; - a direct check that ItemAdd on another category is another editor. Rivals: mode-only (#257 as pushed), no cell, no seed and discriminant each fail a distinct step. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze