What problem does it solve? Migrating a page from a legacy app to a new stack risks silent regressions in appearance, API behavior, native bridge calls, and analytics. This Skill runs the final non-behavioral parity gates after E2E testing so a route flip only happens when the migrated page provably matches its legacy counterpart. ## Core Features & Use Cases - Four parity gates: visual regression against the legacy baseline, API contract freeze, WebView bridge round-trip, and telemetry dual-fire parity, each enforced against the plan's gateAcceptance criteria. - Evidence inspection before recording: verifies capture provenance (legacy vs v2 side), requires side-by-side screenshot comparison across spacing, icons, alignment, and typography axes, and rejects scope reductions or self-granted criterion amendments. - Tamper-aware gate accounting: records pass evidence with commit SHA and a tree hash of watch paths, refusing to record a pass if files moved while the gate ran. - Use Case: After migrating a hotel booking page from Angular to React and passing E2E tests, run this gate to confirm the React page visually matches legacy, fires identical analytics events, and honors the frozen API contract before flipping traffic. ## Quick Start Run the parity gate on a migrated page with a command like "run fm-parity for the booking page on the pc app" after it has reached e2e-passed status.