Files
Brent Vatne d6b97331b3 Flows: compare two runs of a flows file checkpoint by checkpoint (compare:flows)
compare:flows --before DIR --after DIR [--output FILE] pairs the checkpoints of two runs by
flow and checkpoint name and diffs each pair with the review's screenshot diff, setting aside
the status bar and home indicator as a review does. Each checkpoint is unchanged, changed
(with the regions that differ), missing (no picture on one side, with why), different-size
(another device or orientation, so not diffed), added or removed.

The runs' conditions that differ (app, platform, device, OS version, locale, orientation,
appearance) are listed rather than refused, so an iPhone run and an Android run still line
up. On a foldable the status bar is not set aside, because a run does not record which panel
was in use; the result says so.

The pairing is a pure function in contracts/flow-comparison.ts; the diff is in
review/flow-comparison.ts. cli now imports review, which ARCHITECTURE lists.
2026-10-24 14:00:39 -07:00
..
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00
2026-10-14 14:10:07 -07:00