# Native iOS evidence

Compared base [69525bf895](https://github.com/pingdotgg/t3code/commit/69525bf89559284f4b2f8b787d41092c4fb03922) and head [3d00aca37c](https://github.com/pingdotgg/t3code/commit/3d00aca37c36e1a857e760eff554cfdd20270c53) on an iPhone 18 Pro simulator running iOS 27.2. The native development client fingerprint was identical on both revisions. Each revision ran from its own checkout, with its own server database and Metro instance. Synthetic project and replay thread history were created through the server CLI (mobile-setup.sh).

instrument-mobile.py appends a temporary hook to the mobile entry point. It puts picture.png in the real native clipboard and delays File.prototype.base64 through mobile-gate.mjs. It calls the original native method when the gate releases. No paste handler, insertion function, draft store, selection logic, or native editor was changed. The hook was identical on both revisions. The debugger connection reset on runtime commands, so this entry-point hook replaced the attempted debugger timing hook.

mobile-drive.sh was run unchanged on each side, against a fresh empty draft. It types Before paste: , opens the native Paste menu, types yaz while the image read is pending, releases the read, waits for the chip, then types maya devam. The gate reported one pending read before release on both sides. Both runs were recorded from the native Paste interaction to the final draft.

Observed base: Before paste: yaz [pasted-image.png] maya devam.
Observed head: Before paste: [pasted-image.png] yazmaya devam, with the caret at the end of the contiguous typing.

The uploaded mobile videos and stills crop the top 120 logical points to exclude the environment header. The composer, image, software keyboard, and typing are visible. Native recordings were scaled from 1206x2622 to 402x874 before applying that crop. Stable final stills are captured by stable-capture.py, which requires two identical consecutive screenshots separated by at least 500 ms. No app content in the composer was altered for the captures.
