Skip to content

fix(ios): distinct lineage for in-place system-surface captures (verify/settle) #2450

Description

@thymikee

Follow-up to #2438 / #2448.

Purpose. A capture served from a system surface (SafariViewService sheet) must not be comparable to an app-baseline capture, or --verify/--settle could diff a sheet against the app and misreport.

Required behavior. Carry the runner's systemSurface provenance into the iOS snapshot comparisonIdentity/lineage so a system-surface capture and an app capture are never treated as the same presentation. Post-tap corroboration (hasMatchingPresentation) and --settle diffs must refuse to compare across the app↔sheet boundary.

Observable completion. A --settle/--verify around an interaction that crosses into or out of the sheet does not produce a spurious diff; a unit test pins the identity mismatch.

Dependencies. #2448 already threads systemSurface through readAppleSnapshotResult; this wires it into lineage. See Fable rule 5 in the #2448 ADR amendment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions