Phase 2 — BLOCKED on adapter-multiplayer-firebase publishing. Must ship in the same change as the adapter swap.
The bug
SEED reads the ?mp_session= query param. That param is generated by the LocalAdapter constructor, which writes it into the URL via history.replaceState — confirmed by reading vendor/adapter-multiplayer-local.js. The Firebase adapter will not produce it.
So after the swap, SEED silently falls through to the literal fallback ("cwg-fullboard" / "hawkins-sequential") for every participant, and every dyad receives an identical trial order. That confounds item order with trial number — precisely the confound the seeding was designed to prevent, per the in-file comments.
This fails with no error and produces valid-looking data. It would be discovered at analysis time, after the money is spent.
Why this invalidates the old "drop-in swap" claim
The header comments used to assert that swapping adapters required no other change to the file. They did not. Also affected: persistParticipant: true is a LocalAdapter-only constructor option. The comments have since been corrected.
Work
See READINESS.md section 1.
Phase 2 — BLOCKED on
adapter-multiplayer-firebasepublishing. Must ship in the same change as the adapter swap.The bug
SEEDreads the?mp_session=query param. That param is generated by the LocalAdapter constructor, which writes it into the URL viahistory.replaceState— confirmed by readingvendor/adapter-multiplayer-local.js. The Firebase adapter will not produce it.So after the swap,
SEEDsilently falls through to the literal fallback ("cwg-fullboard"/"hawkins-sequential") for every participant, and every dyad receives an identical trial order. That confounds item order with trial number — precisely the confound the seeding was designed to prevent, per the in-file comments.This fails with no error and produces valid-looking data. It would be discovered at analysis time, after the money is spent.
Why this invalidates the old "drop-in swap" claim
The header comments used to assert that swapping adapters required no other change to the file. They did not. Also affected:
persistParticipant: trueis a LocalAdapter-only constructor option. The comments have since been corrected.Work
SEEDfrom whatever identifies the dyad on Firebase (the room id). The only requirement is that both partners derive the same value.See
READINESS.mdsection 1.