# Paste evidence driver history

The final scenario uses one replay-seeded thread and a fresh server database per commit. Every sample starts with Select All / Backspace and an empty-text check. A blurred paste clicks the conversation background with pointer input, verifies the active element is outside the editor, then dispatches the ClipboardEvent on document.body. Focused paste dispatches on the editor. The clipboard payload is synthetic text/plain, preserving exact CR and LF bytes.

A read-only observation panel displays JSON-escaped DOM paragraph text and code-fence text. It does not modify the editor or its state. Its caret indices are the actual DOM selection's paragraph after each arrow. All seven cases are captured before the final assertions, so base failure cannot skip code-fence inspection.

- Attempt 1 did not exercise paste: the thread-title text locator was obstructed by its containing sidebar row. The head collection also caught a syntax error introduced while changing the background click to pointer input. Neither is behavioral evidence.
- Attempt 2 selected the sidebar row button and used pointer input for blur. It completed all seven captures on both sides. Base had raw CR in both focused and blurred paragraphs, standalone CR in one paragraph, and raw CR in the fence. Head had normalized paragraphs and fence text. Its final caret assertion failed because an immediate Up after paste-to-focus starts differently from an already-focused editor: the LF control had the same [2,1,2,2] sequence as CRLF and CR. This was a driver starting-position assumption, not retained text or a failed empty-composer reset.
- Attempt 3 preserves the same sample bytes, empty-composer guard, paragraph assertion, fence assertion and expected arrow sequence. It waits for editor focus and sends Control/Command+End before the four arrows on every sample, fixing their starting position rather than changing the required result.

The earlier rejected attempts named prove-2 and prove-3 in the request were not reused. Their empty-fence and duplicated-text observations are not claimed as proof here.

Surface: web client, Chromium on Linux, 1280 x 800, light theme, local loopback connection. This exercises the composer shared with desktop but does not exercise Windows clipboard delivery or Electron shell behavior.

AI-assisted; verified with the tests and tools listed above.

Final outcome: attempt 3 exited 0 (base failed, head passed). Attempt 4 reran the unchanged final scenario in newly created app checkouts with fresh databases and also exited 0. The repeat head captures were rebuilt and inspected independently of the first successful captures; no captures from the rejected prior round were reused.
