Mobile-only evidence attempt, issue 23860.
Budget: 2026-10-24 11:18:24 UTC through 11:48:24 UTC.
Requested base bb7783e295506ad423f527ed28a019836e331e8c; head ece2bade61b1bea71d30f02c5171299da44e4dd1.
Tracked worktree files were not edited. Root eas.json and empty app.json generated by CLI calls were removed. No PR, push, merge, or public comment.
Mobile source exported via git archive ece2bade61 to /tmp/issue23860-mobile-evidence/source. Only scratch eas.json adds a static simulator profile. All other 1383 mobile files match head byte-for-byte. Base and head change no mobile files.
Server proof was rerun from exported source, switching ONLY the scratch reactor file using git show <base-or-head>:apps/server/src/orchestration-v2/PullRequestSyncReactor.ts. SHA256 files accompany the transcripts. The server processes were restarted between revisions. The first trial from the shared worktree was discarded because the web agent was switching revisions concurrently.
Actual command shape:
node --import=/tmp/issue23860-mobile-evidence/runtime/preload.mjs apps/server/src/bin.ts serve --host 127.0.0.1 --port 19486 --dev-url http://127.0.0.1:9 --base-dir /tmp/issue23860-mobile-evidence/runtime/home --no-browser --log-level error
This is a disposable fixture server, not vp dev or the lead's server. No live T3 home was read or written.
External boundary: preload replaces only github.com/api.github.com fetch with synthetic GraphQL responses. gh executable stub supplies a synthetic token and refuses other calls. Real provider parsing, pull-request service, reactor, orchestrator, event sink, and projections run. No live GitHub recomputation is claimed.
Both fixtures are OPEN, non-draft, same title/branches/author/checks/review/diff stats. Author and avatar URL are synthetic (example.invalid). Static capture snapshots are the exact step-4 persisted title-update event snapshots. They differ only in mergeability and syncedAt: base unknown; head conflicting, while the boundary reports UNKNOWN. The seeder reconstructs one presentation-only thread named Conflict badge fixture (remote-command-center), using the actual snapshot. It is not an event-history replay.
The capture server runs head with fixture UNKNOWN; base snapshot starts unknown, after snapshot starts conflicting. No live timing comparison can be claimed from static captures. Opening each sheet may be recorded, but the server transition disappearance/reappearance timing remains unverified unless separately captured.
Temporary cloudflared quick tunnel forwards only this isolated synthetic fixture server to the EAS native client. Its URL, pairing credentials, EAS connection config and raw build logs remain private. OTA updates disabled; tracing/Clerk/relay values suppressed using whitespace overrides normalized to absent by the app.
No screenshots, recordings, pixel diffs or device rendering environment are established at the time this provenance was written. These require successful native build/install and will be reported separately if captured.
