Discussion about this post

User's avatar
Raghav Mehta's avatar

The headless CLI is the part I'd steal. Once agents can read app state and trigger actions directly, behavioral checks become assertions on state instead of screenshot parsing, which is much cheaper and less flaky than a computer-use loop. I'm curious how the visual review step worked, though. Was it automated screenshot diffing against the React Native reference, or people comparing by eye? That's the one check the CLI can't cover, and across 300+ screens it seems like where small drift would hide.

Marcus Kim's avatar

Greenfield code still inherits an installed user's data. Alongside Helix's screen checkpoints, I'd keep an upgrade fixture created by the React Native app: saved preferences, an unfinished draft, and a pending background task. Install the native replacement over it and verify those states survive, including an upgrade after the user skipped several releases. A clean-install behavioral pass can miss that boundary completely. This makes the migration's release gate about continuity for existing users, not just parity between two fresh app sessions.

2 more comments...

Ready for more?