# Native draft project proof

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

Environment: native iOS development client, pooled iPhone 18 Pro, iOS 27.2,
402 x 874 logical viewport, light appearance. Each side used its own fresh
server database and Metro instance. No prompt was sent and no model ran.
The environment display name was Scenario.

Commits:
- Base: b3fdf2b10fb92e5dbc71a83381c602a8a464bbca
- Head: 1149632ea0937a0be81482f2979e3a519839d54d

Seed each fresh running server with seed-projects.sh, in the order written.
Pair the native client with that server. Disable any previous connection.

Setup, outside the proof recording:
1. Tap New chat and choose Chosen project.
2. Enter Hello!, go Back, reopen its Unsent row, then go Back.
   The base setup also reselected Chosen project before entering text,
   exercising the reported workaround. Both setups ended with one saved
   Hello! draft in Chosen project and Chosen project remembered for new chats.

Recorded reproduction, on both commits:
1. From Chats, tap New chat. The new composer opens directly in the remembered
   Chosen project. Do not open the project picker or reselect the project.
   This is the mount-time initial-project route.
2. Enter Hello! without sending.
3. Tap Back. Inspect the newest Hello! row under Unsent.
4. Reopen that newest row (the upper of the two Hello! rows).
5. Read the project in the composer and the unsent prompt.

Observed base: the composer initially displayed Chosen project; reopening
showed Fallback project and Hello!.
Observed head: both the initial composer and reopened draft displayed
Chosen project, with Hello! retained.

Automation: agent-device record start/stop, press, fill/type, snapshot and
screenshot. The base editor was filled through its accessibility ref. On head,
XCTest omitted the editor until focused, so the same visible editor was tapped
at (145, 810) and typed into. New chat, Back and project choices were driven
through accessibility labels. The upper Unsent row was tapped by its exact
snapshot ref to distinguish the two identical Hello! titles.

Final screenshots on each side were captured twice more than 500 ms apart;
the two PNG SHA-256 hashes matched on each side. Both final stills and both
recordings were visually inspected before upload. Recordings contain the
interaction, not installation, pairing links, or connection settings.

The scenario runner was attempted twice, but base installs exceeded its
30-second device.installApp action timeout both times. This is manual native
proof; scenario assertions are not being offered as evidence.
