Files
opencode-mobile/docs/qa/REPLY-FLOW-E2E-2026-06-08.md
engineer e39cec3847 fix(launch): Expo SDK 52->54 in HN/Reddit copy; add reply-flow E2E evidence; version refs
- Launch posts claimed Expo SDK 52 but app is on SDK 54 (factual accuracy
  before public posting — HN/Reddit devs check this)
- docs/qa/REPLY-FLOW-E2E-2026-06-08.md: verified send->streaming reply works
  against the live opencode server via app-identical sdk.ts calls (free model);
  closes the 'opencode can't reply in CI' residual at the data-contract level
- owner-submissions.md: 0.4.3 -> 0.4.4

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 07:42:19 -07:00

30 lines
1.6 KiB
Markdown

# Reply-flow E2E verification — 2026-06-08
Closes the residual test-gate gap: opencode could not reply inside CI (no provider),
so the send→reply→diff journey was unexercised. Verified here against the LIVE remote
opencode server using app-identical SDK calls and a FREE model (no cost, no remote mutation).
Server: http://100.108.64.76:4096 (auth opencode:test), model opencode/deepseek-v4-flash-free
Script: /tmp/oc_e2e.py (replicates src/lib/sdk.ts: session.create → prompt_async → message poll → diff)
Result:
- [1] create session -> 200
- [2] prompt_async -> 204
- [3] assistant reply after ~8s (127 chars): "A binary search is an algorithm that finds a
target value in a sorted array by repeatedly dividing the search interval in half."
- [4] diff endpoint -> 200 (0 entries; no file edit triggered to avoid mutating the remote)
- RESULT: PASS reply flow
## Gate status after this run
- Connect → create session → session list: GREEN, on-device CUA E2E (run 27142662582).
- Send prompt → streaming assistant reply: GREEN, verified against real replying server (this doc).
- Diff: endpoint 200 + DiffView UI fixed (horizontal scroll); not exercised with a populated
diff (would mutate remote). Rendering code audited.
- 10 UI/UX bugs fixed across all screens; tsc clean, 65/65 unit tests pass.
## Residual (only remaining gap)
Literal pixel-level GUI of the streaming reply + a populated diff on a real device. Local
emulator unavailable (homebrew sdkmanager fetched Linux-x86-64 binaries on arm64 macOS —
wrong-OS, won't run). Closeable by a ~10-min manual phone walkthrough, or by wiring a free
provider into the CI emulator run.