7bf8debd12
resolve.rs::written read its operands at Enter: the record and measure from the cell under the cursor, and the basis from claim(), i.e. the version current at commit. So a HideItem from another client that renumbered the rows under an open editor sent the write to whichever cell the cursor then named (8xq0), and a write by another client to the record while the editor was open was silently overwritten instead of refused RecordMoved (xz2z, 0j0f's rule on the keyboard door). The fix reuses #221's capture rather than adding a second one. ClientState::opened becomes OpenedCell { record, target, version, document_generation }, where OpenedTarget is Value { measure } or Coordinate { category }. settle_opened captures a Record cell as a Value target, and written builds the RecordCell and the claim_as_read basis from it. With no capture while the host has yet to answer this client's own last write, the commit declines with the rename's "still waiting" status. Red first: both round-trip probes failed on gh/main202e7eacand on #221's head39821d5f. Unit-test fixtures that set Editing by assignment now open the editor through the fold, which is where the capture is taken. Stacked on #221 (fix/fdk1-coordinate-rename). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze