mix live_interaction_contracts.compare (live_interaction_contracts v1.0.0)

Copy Markdown View Source

The version-upgrade fuse. Runs the harness against two LiveView versions and reports which browser-native machines changed patch-safety behavior — so an interaction-heavy app can see, before merging a LiveView bump, exactly which delegated machines drifted.

# produce two result sets:
mix live_interaction_contracts.test --suite harness --lv 1.2.5   # writes priv/harness/results.json
cp priv/harness/results.json /tmp/a.json
mix live_interaction_contracts.test --suite harness --lv "github:phoenixframework/phoenix_live_view#main"
cp priv/harness/results.json /tmp/b.json

# diff them:
mix live_interaction_contracts.compare --a /tmp/a.json --b /tmp/b.json

Exits non-zero if any machine's survival changed (a drift is a merge-blocking signal). "No drift" = the observed behavior the contracts rely on is unchanged.